Re: [patch 00/18] CFS Bandwidth Control v7.2

Paul E. McKenney
2011-07-25T16:46:25Z

On Mon, Jul 25, 2011 at 06:28:31PM +0200, Peter Zijlstra wrote:
> On Mon, 2011-07-25 at 09:21 -0700, Paul E. McKenney wrote:
> > On Mon, Jul 25, 2011 at 05:00:41PM +0200, Peter Zijlstra wrote:
> > > On Mon, 2011-07-25 at 16:58 +0200, Peter Zijlstra wrote:
> > > > + rcu_read_lock();
> > > > + ret = walk_tg_tree_from(tg, tg_set_cfs_period_down, NULL, &period);
> > > > + rcu_read_unlock();
> > >
> > > rcu over a mutex doesn't really work in mainline, bah..
> >
> > SRCU can handle that situation, FWIW. But yes, blocking in an RCU
> > read-side critical section is a no-no.
>
> Yeah, I know, but didn't notice until after I sent.. SRCU isn't useful
> though, way too slow due to lacking srcu_call().

Good point. How frequently would a call_srcu() be invoked?

In other words, would a really crude hack involving a globally locked
per-srcu_struct callback list and a per-srcu_struct kernel thread be
helpful, or would a slightly less-crude hack involving a per-CPU callback
list be required?

Thanx, Paul