public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Paul Mundt <lethal@linux-sh.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org, niv@us.ibm.com, dvhltc@us.ibm.com,
	dhowells@redhat.com, kernel@wantstofly.org, matthew@wil.cx,
	Matt Mackall <mpm@selenic.com>
Subject: Re: [PATCH] v3 RCU: the bloatwatch edition
Date: Thu, 9 Apr 2009 01:55:29 +0900	[thread overview]
Message-ID: <20090408165528.GA16317@linux-sh.org> (raw)
In-Reply-To: <20090408163838.GB14449@elte.hu>

On Wed, Apr 08, 2009 at 06:38:38PM +0200, Ingo Molnar wrote:
> 
> * Paul Mundt <lethal@linux-sh.org> wrote:
> 
> > On Fri, Apr 03, 2009 at 12:36:05AM +0200, Ingo Molnar wrote:
> > > * Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
> > > > This patch is a version of RCU designed for (!SMP && EMBEDDED) 
> > > > provided as a proof of concept of a small-footprint RCU 
> > > > implementation. In particular, the implementation of 
> > > > synchronize_rcu() is extremely lightweight and high performance.  
> > > > It passes rcutorture testing in each of the four relevant 
> > > > configurations (combinations of NO_HZ and PREEMPT) on x86.  This 
> > > > saves about 900 bytes compared to Classic RCU, and a couple 
> > > > kilobytes compared to Hierarchical RCU:
> > > 
> > > Andrew, what do you think?
> > > 
> > > A worry is yet another RCU variant - we already have 3.
> > > 
> > > A trick we could use would be to put it into Documentation/rcu/, 
> > > linked in via some clever Makefile magic and only usable if a 
> > > ultra-embedded developer does a build with something like 
> > > CONFIG_RCU_TINY=y. That way there's no real maintenance and testing 
> > > overhead.
> > > 
> > > It _does_ have documentation value beyond the ~900 bytes: it's the 
> > > simplest and smallest possible still-working UP RCU implementation 
> > > so it would be easy to teach RCU concepts via that, gradually.
> > 
> > A similar argument could have been used for tiny-shmem when it was 
> > first integrated. As this is hiding behind CONFIG_EMBEDDED, most 
> > users are not going to run in to it, so the confusion of 1 more 
> > RCU variant is not likely to be a problem for those that aren't 
> > actively seeking it out.
> > 
> > So, personally I think it is a good idea, and I have no 
> > reservations about default enabling it for a number of more 
> > constrained SH platforms.
> 
> but at least tiny-shmem is now nicely hidden in mm/shmem.c, in an 
> unintrusive !CONFIG_SHMEM branch. There's no CONFIG_TINY_SHMEM 
> option anymore - it's all done in the !CONFIG_SHMEM case.
> 
Now it is, yes, but it was not originally, and it was still useful when
it was split out. If we are going to tolerate multiple RCU
implementations in the kernel, then I see no reason to not include
tiny-RCU in the same category. Even in the case where some of the other
RCU variants go away, tiny-RCU remains a viable option for simple
platforms that are more concerned about memory than anything else, so
it's always a valid alternative.

If in the future things are more consolidated and the config option goes
away then great, but that hardly seems like a sane prerequisite for
merging it. CONFIG_EMBEDDED handles this just fine. You don't need to
enable it if you don't wish to, but it's certainly measurable enough to
be useful for those of us that have no problems enabling it ;-)

  reply	other threads:[~2009-04-08 17:04 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-03 18:34 [PATCH] v2 RCU: the bloatwatch edition Paul E. McKenney
2009-03-29 20:31 ` [PATCH] v3 " Paul E. McKenney
2009-04-02 22:36   ` Ingo Molnar
2009-04-02 22:44     ` Andrew Morton
2009-04-03  0:02       ` Paul E. McKenney
2009-04-03  6:52       ` Andi Kleen
2009-04-03 10:45         ` Lennert Buytenhek
2009-04-02 22:44     ` Paul Mundt
2009-04-08 16:38       ` Ingo Molnar
2009-04-08 16:55         ` Paul Mundt [this message]
2009-04-08 18:44           ` Paul E. McKenney
2009-04-28 14:24   ` David Howells
2009-04-28 19:45     ` Paul E. McKenney
2009-04-28 21:39       ` David Howells
2009-04-29  0:57         ` Paul E. McKenney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090408165528.GA16317@linux-sh.org \
    --to=lethal@linux-sh.org \
    --cc=akpm@linux-foundation.org \
    --cc=dhowells@redhat.com \
    --cc=dvhltc@us.ibm.com \
    --cc=kernel@wantstofly.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matthew@wil.cx \
    --cc=mingo@elte.hu \
    --cc=mpm@selenic.com \
    --cc=niv@us.ibm.com \
    --cc=paulmck@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox