Re: FYI, tiny-kernel fix for rcu_segcblist separate .c file

From: Paul E. McKenney
Date: Sat May 06 2017 - 12:52:03 EST

On Sat, May 06, 2017 at 09:15:51AM +0200, Ingo Molnar wrote:
> * Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> wrote:
> > Hello, Ingo,
> >
> > Just in case you get complaints about kernel size...
> >
> > In response to Linus's feedback, I did commit 98059b98619d ("rcu:
> > Separately compile large rcu_segcblist functions"), which of course
> > has the side-effect of bloating Tiny SRCU, which 0day Test Robot
> > complains about.
> >
> > So I have queued commit 7bf7fa5acc92 ("srcu: Apply trivial callback
> > lists to shrink Tiny SRCU"), which makes up for the bloating and then some.
> >
> > I don't believe that this debloating is at all urgent because people
> > building kernels for small-memory devices have to do a lot of other
> > tweaking, so that applying this additional commit as a patch should
> > not be too much incremental pain.
> >
> > So again, if you get complaints about 98059b98619d bloating tiny
> > kernel builds, 7bf7fa5acc92 is the fix.
> Ok!
> I do agree that it's not urgent: single CPU systems are rapidly becoming the
> exception for new hardware designed, even for embedded systems. At this point
> I think the educational value of TinyRCU is its main quality.

To your point, Tiny SRCU certainly is now quite self-contained and easy to
understand. It is arguably even simpler than Tiny RCU because there are
explicit wakeups -- no indirect reasoning about context switches required.

Some people tell me that IoT-style microcontrollers for small devices
require things like Tiny {S,}RCU, with one prominent recent example being
Nicolas Pitre with his Tiny TTY layer. On the other hand, perhaps your
argument about educational value applies to the TTY layer as well as
to RCU. Maybe even more so -- it is quite possible that there are more
people who understand RCU than understand the TTY layer. ;-)

Thanx, Paul