* Do not gather the userspace callstack context when the event was
* triggered by the userspace callstack context saving mechanism.
*/
- cs_user_nesting = per_cpu(callstack_user_nesting, ctx->cpu);
+ cs_user_nesting = per_cpu(callstack_user_nesting, ctx->priv.reserve_cpu);
if (fdata->mode == CALLSTACK_USER && cs_user_nesting >= 1)
return NULL;
* max nesting is checked in lib_ring_buffer_get_cpu().
* Check it again as a safety net.
*/
- cs = per_cpu_ptr(fdata->cs_percpu, ctx->cpu);
- buffer_nesting = per_cpu(lib_ring_buffer_nesting, ctx->cpu) - 1;
+ cs = per_cpu_ptr(fdata->cs_percpu, ctx->priv.reserve_cpu);
+ buffer_nesting = per_cpu(lib_ring_buffer_nesting, ctx->priv.reserve_cpu) - 1;
if (buffer_nesting >= RING_BUFFER_MAX_NESTING)
return NULL;
MAX_ENTRIES, 0);
break;
case CALLSTACK_USER:
- ++per_cpu(callstack_user_nesting, ctx->cpu);
+ ++per_cpu(callstack_user_nesting, ctx->priv.reserve_cpu);
/* do the real work and reserve space */
trace->nr_entries = save_func_user(trace->entries,
MAX_ENTRIES);
- per_cpu(callstack_user_nesting, ctx->cpu)--;
+ per_cpu(callstack_user_nesting, ctx->priv.reserve_cpu)--;
break;
default:
WARN_ON_ONCE(1);