All of lore.kernel.org
 help / color / mirror / Atom feed
* Does anyone use CONFIG_TINY_PREEMPT_RCU?
@ 2012-11-13  0:49 Paul E. McKenney
  2012-11-13  1:12 ` Frederic Weisbecker
                   ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: Paul E. McKenney @ 2012-11-13  0:49 UTC (permalink / raw)
  To: linux-kernel, linux-rt-users
  Cc: mingo, laijs, dipankar, akpm, mathieu.desnoyers, josh, niv, tglx,
	peterz, rostedt, Valdis.Kletnieks, dhowells, edumazet, darren,
	fweisbec, sbw, patches

Hello!

I know of people using TINY_RCU, TREE_RCU, and TREE_PREEMPT_RCU, but I
have not heard of anyone using TINY_PREEMPT_RCU for whom TREE_PREEMPT_RCU
was not a viable option (in contrast, the people running Linux on
tiny-memmory systems typically use TINY_RCU).  Of course, if no one
really needs it, the proper thing to do is to remove it.

So, if you need TINY_PREEMPT_RCU, please let me know.  Otherwise, I will
remove it, probably in the 3.9 timeframe.

							Thanx, Paul


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-13  0:49 Does anyone use CONFIG_TINY_PREEMPT_RCU? Paul E. McKenney
@ 2012-11-13  1:12 ` Frederic Weisbecker
  2012-11-13  1:17   ` Josh Triplett
  2012-11-13  1:32   ` Paul E. McKenney
  2012-11-13 14:46 ` Nick Bowler
  2012-11-13 20:22 ` Tim Sander
  2 siblings, 2 replies; 21+ messages in thread
From: Frederic Weisbecker @ 2012-11-13  1:12 UTC (permalink / raw)
  To: paulmck
  Cc: linux-kernel, linux-rt-users, mingo, laijs, dipankar, akpm,
	mathieu.desnoyers, josh, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, sbw, patches

2012/11/13 Paul E. McKenney <paulmck@linux.vnet.ibm.com>:
> Hello!
>
> I know of people using TINY_RCU, TREE_RCU, and TREE_PREEMPT_RCU, but I
> have not heard of anyone using TINY_PREEMPT_RCU for whom TREE_PREEMPT_RCU
> was not a viable option (in contrast, the people running Linux on
> tiny-memmory systems typically use TINY_RCU).  Of course, if no one
> really needs it, the proper thing to do is to remove it.
>
> So, if you need TINY_PREEMPT_RCU, please let me know.  Otherwise, I will
> remove it, probably in the 3.9 timeframe.

I don't use it personally but if you remove it, does that mean that
RCU couldn't be preemptible on UP?

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-13  1:12 ` Frederic Weisbecker
@ 2012-11-13  1:17   ` Josh Triplett
  2012-11-13  1:34     ` Frederic Weisbecker
  2012-11-13  1:32   ` Paul E. McKenney
  1 sibling, 1 reply; 21+ messages in thread
From: Josh Triplett @ 2012-11-13  1:17 UTC (permalink / raw)
  To: Frederic Weisbecker
  Cc: paulmck, linux-kernel, linux-rt-users, mingo, laijs, dipankar,
	akpm, mathieu.desnoyers, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, sbw, patches

On Tue, Nov 13, 2012 at 02:12:27AM +0100, Frederic Weisbecker wrote:
> 2012/11/13 Paul E. McKenney <paulmck@linux.vnet.ibm.com>:
> > Hello!
> >
> > I know of people using TINY_RCU, TREE_RCU, and TREE_PREEMPT_RCU, but I
> > have not heard of anyone using TINY_PREEMPT_RCU for whom TREE_PREEMPT_RCU
> > was not a viable option (in contrast, the people running Linux on
> > tiny-memmory systems typically use TINY_RCU).  Of course, if no one
> > really needs it, the proper thing to do is to remove it.
> >
> > So, if you need TINY_PREEMPT_RCU, please let me know.  Otherwise, I will
> > remove it, probably in the 3.9 timeframe.
> 
> I don't use it personally but if you remove it, does that mean that
> RCU couldn't be preemptible on UP?

No, it would mean that on UP you could choose between TINY_RCU and
TREE_PREEMPT_RCU, depending on whether you want tiny or preemptible.

- Josh Triplett

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-13  1:12 ` Frederic Weisbecker
  2012-11-13  1:17   ` Josh Triplett
