Re: [PATCH 10/13] tracing/uprobes: Fetch args before reserving aring buffer

From: Oleg Nesterov
Date: Fri Nov 01 2013 - 11:09:56 EST


Hi Namhyung,

Sorry if this was already discussed. But I can't really understand
the idea of this per-cpu buffer...

On 10/29, Namhyung Kim wrote:
>
> Fetching from user space should be done in a non-atomic context. So
> use a per-cpu buffer and copy its content to the ring buffer
> atomically. Note that we can migrate during accessing user memory
> thus use a per-cpu mutex to protect concurrent accesses.

And if the task migrates or just sleeps in page fault, another task
which hits another uprobe on the same CPU should wait.

Why we can't simply add trace_uprobe->buffer instead? Only to save
some memory? But every uprobe is very expensive in this sense anyway.

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/