Re: [PATCH net-next 1/3] perf: generalize perf_callchain

From: Peter Zijlstra
Date: Thu Feb 25 2016 - 11:47:39 EST


On Wed, Feb 17, 2016 at 07:58:57PM -0800, Alexei Starovoitov wrote:
> +static inline int perf_callchain_store(struct perf_callchain_entry *entry, u64 ip)
> {
> + if (entry->nr < PERF_MAX_STACK_DEPTH) {
> entry->ip[entry->nr++] = ip;
> + return 0;
> + } else {
> + return -1; /* no more room, stop walking the stack */
> + }
> }

Why 0 and -1 ?

What's wrong with something like:

static inline bool perf_callchain_store(struct perf_callchain_entry *entry, u64 ip)
{
if (entry->nr < PERF_MAX_STACK_DEPTH) {
entry->ip[entry->nr++] = ip;
return true;
}
return false;
}