@ 2012-11-13  1:32   ` Paul E. McKenney
  1 sibling, 0 replies; 21+ messages in thread
From: Paul E. McKenney @ 2012-11-13  1:32 UTC (permalink / raw)
  To: Frederic Weisbecker
  Cc: linux-kernel, linux-rt-users, mingo, laijs, dipankar, akpm,
	mathieu.desnoyers, josh, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, sbw, patches

On Tue, Nov 13, 2012 at 02:12:27AM +0100, Frederic Weisbecker wrote:
> 2012/11/13 Paul E. McKenney <paulmck@linux.vnet.ibm.com>:
> > Hello!
> >
> > I know of people using TINY_RCU, TREE_RCU, and TREE_PREEMPT_RCU, but I
> > have not heard of anyone using TINY_PREEMPT_RCU for whom TREE_PREEMPT_RCU
> > was not a viable option (in contrast, the people running Linux on
> > tiny-memmory systems typically use TINY_RCU).  Of course, if no one
> > really needs it, the proper thing to do is to remove it.
> >
> > So, if you need TINY_PREEMPT_RCU, please let me know.  Otherwise, I will
> > remove it, probably in the 3.9 timeframe.
> 
> I don't use it personally but if you remove it, does that mean that
> RCU couldn't be preemptible on UP?

It would mean that a kernel built with SMP=n and PREEMPT=y would use
TREE_PREEMPT_RCU rather than the current TINY_PREEMPT_RCU.  So it would
work just as well, but use somewhat more memory.

							Thanx, Paul


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-13  1:17   ` Josh Triplett
@ 2012-11-13  1:34     ` Frederic Weisbecker
  2012-11-13  1:42       ` Paul E. McKenney
  0 siblings, 1 reply; 21+ messages in thread
From: Frederic Weisbecker @ 2012-11-13  1:34 UTC (permalink / raw)
  To: Josh Triplett
  Cc: paulmck, linux-kernel, linux-rt-users, mingo, laijs, dipankar,
	akpm, mathieu.desnoyers, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, sbw, patches

2012/11/13 Josh Triplett <josh@joshtriplett.org>:
> On Tue, Nov 13, 2012 at 02:12:27AM +0100, Frederic Weisbecker wrote:
>> 2012/11/13 Paul E. McKenney <paulmck@linux.vnet.ibm.com>:
>> > Hello!
>> >
>> > I know of people using TINY_RCU, TREE_RCU, and TREE_PREEMPT_RCU, but I
>> > have not heard of anyone using TINY_PREEMPT_RCU for whom TREE_PREEMPT_RCU
>> > was not a viable option (in contrast, the people running Linux on
>> > tiny-memmory systems typically use TINY_RCU).  Of course, if no one
>> > really needs it, the proper thing to do is to remove it.
>> >
>> > So, if you need TINY_PREEMPT_RCU, please let me know.  Otherwise, I will
>> > remove it, probably in the 3.9 timeframe.
>>
>> I don't use it personally but if you remove it, does that mean that
>> RCU couldn't be preemptible on UP?
>
> No, it would mean that on UP you could choose between TINY_RCU and
> TREE_PREEMPT_RCU, depending on whether you want tiny or preemptible.

Ok. I thought the TREE version wasn't possible anymore on UP when I
saw some patches that removed optimizations for nr_online_cpus=1.
Hence the confusion.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-13  1:34     ` Frederic Weisbecker
@ 2012-11-13  1:42       ` Paul E. McKenney
  0 siblings, 0 replies; 21+ messages in thread
From: Paul E. McKenney @ 2012-11-13  1:42 UTC (permalink / raw)
  To: Frederic Weisbecker
  Cc: Josh Triplett, linux-kernel, linux-rt-users, mingo, laijs,
	dipankar, akpm, mathieu.desnoyers, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, sbw, patches

On Tue, Nov 13, 2012 at 02:34:06AM +0100, Frederic Weisbecker wrote:
> 2012/11/13 Josh Triplett <josh@joshtriplett.org>:
> > On Tue, Nov 13, 2012 at 02:12:27AM +0100, Frederic Weisbecker wrote:
> >> 2012/11/13 Paul E. McKenney <paulmck@linux.vnet.ibm.com>:
> >> > Hello!
> >> >
> >> > I know of people using TINY_RCU, TREE_RCU, and TREE_PREEMPT_RCU, but I
> >> > have not heard of anyone using TINY_PREEMPT_RCU for whom TREE_PREEMPT_RCU
> >> > was not a viable option (in contrast, the people running Linux on
> >> > tiny-memmory systems typically use TINY_RCU).  Of course, if no one
> >> > really needs it, the proper thing to do is to remove it.
> >> >
> >> > So, if you need TINY_PREEMPT_RCU, please let me know.  Otherwise, I will
> >> > remove it, probably in the 3.9 timeframe.
> >>
> >> I don't use it personally but if you remove it, does that mean that
> >> RCU couldn't be preemptible on UP?
> >
> > No, it would mean that on UP you could choose between TINY_RCU and
> > TREE_PREEMPT_RCU, depending on whether you want tiny or preemptible.
> 
> Ok. I thought the TREE version wasn't possible anymore on UP when I
> saw some patches that removed optimizations for nr_online_cpus=1.
> Hence the confusion.

Those optimizations are not critically important.  That said, yes, I will
need to restart testing of TREE_PREEMPT_RCU on !SMP kernels.

							Thanx, Paul


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-13  0:49 Does anyone use CONFIG_TINY_PREEMPT_RCU? Paul E. McKenney
  2012-11-13  1:12 ` Frederic Weisbecker
@ 2012-11-13 14:46 ` Nick Bowler
  2012-11-13 17:08   ` Paul E. McKenney
  2012-11-13 20:22 ` Tim Sander
  2 siblings, 1 reply; 21+ messages in thread
