lkml.org 
[lkml]   [2009]   [Oct]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectKernel RCU: shrink the size of the struct rcu_head
    Hi Paul,

    I noticed that you already discussed the possibility of shrinking the
    struct rcu_head by removing the function pointer.
    (http://kernel.org/pub/linux/kernel/people/paulmck/rcutodo.html)

    The ideas brought in so far require having per-callback lists, which
    involves a bit of management overhead and don't permit keeping the
    call_rcu() in cpu order.

    You might want to look into the Userspace RCU urcu-defer.c
    implementation, where I perform pointer encoding to compact the usual
    case, expected to be the same callback passed as parameter multiple
    times in a row to call_rcu(). This is very typical with multiple free()
    calls for different data structures next to each other.

    This typically keeps the size of the information to encode per callback
    down to a minimum: the size of a single pointer. It would be good to
    trace the kernel usage of call_rcu() to see if my assumption holds.

    I just thought I should tell you before you start looking at this
    issue further.

    Thanks,

    Mathieu

    --
    Mathieu Desnoyers
    OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68


    \
     
     \ /
      Last update: 2009-10-19 01:31    [W:0.021 / U:94.328 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site