Re: [PATCH, RFC] v4 scalable classic RCU implementation

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Andrew Morton
Date: Friday, September 5, 2008 - 12:33 pm

On Fri, 5 Sep 2008 08:29:30 -0700
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com> wrote:


The CONFIG_RCU_CPU_STALL identifier seems poorly-chosen to me - it
sounds like it will stall my CPU.  Should it be
CONFIG_RCU_CPU_STALL_DETECTOR?  If it's a debugging option then it
should have _DEBUG in there too.


You forgot

  o	Adds yet another RCU flavour

Having alternative implementations of the same thing is a real cost in
terms of maintainability, supportability, etc, etc.


Using NR_CPUS for anything at all is grossly, grossly inaccurate. 
Vendors can and will ship kernels with NR_CPUS=1024 and their customers
can and will run those kernels on 4-cpu machines.  Lots of customers.

That's a two-and-a-half-order-of-magnitude inaccuracy.  It makes all
your above work meaningless.

To be useful, these decisions should be made at runtime.


So this is a 4096-byte structure on some setups.

How many of them do we expect to be concurrently instantiated?


did they have to be implemented in macros?  (it's generally best to use
C where poss)


static inline void rcu_init_sched(void)
{
}

, IMO


These are massive.  But it seems they'll only ever be used once, in
tick-sched.c so whatever.


s/H/h/ ?


It still surprises me that we don't have include/linux/atomic.h.


I believe we don't need the explicit initialsiation any more.


"called when"?


I don't personally think such fugliness gains us enough.

static void dyntick_record_completed(struct rcu_state *rsp, int comp)
{
}

looks nicer, is consistent and doesn't break vi's ]] command.


I dislike the L's here.  They don't do anything and they have an
encapsulation-violation feeling about them.  Do we really want code
sprinkled all over the palce whcih "knows" spefically which type was
used to implement these fields?  Or do we want to stick a plain old "2"
in there and have it Just Work.


]]
]]


hm, does that work?

akpm:/usr/src/25> grep -r __releases Documentation 
akpm:/usr/src/25> 

lolwesuck.


unneeded \n there


Looks great!  I don't understand a line of it!