From: Nick Bowler @ 2012-11-13 14:46 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: linux-kernel, linux-rt-users, mingo, laijs, dipankar, akpm,
	mathieu.desnoyers, josh, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, fweisbec, sbw,
	patches

On 2012-11-12 16:49 -0800, Paul E. McKenney wrote:
> Hello!
> 
> I know of people using TINY_RCU, TREE_RCU, and TREE_PREEMPT_RCU, but I
> have not heard of anyone using TINY_PREEMPT_RCU for whom TREE_PREEMPT_RCU
> was not a viable option (in contrast, the people running Linux on
> tiny-memmory systems typically use TINY_RCU).  Of course, if no one
> really needs it, the proper thing to do is to remove it.
> 
> So, if you need TINY_PREEMPT_RCU, please let me know.  Otherwise, I will
> remove it, probably in the 3.9 timeframe.

Yes, I use TINY_PREEMPT_RCU on my UP machines.  It is, in fact, the only
option.

Cheers,
-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-13 14:46 ` Nick Bowler
@ 2012-11-13 17:08   ` Paul E. McKenney
  2012-11-13 17:56     ` Nick Bowler
  0 siblings, 1 reply; 21+ messages in thread
From: Paul E. McKenney @ 2012-11-13 17:08 UTC (permalink / raw)
  To: Nick Bowler
  Cc: linux-kernel, linux-rt-users, mingo, laijs, dipankar, akpm,
	mathieu.desnoyers, josh, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, fweisbec, sbw,
	patches

On Tue, Nov 13, 2012 at 09:46:20AM -0500, Nick Bowler wrote:
> On 2012-11-12 16:49 -0800, Paul E. McKenney wrote:
> > Hello!
> > 
> > I know of people using TINY_RCU, TREE_RCU, and TREE_PREEMPT_RCU, but I
> > have not heard of anyone using TINY_PREEMPT_RCU for whom TREE_PREEMPT_RCU
> > was not a viable option (in contrast, the people running Linux on
> > tiny-memmory systems typically use TINY_RCU).  Of course, if no one
> > really needs it, the proper thing to do is to remove it.
> > 
> > So, if you need TINY_PREEMPT_RCU, please let me know.  Otherwise, I will
> > remove it, probably in the 3.9 timeframe.
> 
> Yes, I use TINY_PREEMPT_RCU on my UP machines.  It is, in fact, the only
> option.

Suppose that TREE_PREEMPT_RCU was available for !SMP && PREEMPT builds.
Would that work for you?

							Thanx, Paul


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-13 17:08   ` Paul E. McKenney
@ 2012-11-13 17:56     ` Nick Bowler
  2012-11-13 21:19       ` Paul E. McKenney
  0 siblings, 1 reply; 21+ messages in thread
From: Nick Bowler @ 2012-11-13 17:56 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: linux-kernel, linux-rt-users, mingo, laijs, dipankar, akpm,
	mathieu.desnoyers, josh, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, fweisbec, sbw,
	patches

On 2012-11-13 09:08 -0800, Paul E. McKenney wrote:
> On Tue, Nov 13, 2012 at 09:46:20AM -0500, Nick Bowler wrote:
> > On 2012-11-12 16:49 -0800, Paul E. McKenney wrote:
> > > Hello!
> > > 
> > > I know of people using TINY_RCU, TREE_RCU, and TREE_PREEMPT_RCU, but I
> > > have not heard of anyone using TINY_PREEMPT_RCU for whom TREE_PREEMPT_RCU
> > > was not a viable option (in contrast, the people running Linux on
> > > tiny-memmory systems typically use TINY_RCU).  Of course, if no one
> > > really needs it, the proper thing to do is to remove it.
> > > 
> > > So, if you need TINY_PREEMPT_RCU, please let me know.  Otherwise, I will
> > > remove it, probably in the 3.9 timeframe.
> > 
> > Yes, I use TINY_PREEMPT_RCU on my UP machines.  It is, in fact, the only
> > option.
> 
> Suppose that TREE_PREEMPT_RCU was available for !SMP && PREEMPT builds.
> Would that work for you?

To be honest I don't really know what the difference is, other than what
the help text says, which is:

  [TINY_PREEMPT_RCU] greatly reduces the memory footprint of RCU.
  
"Greatly reduced memory footprint" sounds pretty useful...

As a side note, I wonder why any of these RCU implementations are
user-seclectable options in the first place?  It looks like you will
only ever have one choice, since the dependencies all seem mutually
exclusive:

  TREE_RCU         depends on !PREEMPT &&  SMP
  TREE_PREEMPT_RCU depends on  PREEMPT &&  SMP
  TINY_RCU         depends on !PREEMPT && !SMP
  TINY_PREEMPT_RCU depends on  PREEMPT && !SMP

Cheers,
-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-13  0:49 Does anyone use CONFIG_TINY_PREEMPT_RCU? Paul E. McKenney
  2012-11-13  1:12 ` Frederic Weisbecker
  2012-11-13 14:46 ` Nick Bowler
@ 2012-11-13 20:22 ` Tim Sander
  2012-11-13 21:20   ` Paul E. McKenney
  2 siblings, 1 reply; 21+ messages in thread
