From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Gleixner Subject: Re: [PATCH] cleanup sched_yield (sys)call nesting. Date: Wed, 18 Nov 2009 21:56:52 +0100 (CET) Message-ID: References: <20091107210147.3e754278@hyperion.delvare> <4AF7148C.9090706@thebigcorporation.com> <20091112211255.09cd884a@hyperion.delvare> <20091116155606.GC29479@sirena.org.uk> <20091118010520.4cd397d4@lxorguk.ukuu.org.uk> <20091118175202.490989d8@hyperion.delvare> <1258577194.12429.86.camel@sven.thebigcorporation.com> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: Jean Delvare , Leon Woestenberg , Alan Cox , Mark Brown , linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, rt-users , "Ben Dooks (embedded platforms)" , Peter Zijlstra , LKML To: Sven-Thorsten Dietrich Return-path: In-Reply-To: <1258577194.12429.86.camel-ZUMNgey8dAdBci4yedNfAfz91O0DMRRp0E9HWUfgJXw@public.gmane.org> Sender: linux-i2c-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: linux-rt-users.vger.kernel.org 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 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 > > 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