Re: sched_yield: delete sysctl_sched_compat_yield

From: Zhang, Yanmin
Date: Mon Dec 03 2007 - 04:37:53 EST


On Mon, 2007-12-03 at 20:17 +1100, Nick Piggin wrote:
> On Monday 03 December 2007 19:45, Ingo Molnar wrote:
> > * Nick Piggin <nickpiggin@xxxxxxxxxxxx> wrote:
> > > On Friday 30 November 2007 21:08, Ingo Molnar wrote:
> > > > * Nick Piggin <nickpiggin@xxxxxxxxxxxx> wrote:
> > > > > Haven't we been asking JVMs to use futexes or posix locking for years
> > > > > and years now? [...]
> > > >
> > > > i'm curious, with what JVM was it tested and where's the source so i
> > > > can fix their locking for them? Can the problem be reproduced with:
> > >
> > > Sure, but why shouldn't the compat behaviour be the default, and the
> > > sysctl go away?
> > >
> > > It makes older JVMs work better, it is slightly closer to the old
> > > behaviour, and it is arguably a less surprising result.
> >
> > as far as desktop apps such as firefox goes, the exact opposite is true.
> > We had two choices basically: either a "more agressive" yield than
> > before or a "less agressive" yield. Desktop apps were reported to hurt
> > from a "more agressive" yield (firefox for example gets some pretty bad
> > delays), so we defaulted to the less agressive method. (and we defaulted
> > to that in v2.6.23 already)
>
> Yeah, I doubt the 2.6.23 scheduler will be usable for distros though...
>
>
> > Really, in this sense volanomark is another
> > test like dbench - we care about it but not unconditionally and in this
> > case it's a really silly API use that is at the center of the problem.
>
> Sure, but do you whether _real_ java server applications are OK?
I did a simple check of openjvm source codes and garbage collecter calls
Thread.yield. It really has much impact on both Jrockit and openJVM although
the regression percentage is different.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/