From: Tim Sander @ 2012-11-13 20:22 UTC (permalink / raw)
  To: paulmck
  Cc: linux-kernel, linux-rt-users, mingo, laijs, dipankar, akpm,
	mathieu.desnoyers, josh, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, fweisbec, sbw,
	patches

Hi Paul
> I know of people using TINY_RCU, TREE_RCU, and TREE_PREEMPT_RCU, but I
> have not heard of anyone using TINY_PREEMPT_RCU for whom TREE_PREEMPT_RCU
> was not a viable option (in contrast, the people running Linux on
> tiny-memmory systems typically use TINY_RCU).  Of course, if no one
> really needs it, the proper thing to do is to remove it.
> 
> So, if you need TINY_PREEMPT_RCU, please let me know.  Otherwise, I will
> remove it, probably in the 3.9 timeframe.
I am using TINY_PREEMPT_RCU on the i.mx35 platform. I am currently on 3.4-rt 
since the 3.6 compile failed due to for my config? Some strange device tree 
stuff which i haven't had the time to figure out why.

Best regards
Tim

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-13 17:56     ` Nick Bowler
@ 2012-11-13 21:19       ` Paul E. McKenney
  2012-11-13 21:47         ` Nick Bowler
  0 siblings, 1 reply; 21+ messages in thread
From: Paul E. McKenney @ 2012-11-13 21:19 UTC (permalink / raw)
  To: Nick Bowler
  Cc: linux-kernel, linux-rt-users, mingo, laijs, dipankar, akpm,
	mathieu.desnoyers, josh, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, fweisbec, sbw,
	patches

On Tue, Nov 13, 2012 at 12:56:54PM -0500, Nick Bowler wrote:
> On 2012-11-13 09:08 -0800, Paul E. McKenney wrote:
> > On Tue, Nov 13, 2012 at 09:46:20AM -0500, Nick Bowler wrote:
> > > On 2012-11-12 16:49 -0800, Paul E. McKenney wrote:
> > > > Hello!
> > > > 
> > > > I know of people using TINY_RCU, TREE_RCU, and TREE_PREEMPT_RCU, but I
> > > > have not heard of anyone using TINY_PREEMPT_RCU for whom TREE_PREEMPT_RCU
> > > > was not a viable option (in contrast, the people running Linux on
> > > > tiny-memmory systems typically use TINY_RCU).  Of course, if no one
> > > > really needs it, the proper thing to do is to remove it.
> > > > 
> > > > So, if you need TINY_PREEMPT_RCU, please let me know.  Otherwise, I will
> > > > remove it, probably in the 3.9 timeframe.
> > > 
> > > Yes, I use TINY_PREEMPT_RCU on my UP machines.  It is, in fact, the only
> > > option.
> > 
> > Suppose that TREE_PREEMPT_RCU was available for !SMP && PREEMPT builds.
> > Would that work for you?
> 
> To be honest I don't really know what the difference is, other than what
> the help text says, which is:
> 
>   [TINY_PREEMPT_RCU] greatly reduces the memory footprint of RCU.
>   
> "Greatly reduced memory footprint" sounds pretty useful...

OK, so from your viewpoint, the only possible benefit is smaller
memory?  How much memory does your device have, if I may ask?

> As a side note, I wonder why any of these RCU implementations are
> user-seclectable options in the first place?  It looks like you will
> only ever have one choice, since the dependencies all seem mutually
> exclusive:
> 
>   TREE_RCU         depends on !PREEMPT &&  SMP
>   TREE_PREEMPT_RCU depends on  PREEMPT &&  SMP
>   TINY_RCU         depends on !PREEMPT && !SMP
>   TINY_PREEMPT_RCU depends on  PREEMPT && !SMP

Inertia on my part.  ;-)

							Thanx, Paul


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-13 20:22 ` Tim Sander
@ 2012-11-13 21:20   ` Paul E. McKenney
  2012-11-13 23:32     ` Tim Sander
  0 siblings, 1 reply; 21+ messages in thread
From: Paul E. McKenney @ 2012-11-13 21:20 UTC (permalink / raw)
  To: Tim Sander
  Cc: linux-kernel, linux-rt-users, mingo, laijs, dipankar, akpm,
	mathieu.desnoyers, josh, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, fweisbec, sbw,
	patches

On Tue, Nov 13, 2012 at 09:22:29PM +0100, Tim Sander wrote:
> Hi Paul
> > I know of people using TINY_RCU, TREE_RCU, and TREE_PREEMPT_RCU, but I
> > have not heard of anyone using TINY_PREEMPT_RCU for whom TREE_PREEMPT_RCU
> > was not a viable option (in contrast, the people running Linux on
> > tiny-memmory systems typically use TINY_RCU).  Of course, if no one
> > really needs it, the proper thing to do is to remove it.
> > 
> > So, if you need TINY_PREEMPT_RCU, please let me know.  Otherwise, I will
> > remove it, probably in the 3.9 timeframe.
> I am using TINY_PREEMPT_RCU on the i.mx35 platform. I am currently on 3.4-rt 
> since the 3.6 compile failed due to for my config? Some strange device tree 
> stuff which i haven't had the time to figure out why.

