lkml.org 
[lkml]   [2008]   [Aug]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 2/2] smp_call_function: use rwlocks on queues rather than rcu

    * Pekka Enberg <penberg@cs.helsinki.fi> wrote:

    > Hi Ingo,
    >
    > On Fri, Aug 22, 2008 at 9:28 AM, Ingo Molnar <mingo@elte.hu> wrote:
    > >
    > > * Jeremy Fitzhardinge <jeremy@goop.org> wrote:
    > >
    > >> RCU can only control the lifetime of allocated memory blocks, which
    > >> forces all the call structures to be allocated. This is expensive
    > >> compared to allocating them on the stack, which is the common case for
    > >> synchronous calls.
    > >>
    > >> This patch takes a different approach. Rather than using RCU, the
    > >> queues are managed under rwlocks. Adding or removing from the queue
    > >> requires holding the lock for writing, but multiple CPUs can walk the
    > >> queues to process function calls under read locks. In the common
    > >> case, where the structures are stack allocated, the calling CPU need
    > >> only wait for its call to be done, take the lock for writing and
    > >> remove the call structure.
    > >>
    > >> Lock contention - particularly write vs read - is reduced by using
    > >> multiple queues.
    > >
    > > hm, is there any authorative data on what is cheaper on a big box, a
    > > full-blown MESI cache miss that occurs for every reader in this new
    > > fastpath, or a local SLAB/SLUB allocation+free that occurs with the
    > > current RCU approach?
    >
    > Christoph might have an idea about it.

    ... thought of that missing Cc: line entry exactly 1.3 seconds after
    having sent the mail :)

    Christoph, any preferences/suggestions?

    Ingo


    \
     
     \ /
      Last update: 2008-08-22 09:15    [W:0.023 / U:0.956 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site