Messages in this thread | | | Subject | Re: [PATCH] cleanup sched_yield (sys)call nesting. | From | Sven-Thorsten Dietrich <> | Date | Wed, 18 Nov 2009 13:04:50 -0800 |
| |
On Wed, 2009-11-18 at 21:56 +0100, Thomas Gleixner wrote: > 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@lxorguk.ukuu.org.uk> 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 ?
Calling from a function returning void into a non-void function and then ignoring the return code ?
| |