lkml.org 
[lkml]   [2013]   [Nov]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 10/13] tracing/uprobes: Fetch args before reserving a ring buffer
    On 11/01, Oleg Nesterov wrote:
    >
    > 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.

    Ah, please ignore... handler_chain() is not self-serialized, so
    tu->buffer needs locking/waiting too.

    Oleg.



    \
     
     \ /
      Last update: 2013-11-01 16:41    [W:2.384 / U:0.100 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site