[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090214235028.GE31861@elte.hu>
Date: Sun, 15 Feb 2009 00:50:28 +0100
From: Ingo Molnar <mingo@...e.hu>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Dave Hansen <dave@...ux.vnet.ibm.com>, orenl@...columbia.edu,
linux-api@...r.kernel.org, containers@...ts.linux-foundation.org,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
torvalds@...ux-foundation.org, viro@...iv.linux.org.uk,
hpa@...or.com, tglx@...utronix.de
Subject: Re: [RFC v13][PATCH 00/14] Kernel based checkpoint/restart
* Andrew Morton <akpm@...ux-foundation.org> wrote:
> On Sun, 15 Feb 2009 00:08:02 +0100 Ingo Molnar <mingo@...e.hu> wrote:
>
> >
> > * Andrew Morton <akpm@...ux-foundation.org> wrote:
> >
> > > Similar to the way in which perfectly correct and normal kernel
> > > sometimes has to be changed because it unexpectedly upsets the -rt
> > > patch.
> >
> > Actually, regarding -rt, we try to keep that in two buckets:
> >
> > 1) Normal kernel code works but is unclean or structured less
> > than ideal. In this case we restructure the mainline code,
> > but that change stands on its own four legs, without any
> > -rt considerations.
> >
> > 2) Normal kernel code that is clean - i.e. a change that only
> > matters to -rt. In this case we dont touch the mainline code,
> > nor do we bother mainline.
> >
> > Do you know any specific example that falls outside of those categories?
> >
>
> It happens fairly regularly. Problems with irqs-off regions, problems
> with preempt_disable() regions (came up just yesterday with a patch from
> Jeremy).
As Peter has stated it in that thread, throwing around preempt_disable()s
is considered anti-social regardless of any -rt concerns. (it's a bit like
how people were throwing around opaque lock_kernel()/unlock_kernel() pairs
a decade ago. It results in poorly documented locking semantics.)
> Plus some convert-to-sleeping-lock conversions over the years which
> weren't obviously needed in mainline. Or which at least had -rt
> motivations. But that's different.
Having -rt motivation is perfectly fine - many of the top features we
added in the past 2-3 years originated in the -rt tree. The question
is, does a change improve the mainline code or not. If it does, the
motivation does not really matter.
I'll also note that recent VFS performance tests with spinning mutexes
have shown that they out-perform both spinlocks, old-semaphores and
old-mutexes. So conversion to sleeping locks might in fact grow a
"because it's not only easier to hack but also faster" dimension as well.
( I'm wondering whether those ext2/ext3 spinlocks that were a performance
problem when converted to sleeping locks would perform better with
spinning mutexes. )
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists