mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
perf timechart: Add create_pidcomm helper
Wrap repeated code combined with alloc of per_pidcomm in helper function create_pidcomm. Signed-off-by: Shang XiaoJing <shangxiaojing@huawei.com> Acked-by: Namhyung Kim <namhyung@kernel.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20220908021141.27134-4-shangxiaojing@huawei.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
0f405f878b
commit
569c746b8a
@ -215,6 +215,19 @@ static struct per_pid *find_create_pid(struct timechart *tchart, int pid)
|
||||
return cursor;
|
||||
}
|
||||
|
||||
static struct per_pidcomm *create_pidcomm(struct per_pid *p)
|
||||
{
|
||||
struct per_pidcomm *c;
|
||||
|
||||
c = zalloc(sizeof(*c));
|
||||
if (!c)
|
||||
return NULL;
|
||||
p->current = c;
|
||||
c->next = p->all;
|
||||
p->all = c;
|
||||
return c;
|
||||
}
|
||||
|
||||
static void pid_set_comm(struct timechart *tchart, int pid, char *comm)
|
||||
{
|
||||
struct per_pid *p;
|
||||
@ -233,12 +246,9 @@ static void pid_set_comm(struct timechart *tchart, int pid, char *comm)
|
||||
}
|
||||
c = c->next;
|
||||
}
|
||||
c = zalloc(sizeof(*c));
|
||||
c = create_pidcomm(p);
|
||||
assert(c != NULL);
|
||||
c->comm = strdup(comm);
|
||||
p->current = c;
|
||||
c->next = p->all;
|
||||
p->all = c;
|
||||
}
|
||||
|
||||
static void pid_fork(struct timechart *tchart, int pid, int ppid, u64 timestamp)
|
||||
@ -277,11 +287,8 @@ static void pid_put_sample(struct timechart *tchart, int pid, int type,
|
||||
p = find_create_pid(tchart, pid);
|
||||
c = p->current;
|
||||
if (!c) {
|
||||
c = zalloc(sizeof(*c));
|
||||
c = create_pidcomm(p);
|
||||
assert(c != NULL);
|
||||
p->current = c;
|
||||
c->next = p->all;
|
||||
p->all = c;
|
||||
}
|
||||
|
||||
sample = zalloc(sizeof(*sample));
|
||||
@ -726,12 +733,9 @@ static int pid_begin_io_sample(struct timechart *tchart, int pid, int type,
|
||||
struct io_sample *prev;
|
||||
|
||||
if (!c) {
|
||||
c = zalloc(sizeof(*c));
|
||||
c = create_pidcomm(p);
|
||||
if (!c)
|
||||
return -ENOMEM;
|
||||
p->current = c;
|
||||
c->next = p->all;
|
||||
p->all = c;
|
||||
}
|
||||
|
||||
prev = c->io_samples;
|
||||
|
Loading…
Reference in New Issue
Block a user