OK, how much memory does your device have?

							Thanx, Paul


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-13 21:19       ` Paul E. McKenney
@ 2012-11-13 21:47         ` Nick Bowler
  2012-11-13 22:25           ` Paul E. McKenney
  0 siblings, 1 reply; 21+ messages in thread
From: Nick Bowler @ 2012-11-13 21:47 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: linux-kernel, linux-rt-users, mingo, laijs, dipankar, akpm,
	mathieu.desnoyers, josh, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, fweisbec, sbw,
	patches

On 2012-11-13 13:19 -0800, Paul E. McKenney wrote:
> On Tue, Nov 13, 2012 at 12:56:54PM -0500, Nick Bowler wrote:
> > On 2012-11-13 09:08 -0800, Paul E. McKenney wrote:
> > > Suppose that TREE_PREEMPT_RCU was available for !SMP && PREEMPT builds.
> > > Would that work for you?
> > 
> > To be honest I don't really know what the difference is, other than what
> > the help text says, which is:
> > 
> >   [TINY_PREEMPT_RCU] greatly reduces the memory footprint of RCU.
> >   
> > "Greatly reduced memory footprint" sounds pretty useful...
> 
> OK, so from your viewpoint, the only possible benefit is smaller
> memory?

Well, I have no idea.  If I was given the choice between TREE_PREEMPT_RCU
and TINY_PREEMPT_RCU, absent any information not in the description of
these options, I would choose TINY.  The description suggests that the
memory savings come at the expense of SMP support, which sounds like a
great tradeoff to make for a UP system.

> How much memory does your device have, if I may ask?

It's a (pretty old!) desktop.  I recently had to upgrade it to two
gigabytes due to unbearable thrashing with only one...

Cheers,
-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-13 21:47         ` Nick Bowler
@ 2012-11-13 22:25           ` Paul E. McKenney
  2012-11-13 22:40             ` Nick Bowler
       [not found]             ` <CAGChsmOBB1yFNP5xSa06v+CYn0A=AjcZTyAzL8npWRdNYYLBZA@mail.gmail.com>
  0 siblings, 2 replies; 21+ messages in thread
From: Paul E. McKenney @ 2012-11-13 22:25 UTC (permalink / raw)
  To: Nick Bowler
  Cc: linux-kernel, linux-rt-users, mingo, laijs, dipankar, akpm,
	mathieu.desnoyers, josh, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, fweisbec, sbw,
	patches

On Tue, Nov 13, 2012 at 04:47:20PM -0500, Nick Bowler wrote:
> On 2012-11-13 13:19 -0800, Paul E. McKenney wrote:
> > On Tue, Nov 13, 2012 at 12:56:54PM -0500, Nick Bowler wrote:
> > > On 2012-11-13 09:08 -0800, Paul E. McKenney wrote:
> > > > Suppose that TREE_PREEMPT_RCU was available for !SMP && PREEMPT builds.
> > > > Would that work for you?
> > > 
> > > To be honest I don't really know what the difference is, other than what
> > > the help text says, which is:
> > > 
> > >   [TINY_PREEMPT_RCU] greatly reduces the memory footprint of RCU.
> > >   
> > > "Greatly reduced memory footprint" sounds pretty useful...
> > 
> > OK, so from your viewpoint, the only possible benefit is smaller
> > memory?
> 
> Well, I have no idea.  If I was given the choice between TREE_PREEMPT_RCU
> and TINY_PREEMPT_RCU, absent any information not in the description of
> these options, I would choose TINY.  The description suggests that the
> memory savings come at the expense of SMP support, which sounds like a
> great tradeoff to make for a UP system.
> 
> > How much memory does your device have, if I may ask?
> 
> It's a (pretty old!) desktop.  I recently had to upgrade it to two
> gigabytes due to unbearable thrashing with only one...

If you have two gigabytes (or even one gigabyte), you won't notice the
few kilobytes of difference between TINY_PREEMPT_RCU and TREE_PREEMPT_RCU.

							Thanx, Paul


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-13 22:25           ` Paul E. McKenney
@ 2012-11-13 22:40             ` Nick Bowler
  2012-11-14  0:05               ` Paul E. McKenney
       [not found]             ` <CAGChsmOBB1yFNP5xSa06v+CYn0A=AjcZTyAzL8npWRdNYYLBZA@mail.gmail.com>
  1 sibling, 1 reply; 21+ messages in thread
From: Nick Bowler @ 2012-11-13 22:40 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: linux-kernel, linux-rt-users, mingo, laijs, dipankar, akpm,
	mathieu.desnoyers, josh, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, fweisbec, sbw,
	patches

On 2012-11-13 14:25 -0800, Paul E. McKenney wrote:
> On Tue, Nov 13, 2012 at 04:47:20PM -0500, Nick Bowler wrote:
> > On 2012-11-13 13:19 -0800, Paul E. McKenney wrote:
> > > On Tue, Nov 13, 2012 at 12:56:54PM -0500, Nick Bowler wrote:
> > > > On 2012-11-13 09:08 -0800, Paul E. McKenney wrote:
> > > > > Suppose that TREE_PREEMPT_RCU was available for !SMP && PREEMPT builds.
> > > > > Would that work for you?
> > > > 
> > > > To be honest I don't really know what the difference is, other than what
> > > > the help text says, which is:
> > > > 
> > > >   [TINY_PREEMPT_RCU] greatly reduces the memory footprint of RCU.
> > > >   
> > > > "Greatly reduced memory footprint" sounds pretty useful...
> > > 
> > > OK, so from your viewpoint, the only possible benefit is smaller
> > > memory?
> > 
> > Well, I have no idea.  If I was given the choice between TREE_PREEMPT_RCU
> > and TINY_PREEMPT_RCU, absent any information not in the description of
> > these options, I would choose TINY.  The description suggests that the
> > memory savings come at the expense of SMP support, which sounds like a
> > great tradeoff to make for a UP system.
> > 
> > > How much memory does your device have, if I may ask?
> > 
> > It's a (pretty old!) desktop.  I recently had to upgrade it to two
> > gigabytes due to unbearable thrashing with only one...
> 
> If you have two gigabytes (or even one gigabyte), you won't notice the
> few kilobytes of difference between TINY_PREEMPT_RCU and TREE_PREEMPT_RCU.

Well then TINY_PREEMPT_RCU doesn't sound all that useful for me!
Perhaps the help text could be improved... such as changing the words
"greatly reduced" to "marginally reduced" as a first step?

Is there no significant cache impact due to the larger implementation?
I don't really have the time or expertise to do measurements in this
regard, but if TREE_PREEMPT_RCU was actually a selectable option I could
at least choose it to see if anything explodes horribly...

Cheers,
-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
       [not found]             ` <CAGChsmOBB1yFNP5xSa06v+CYn0A=AjcZTyAzL8npWRdNYYLBZA@mail.gmail.com>
