Re: [PATCH] cleanup sched_yield (sys)call nesting.

From: Thomas Gleixner
Date: Wed Nov 18 2009 - 15:57:32 EST


On Wed, 18 Nov 2009, Sven-Thorsten Dietrich wrote:
> On Wed, 2009-11-18 at 17:52 +0100, Jean Delvare wrote:
> > On Wed, 18 Nov 2009 17:28:53 +0100, Leon Woestenberg wrote:
> > > On Wed, Nov 18, 2009 at 2:05 AM, Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:
> > > > Our timers are very efficient and some day we will need to make jiffies a
> > > > function and stop the timer ticking for best performance. At that point
> > > > timers are probably the most efficient way to do much of this.
> > >
> > > The problem with I2C bitbanged is the stringent timing, we need a way
> > > to have fine-grained sleeping
> > > mixed with real-time tasks in order to make this work.
> >
> > FWIW, the problem that was initially reported has nothing to do with
> > this. i2c-algo-bit used mdelay() during transactions, not yield().
> > yield() is used only in once place, _between_ transactions attempts.
> > There are no strict timing constraints there.
> >
>
> I agree that dropping out sched_yield entirely should maybe start by
> deprecating / flagging as a warning in sched_rt.c.

Errm, that's unrelated to sched_rt.c.

yield() in the kernel in general is needs to be deprecated.

> This is just a minimal cleanup I stumbled across while looking at it -
> to get away from the uglyness of calling into the syscall interface from
> inside the Kernel.

And why exactly is that ugly ?

> I'll generate something more substantial for discussion later.
>
> Subject: clean up chaining in sched_yield()
> From: Sven-Thorsten Dietrich <sdietrich@xxxxxxx>
>
> The call to sys_sched_yield for in-Kernel is messy.
> and the return code from sys_sched_yield is ignored when called from
> in-kernel.

Which is completely irrelevant because the return code is always 0.

That patch adds just code bloat for no value.

Thanks,

tglx
--
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/