It's a pretty big pill to swallow.  Nice performance testing results
will help it to slide down.
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH, RFC, tip/core/rcu] scalable classic RCU implem ..., Paul E. McKenney, (Fri Aug 22, 10:22 am)
Re: [PATCH, RFC, tip/core/rcu] scalable classic RCU implem ..., Paul E. McKenney, (Wed Aug 27, 11:28 am)
Re: [PATCH, RFC, tip/core/rcu] scalable classic RCU implem ..., Paul E. McKenney, (Wed Aug 27, 11:34 am)
Re: [PATCH, RFC, tip/core/rcu] v3 scalable classic RCU imp ..., Paul E. McKenney, (Sat Aug 30, 12:38 pm)
Re: [PATCH, RFC, tip/core/rcu] v3 scalable classic RCU imp ..., Paul E. McKenney, (Sun Aug 31, 10:20 am)
Re: [PATCH, RFC, tip/core/rcu] v3 scalable classic RCU imp ..., Paul E. McKenney, (Sun Aug 31, 10:55 am)
Re: [PATCH, RFC, tip/core/rcu] v3 scalable classic RCU imp ..., Paul E. McKenney, (Sun Aug 31, 12:23 pm)
[PATCH, RFC] v4 scalable classic RCU implementation, Paul E. McKenney, (Fri Sep 5, 8:29 am)
Re: [PATCH, RFC] v4 scalable classic RCU implementation, Andrew Morton, (Fri Sep 5, 12:33 pm)
Re: [PATCH, RFC] v4 scalable classic RCU implementation, Paul E. McKenney, (Fri Sep 5, 4:04 pm)
Re: [PATCH, RFC] v4 scalable classic RCU implementation, Andrew Morton, (Fri Sep 5, 4:52 pm)
Re: [PATCH, RFC] v4 scalable classic RCU implementation, Paul E. McKenney, (Fri Sep 5, 9:16 pm)
Re: [PATCH, RFC] v4 scalable classic RCU implementation, Manfred Spraul, (Sat Sep 6, 9:37 am)
Re: [PATCH, RFC] v4 scalable classic RCU implementation, Paul E. McKenney, (Sun Sep 7, 10:25 am)
Re: [PATCH, RFC] v4 scalable classic RCU implementation, Paul E. McKenney, (Mon Sep 15, 9:02 am)
Re: [PATCH, RFC] v4 scalable classic RCU implementation, Manfred Spraul, (Tue Sep 16, 9:52 am)
Re: [PATCH, RFC] v4 scalable classic RCU implementation, Paul E. McKenney, (Tue Sep 16, 10:30 am)
Re: [PATCH, RFC] v4 scalable classic RCU implementation, Manfred Spraul, (Tue Sep 16, 10:48 am)
Re: [PATCH, RFC] v4 scalable classic RCU implementation, Paul E. McKenney, (Tue Sep 16, 11:22 am)
Re: [PATCH, RFC] v4 scalable classic RCU implementation, Manfred Spraul, (Sun Sep 21, 4:09 am)
Re: [PATCH, RFC] v4 scalable classic RCU implementation, Paul E. McKenney, (Sun Sep 21, 2:14 pm)
[PATCH, RFC] v6 scalable classic RCU implementation, Paul E. McKenney, (Tue Sep 23, 4:53 pm)
Re: [PATCH, RFC] v6 scalable classic RCU implementation, Ingo Molnar, (Thu Sep 25, 12:26 am)
Re: [PATCH, RFC] v6 scalable classic RCU implementation, Ingo Molnar, (Thu Sep 25, 12:29 am)
Re: [PATCH, RFC] v6 scalable classic RCU implementation, Paul E. McKenney, (Thu Sep 25, 7:05 am)
Re: [PATCH, RFC] v6 scalable classic RCU implementation, Paul E. McKenney, (Thu Sep 25, 7:18 am)
[PATCH, RFC] v7 scalable classic RCU implementation, Paul E. McKenney, (Fri Oct 10, 9:09 am)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Manfred Spraul, (Sun Oct 12, 8:52 am)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Paul E. McKenney, (Sun Oct 12, 3:46 pm)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Manfred Spraul, (Mon Oct 13, 11:03 am)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Paul E. McKenney, (Tue Oct 14, 6:11 pm)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Manfred Spraul, (Wed Oct 15, 1:13 am)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Paul E. McKenney, (Wed Oct 15, 8:26 am)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Gautham R Shenoy, (Fri Oct 17, 1:34 am)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Gautham R Shenoy, (Fri Oct 17, 8:35 am)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Paul E. McKenney, (Fri Oct 17, 8:43 am)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Paul E. McKenney, (Fri Oct 17, 8:46 am)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Manfred Spraul, (Wed Oct 22, 11:41 am)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Paul E. McKenney, (Wed Oct 22, 2:02 pm)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Manfred Spraul, (Wed Oct 22, 2:24 pm)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Paul E. McKenney, (Mon Oct 27, 9:45 am)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Manfred Spraul, (Mon Oct 27, 12:48 pm)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Paul E. McKenney, (Mon Oct 27, 4:52 pm)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Manfred Spraul, (Mon Oct 27, 10:30 pm)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Paul E. McKenney, (Tue Oct 28, 8:17 am)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Manfred Spraul, (Tue Oct 28, 10:21 am)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Paul E. McKenney, (Tue Oct 28, 10:35 am)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Manfred Spraul, (Sun Nov 2, 1:10 pm)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Paul E. McKenney, (Mon Nov 3, 1:33 pm)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Manfred Spraul, (Wed Nov 5, 12:48 pm)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Paul E. McKenney, (Wed Nov 5, 2:27 pm)
[PATCH, RFC] v8 scalable classic RCU implementation, Paul E. McKenney, (Sat Nov 15, 4:20 pm)
Re: [PATCH, RFC] v7 scalable classic RCU implementation, Paul E. McKenney, (Mon Dec 8, 11:42 am)