@ 2012-11-13 23:04               ` Paul E. McKenney
  0 siblings, 0 replies; 21+ messages in thread
From: Paul E. McKenney @ 2012-11-13 23:04 UTC (permalink / raw)
  To: Darren Hart
  Cc: Nick Bowler, LKML, linux-rt-users, Ingo Molnar, laijs, dipankar,
	Andrew Morton, mathieu.desnoyers, Josh Triplett,
	Nivedita Singhvi, Thomas Gleixner, Peter Zijlstra,
	Steven Rostedt, Valdis.Kletnieks, David Howells, edumazet,
	Frédéric Weisbecker, sbw, patches

On Tue, Nov 13, 2012 at 02:33:48PM -0800, Darren Hart wrote:
> On Tue, Nov 13, 2012 at 2:25 PM, Paul E. McKenney <
> paulmck@linux.vnet.ibm.com> wrote:
> 
> > On Tue, Nov 13, 2012 at 04:47:20PM -0500, Nick Bowler wrote:
> > > On 2012-11-13 13:19 -0800, Paul E. McKenney wrote:
> > > > On Tue, Nov 13, 2012 at 12:56:54PM -0500, Nick Bowler wrote:
> > > > > On 2012-11-13 09:08 -0800, Paul E. McKenney wrote:
> > > > > > Suppose that TREE_PREEMPT_RCU was available for !SMP && PREEMPT
> > builds.
> > > > > > Would that work for you?
> > > > >
> > > > > To be honest I don't really know what the difference is, other than
> > what
> > > > > the help text says, which is:
> > > > >
> > > > >   [TINY_PREEMPT_RCU] greatly reduces the memory footprint of RCU.
> > > > >
> > > > > "Greatly reduced memory footprint" sounds pretty useful...
> > > >
> > > > OK, so from your viewpoint, the only possible benefit is smaller
> > > > memory?
> > >
> > > Well, I have no idea.  If I was given the choice between TREE_PREEMPT_RCU
> > > and TINY_PREEMPT_RCU, absent any information not in the description of
> > > these options, I would choose TINY.  The description suggests that the
> > > memory savings come at the expense of SMP support, which sounds like a
> > > great tradeoff to make for a UP system.
> > >
> > > > How much memory does your device have, if I may ask?
> > >
> > > It's a (pretty old!) desktop.  I recently had to upgrade it to two
> > > gigabytes due to unbearable thrashing with only one...
> >
> > If you have two gigabytes (or even one gigabyte), you won't notice the
> > few kilobytes of difference between TINY_PREEMPT_RCU and TREE_PREEMPT_RCU.
> >
> >
> In that case I don't have any reason to be concerned about it. It seems
> then as though "tiny" is meant to reduce memory usage on systems with a
> great deal of memory where the structures add up to consume significant
> amounts of memory?

The "tiny" is for extremely small systems.  The difference in memory
consumption is otherwise not all that big a deal.

CONFIG_TINY_PREEMPT_RCU:

   text	   data	    bss	    dec	    hex	filename
   1079	    173	      0	   1252	    4e4	/tmp/b/kernel/rcupdate.o
   3223	    105	      4	   3332	    d04	/tmp/b/kernel/rcutiny.o

CONFIG_TREE_PREEMPT_RCU, NR_CPUS=2:

   text	   data	    bss	    dec	    hex	filename
   1376	    197	      0	   1573	    625	/tmp/b/kernel/rcupdate.o
  16545	   2030	     12	  18587	   489b	/tmp/b/kernel/rcutree.o

So you get about 15Kbytes by using CONFIG_TINY_PREEMPT_RCU instead of
CONFIG_TREE_PREEMPT_RCU.  Actually you get a bit less than that, because
CONFIG_TREE_PREEMPT_RCU's data would be a bit smaller for NR_CPUS=1.

But people who -really- care about memory measured in kilobytes
usually go all the way to CONFIG_TINY_RCU:

CONFIG_TINY_RCU:

   text	   data	    bss	    dec	    hex	filename
    858	    173	      0	   1031	    407	/tmp/b/kernel/rcupdate.o
   1788	     47	      0	   1835	    72b	/tmp/b/kernel/rcutiny.o

This is about 2.5K better than CONFIG_TINY_PREEMPT_RCU.  Also, !PREEMPT
reduces the size of the rest of the kernel as well.

Hence my belief that CONFIG_TINY_PREEMPT_RCU isn't really helping much
here.

							Thanx, Paul


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-13 21:20   ` Paul E. McKenney
@ 2012-11-13 23:32     ` Tim Sander
  2012-11-14  0:06       ` Paul E. McKenney
  0 siblings, 1 reply; 21+ messages in thread
