lkml.org 
[lkml]   [2012]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH 5/6] implement per-cpu&per-domain state machine call_srcu()
On Tue, Mar 06, 2012 at 04:34:53PM +0100, Peter Zijlstra wrote:
> On Tue, 2012-03-06 at 23:12 +0800, Lai Jiangshan wrote:
> > On Tue, Mar 6, 2012 at 7:16 PM, Peter Zijlstra <peterz@infradead.org> wrote:
> > > On Tue, 2012-03-06 at 17:57 +0800, Lai Jiangshan wrote:
> > >> srcu_head is bigger, it is worth, it provides more ability and simplify
> > >> the srcu code.
> > >
> > > Dubious claim.. memory footprint of various data structures is deemed
> > > important. rcu_head is 16 bytes, srcu_head is 32 bytes. I think it would
> > > be real nice not to have two different callback structures and not grow
> > > them as large.
> >
> > CC: tj@kernel.org
> > It could be better if workqueue also supports 2*sizeof(long) work callbacks.
>
> That's going to be very painful if at all possible.
>
> > I prefer ability/functionality a little more, it eases the caller's pain.
> > preemptible callbacks also eases the pressure of the whole system.
> > But I'm also ok if we limit the srcu-callbacks in softirq.
>
> You don't have to use softirq, you could run a complete list from a
> single worklet. Just keep the single linked rcu_head list and enqueue a
> static (per-cpu) worker to process the entire list.

I like the idea of SRCU using rcu_head. I am a little concerned about
what happens when there are lots of SRCU callbacks, but am willing to
wait to solve those problems until the situation arises.

But I guess I should ask... Peter, what do you expect the maximum
call_srcu() rate to be in your use cases? If tens of thousands are
possible, some adjustments will be needed.

Thanx, Paul



\
 
 \ /
  Last update: 2012-03-09 17:03    [W:0.163 / U:0.716 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site