diff options
author | Jeff Mahoney <jeffm@suse.com> | 2021-10-21 10:16:19 -0400 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-10-21 08:45:16 -0600 |
commit | ac416ab67cd7add0089c3bc668427e6b909eb59e (patch) | |
tree | f38e155dbf743ebab22dfbac4ddeb037789b3480 | |
parent | 3a1b1366d30375cdb0f5b299df4edda0c8ba3bcc (diff) | |
download | blktrace-ac416ab67cd7add0089c3bc668427e6b909eb59e.tar.gz |
blkparse: skip check_cpu_map with pipe input
When we're using pipe input, we don't track online CPUs and don't have a
cpu_map. When we start to show entries, check_sequence will be invoked.
If the first entry isn't sequence 1 (perhaps it's been dropped?), we'll
proceed to check_cpu_map. Since we haven't tracked online CPUs,
pdi->cpu_map_max will be 0 and we'll do a malloc(0). Then we'll start
setting bits corresponding to CPU numbers in memory we don't own. Since
there's nothing to check here, let's skip it on pipe input.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | blkparse.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -2229,6 +2229,10 @@ static int check_cpu_map(struct per_dev_info *pdi) unsigned int i; int ret, cpu; + /* Pipe input doesn't do CPU online tracking. */ + if (!pdi->cpu_map_max) + return 0; + /* * create a map of the cpus we have traces for */ |