From: Tim Sander @ 2012-11-13 23:32 UTC (permalink / raw)
  To: paulmck
  Cc: linux-kernel, linux-rt-users, mingo, laijs, dipankar, akpm,
	mathieu.desnoyers, josh, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, fweisbec, sbw,
	patches

Hi Paul

Sorry english somehow i tried to shoehorn more than one sentence into one 
sentence in the last mail.
> OK, how much memory does your device have?
It's 128Mb of memory.

Best regards
Tim

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-13 22:40             ` Nick Bowler
@ 2012-11-14  0:05               ` Paul E. McKenney
  0 siblings, 0 replies; 21+ messages in thread
From: Paul E. McKenney @ 2012-11-14  0:05 UTC (permalink / raw)
  To: Nick Bowler
  Cc: linux-kernel, linux-rt-users, mingo, laijs, dipankar, akpm,
	mathieu.desnoyers, josh, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, fweisbec, sbw,
	patches

On Tue, Nov 13, 2012 at 05:40:40PM -0500, Nick Bowler wrote:
> On 2012-11-13 14:25 -0800, Paul E. McKenney wrote:
> > On Tue, Nov 13, 2012 at 04:47:20PM -0500, Nick Bowler wrote:
> > > On 2012-11-13 13:19 -0800, Paul E. McKenney wrote:
> > > > On Tue, Nov 13, 2012 at 12:56:54PM -0500, Nick Bowler wrote:
> > > > > On 2012-11-13 09:08 -0800, Paul E. McKenney wrote:
> > > > > > Suppose that TREE_PREEMPT_RCU was available for !SMP && PREEMPT builds.
> > > > > > Would that work for you?
> > > > > 
> > > > > To be honest I don't really know what the difference is, other than what
> > > > > the help text says, which is:
> > > > > 
> > > > >   [TINY_PREEMPT_RCU] greatly reduces the memory footprint of RCU.
> > > > >   
> > > > > "Greatly reduced memory footprint" sounds pretty useful...
> > > > 
> > > > OK, so from your viewpoint, the only possible benefit is smaller
> > > > memory?
> > > 
> > > Well, I have no idea.  If I was given the choice between TREE_PREEMPT_RCU
> > > and TINY_PREEMPT_RCU, absent any information not in the description of
> > > these options, I would choose TINY.  The description suggests that the
> > > memory savings come at the expense of SMP support, which sounds like a
> > > great tradeoff to make for a UP system.
> > > 
> > > > How much memory does your device have, if I may ask?
> > > 
> > > It's a (pretty old!) desktop.  I recently had to upgrade it to two
> > > gigabytes due to unbearable thrashing with only one...
> > 
> > If you have two gigabytes (or even one gigabyte), you won't notice the
> > few kilobytes of difference between TINY_PREEMPT_RCU and TREE_PREEMPT_RCU.
> 
> Well then TINY_PREEMPT_RCU doesn't sound all that useful for me!
> Perhaps the help text could be improved... such as changing the words
> "greatly reduced" to "marginally reduced" as a first step?
> 
> Is there no significant cache impact due to the larger implementation?
> I don't really have the time or expertise to do measurements in this
> regard, but if TREE_PREEMPT_RCU was actually a selectable option I could
> at least choose it to see if anything explodes horribly...

