Messages in this thread |  | | Date | Fri, 1 Nov 2013 16:09:10 +0100 | From | Oleg Nesterov <> | Subject | Re: [PATCH 10/13] tracing/uprobes: Fetch args before reserving a ring buffer |
| |
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.
|  |