提交 36479484 编写于 作者: A Arnaldo Carvalho de Melo 提交者: Ingo Molnar

perf tools: Introduce zalloc() for the common calloc(1, N) case

This way we type less characters and it looks more like the
kzalloc kernel counterpart.
Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1259071517-3242-3-git-send-email-acme@infradead.org>
Signed-off-by: NIngo Molnar <mingo@elte.hu>
上级 b32d133a
...@@ -127,11 +127,11 @@ int bench_mem_memcpy(int argc, const char **argv, ...@@ -127,11 +127,11 @@ int bench_mem_memcpy(int argc, const char **argv,
return 1; return 1;
} }
dst = calloc(length, sizeof(char)); dst = zalloc(length);
if (!dst) if (!dst)
die("memory allocation failed - maybe length is too large?\n"); die("memory allocation failed - maybe length is too large?\n");
src = calloc(length, sizeof(char)); src = zalloc(length);
if (!src) if (!src)
die("memory allocation failed - maybe length is too large?\n"); die("memory allocation failed - maybe length is too large?\n");
......
...@@ -179,7 +179,7 @@ static void add_man_viewer(const char *name) ...@@ -179,7 +179,7 @@ static void add_man_viewer(const char *name)
while (*p) while (*p)
p = &((*p)->next); p = &((*p)->next);
*p = calloc(1, (sizeof(**p) + len + 1)); *p = zalloc(sizeof(**p) + len + 1);
strncpy((*p)->name, name, len); strncpy((*p)->name, name, len);
} }
...@@ -194,7 +194,7 @@ static void do_add_man_viewer_info(const char *name, ...@@ -194,7 +194,7 @@ static void do_add_man_viewer_info(const char *name,
size_t len, size_t len,
const char *value) const char *value)
{ {
struct man_viewer_info_list *new = calloc(1, sizeof(*new) + len + 1); struct man_viewer_info_list *new = zalloc(sizeof(*new) + len + 1);
strncpy(new->name, name, len); strncpy(new->name, name, len);
new->info = strdup(value); new->info = strdup(value);
......
...@@ -309,9 +309,9 @@ static int synthesize_probe_event(struct probe_point *pp) ...@@ -309,9 +309,9 @@ static int synthesize_probe_event(struct probe_point *pp)
{ {
char *buf; char *buf;
int i, len, ret; int i, len, ret;
pp->probes[0] = buf = (char *)calloc(MAX_CMDLEN, sizeof(char)); pp->probes[0] = buf = zalloc(MAX_CMDLEN);
if (!buf) if (!buf)
die("Failed to allocate memory by calloc."); die("Failed to allocate memory by zalloc.");
ret = snprintf(buf, MAX_CMDLEN, "%s+%d", pp->function, pp->offset); ret = snprintf(buf, MAX_CMDLEN, "%s+%d", pp->function, pp->offset);
if (ret <= 0 || ret >= MAX_CMDLEN) if (ret <= 0 || ret >= MAX_CMDLEN)
goto error; goto error;
......
...@@ -225,7 +225,7 @@ static void calibrate_sleep_measurement_overhead(void) ...@@ -225,7 +225,7 @@ static void calibrate_sleep_measurement_overhead(void)
static struct sched_atom * static struct sched_atom *
get_new_event(struct task_desc *task, u64 timestamp) get_new_event(struct task_desc *task, u64 timestamp)
{ {
struct sched_atom *event = calloc(1, sizeof(*event)); struct sched_atom *event = zalloc(sizeof(*event));
unsigned long idx = task->nr_events; unsigned long idx = task->nr_events;
size_t size; size_t size;
...@@ -293,7 +293,7 @@ add_sched_event_wakeup(struct task_desc *task, u64 timestamp, ...@@ -293,7 +293,7 @@ add_sched_event_wakeup(struct task_desc *task, u64 timestamp,
return; return;
} }
wakee_event->wait_sem = calloc(1, sizeof(*wakee_event->wait_sem)); wakee_event->wait_sem = zalloc(sizeof(*wakee_event->wait_sem));
sem_init(wakee_event->wait_sem, 0, 0); sem_init(wakee_event->wait_sem, 0, 0);
wakee_event->specific_wait = 1; wakee_event->specific_wait = 1;
event->wait_sem = wakee_event->wait_sem; event->wait_sem = wakee_event->wait_sem;
...@@ -323,7 +323,7 @@ static struct task_desc *register_pid(unsigned long pid, const char *comm) ...@@ -323,7 +323,7 @@ static struct task_desc *register_pid(unsigned long pid, const char *comm)
if (task) if (task)
return task; return task;
task = calloc(1, sizeof(*task)); task = zalloc(sizeof(*task));
task->pid = pid; task->pid = pid;
task->nr = nr_tasks; task->nr = nr_tasks;
strcpy(task->comm, comm); strcpy(task->comm, comm);
...@@ -962,9 +962,7 @@ __thread_latency_insert(struct rb_root *root, struct work_atoms *data, ...@@ -962,9 +962,7 @@ __thread_latency_insert(struct rb_root *root, struct work_atoms *data,
static void thread_atoms_insert(struct thread *thread) static void thread_atoms_insert(struct thread *thread)
{ {
struct work_atoms *atoms; struct work_atoms *atoms = zalloc(sizeof(*atoms));
atoms = calloc(sizeof(*atoms), 1);
if (!atoms) if (!atoms)
die("No memory"); die("No memory");
...@@ -996,9 +994,7 @@ add_sched_out_event(struct work_atoms *atoms, ...@@ -996,9 +994,7 @@ add_sched_out_event(struct work_atoms *atoms,
char run_state, char run_state,
u64 timestamp) u64 timestamp)
{ {
struct work_atom *atom; struct work_atom *atom = zalloc(sizeof(*atom));
atom = calloc(sizeof(*atom), 1);
if (!atom) if (!atom)
die("Non memory"); die("Non memory");
......
...@@ -181,7 +181,7 @@ static void parse_source(struct sym_entry *syme) ...@@ -181,7 +181,7 @@ static void parse_source(struct sym_entry *syme)
return; return;
if (syme->src == NULL) { if (syme->src == NULL) {
syme->src = calloc(1, sizeof(*source)); syme->src = zalloc(sizeof(*source));
if (syme->src == NULL) if (syme->src == NULL)
return; return;
pthread_mutex_init(&syme->src->lock, NULL); pthread_mutex_init(&syme->src->lock, NULL);
......
...@@ -63,7 +63,7 @@ int perf_header_attr__add_id(struct perf_header_attr *self, u64 id) ...@@ -63,7 +63,7 @@ int perf_header_attr__add_id(struct perf_header_attr *self, u64 id)
*/ */
struct perf_header *perf_header__new(void) struct perf_header *perf_header__new(void)
{ {
struct perf_header *self = calloc(sizeof(*self), 1); struct perf_header *self = zalloc(sizeof(*self));
if (self != NULL) { if (self != NULL) {
self->size = 1; self->size = 1;
......
...@@ -197,7 +197,7 @@ struct tracepoint_path *tracepoint_id_to_path(u64 config) ...@@ -197,7 +197,7 @@ struct tracepoint_path *tracepoint_id_to_path(u64 config)
if (id == config) { if (id == config) {
closedir(evt_dir); closedir(evt_dir);
closedir(sys_dir); closedir(sys_dir);
path = calloc(1, sizeof(path)); path = zalloc(sizeof(path));
path->system = malloc(MAX_EVENT_LENGTH); path->system = malloc(MAX_EVENT_LENGTH);
if (!path->system) { if (!path->system) {
free(path); free(path);
......
...@@ -94,15 +94,14 @@ static void kernel_maps__fixup_end(void) ...@@ -94,15 +94,14 @@ static void kernel_maps__fixup_end(void)
static struct symbol *symbol__new(u64 start, u64 len, const char *name) static struct symbol *symbol__new(u64 start, u64 len, const char *name)
{ {
size_t namelen = strlen(name) + 1; size_t namelen = strlen(name) + 1;
struct symbol *self = calloc(1, (symbol__priv_size + struct symbol *self = zalloc(symbol__priv_size +
sizeof(*self) + namelen)); sizeof(*self) + namelen);
if (!self) if (self == NULL)
return NULL; return NULL;
if (symbol__priv_size) { if (symbol__priv_size)
memset(self, 0, symbol__priv_size);
self = ((void *)self) + symbol__priv_size; self = ((void *)self) + symbol__priv_size;
}
self->start = start; self->start = start;
self->end = len ? start + len - 1 : start; self->end = len ? start + len - 1 : start;
......
...@@ -11,7 +11,7 @@ static struct thread *last_match; ...@@ -11,7 +11,7 @@ static struct thread *last_match;
static struct thread *thread__new(pid_t pid) static struct thread *thread__new(pid_t pid)
{ {
struct thread *self = calloc(1, sizeof(*self)); struct thread *self = zalloc(sizeof(*self));
if (self != NULL) { if (self != NULL) {
self->pid = pid; self->pid = pid;
......
...@@ -302,6 +302,11 @@ extern int xdup(int fd); ...@@ -302,6 +302,11 @@ extern int xdup(int fd);
extern FILE *xfdopen(int fd, const char *mode); extern FILE *xfdopen(int fd, const char *mode);
extern int xmkstemp(char *template); extern int xmkstemp(char *template);
static inline void *zalloc(size_t size)
{
return calloc(1, size);
}
static inline size_t xsize_t(off_t len) static inline size_t xsize_t(off_t len)
{ {
return (size_t)len; return (size_t)len;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册