Indeed, if I do this, the first step would be to re-introduce the
choice between CONFIG_TREE_PREEMPT_RCU and CONFIG_TINY_PREEMPT_RCU
so that you could check for horrible explosions.  If the past is
any guide, there would be at least a few.  ;-)

							Thanx, Paul


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-13 23:32     ` Tim Sander
@ 2012-11-14  0:06       ` Paul E. McKenney
  2012-11-14  0:36         ` Josh Triplett
  0 siblings, 1 reply; 21+ messages in thread
From: Paul E. McKenney @ 2012-11-14  0:06 UTC (permalink / raw)
  To: Tim Sander
  Cc: linux-kernel, linux-rt-users, mingo, laijs, dipankar, akpm,
	mathieu.desnoyers, josh, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, fweisbec, sbw,
	patches

On Wed, Nov 14, 2012 at 12:32:36AM +0100, Tim Sander wrote:
> Hi Paul
> 
> Sorry english somehow i tried to shoehorn more than one sentence into one 
> sentence in the last mail.
> > OK, how much memory does your device have?
> It's 128Mb of memory.

That is a bit on the smaller side.  But still quite large compared
to the 15K difference between CONFIG_TREE_PREEMPT_RCU and
CONFIG_TINY_PREEMPT_RCU.

							Thanx, Paul


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-14  0:06       ` Paul E. McKenney
@ 2012-11-14  0:36         ` Josh Triplett
  2012-11-14  1:07           ` Paul E. McKenney
  0 siblings, 1 reply; 21+ messages in thread
From: Josh Triplett @ 2012-11-14  0:36 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: Tim Sander, linux-kernel, linux-rt-users, mingo, laijs, dipankar,
	akpm, mathieu.desnoyers, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, fweisbec, sbw,
	patches

On Tue, Nov 13, 2012 at 04:06:48PM -0800, Paul E. McKenney wrote:
> On Wed, Nov 14, 2012 at 12:32:36AM +0100, Tim Sander wrote:
> > Hi Paul
> > 
> > Sorry english somehow i tried to shoehorn more than one sentence into one 
> > sentence in the last mail.
> > > OK, how much memory does your device have?
> > It's 128Mb of memory.
> 
> That is a bit on the smaller side.  But still quite large compared
> to the 15K difference between CONFIG_TREE_PREEMPT_RCU and
> CONFIG_TINY_PREEMPT_RCU.

I'd also expect CONFIG_TINY_PREEMPT_RCU to have marginally more
performance on a UP system, but probably not enough to matter.

- Josh Triplett

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: Does anyone use CONFIG_TINY_PREEMPT_RCU?
  2012-11-14  0:36         ` Josh Triplett
@ 2012-11-14  1:07           ` Paul E. McKenney
  0 siblings, 0 replies; 21+ messages in thread
From: Paul E. McKenney @ 2012-11-14  1:07 UTC (permalink / raw)
  To: Josh Triplett
  Cc: Tim Sander, linux-kernel, linux-rt-users, mingo, laijs, dipankar,
	akpm, mathieu.desnoyers, niv, tglx, peterz, rostedt,
	Valdis.Kletnieks, dhowells, edumazet, darren, fweisbec, sbw,
	patches

On Tue, Nov 13, 2012 at 04:36:42PM -0800, Josh Triplett wrote:
> On Tue, Nov 13, 2012 at 04:06:48PM -0800, Paul E. McKenney wrote:
> > On Wed, Nov 14, 2012 at 12:32:36AM +0100, Tim Sander wrote:
> > > Hi Paul
> > > 
> > > Sorry english somehow i tried to shoehorn more than one sentence into one 
> > > sentence in the last mail.
> > > > OK, how much memory does your device have?
> > > It's 128Mb of memory.
> > 
> > That is a bit on the smaller side.  But still quite large compared
> > to the 15K difference between CONFIG_TREE_PREEMPT_RCU and
> > CONFIG_TINY_PREEMPT_RCU.
> 
> I'd also expect CONFIG_TINY_PREEMPT_RCU to have marginally more
> performance on a UP system, but probably not enough to matter.

Agreed, I would expect this to be down in the noise.

							Thanx, Paul


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2012-11-14  1:14 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-13  0:49 Does anyone use CONFIG_TINY_PREEMPT_RCU? Paul E. McKenney
2012-11-13  1:12 ` Frederic Weisbecker
2012-11-13  1:17   ` Josh Triplett
2012-11-13  1:34     ` Frederic Weisbecker
2012-11-13  1:42       ` Paul E. McKenney
2012-11-13  1:32   ` Paul E. McKenney
2012-11-13 14:46 ` Nick Bowler
2012-11-13 17:08   ` Paul E. McKenney
2012-11-13 17:56     ` Nick Bowler
2012-11-13 21:19       ` Paul E. McKenney
2012-11-13 21:47         ` Nick Bowler
2012-11-13 22:25           ` Paul E. McKenney
2012-11-13 22:40             ` Nick Bowler
2012-11-14  0:05               ` Paul E. McKenney
     [not found]             ` <CAGChsmOBB1yFNP5xSa06v+CYn0A=AjcZTyAzL8npWRdNYYLBZA@mail.gmail.com>
2012-11-13 23:04               ` Paul E. McKenney
2012-11-13 20:22 ` Tim Sander
2012-11-13 21:20   ` Paul E. McKenney
2012-11-13 23:32     ` Tim Sander
2012-11-14  0:06       ` Paul E. McKenney
2012-11-14  0:36         ` Josh Triplett
2012-11-14  1:07           ` Paul E. McKenney

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.