Re: [patch] Real-Time Preemption, -RT-2.6.12-rc1-V0.7.43-00

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 4 Apr 2005, Zwane Mwaikambo wrote:

> On Mon, 4 Apr 2005, Steven Rostedt wrote:
> 
> > On Mon, 2005-04-04 at 22:47 +0200, Ingo Molnar wrote:
> > 
> > > > Currently my fix is in yield to lower the priority of the task calling 
> > > > yield and raise it after the schedule.  This is NOT a proper fix. It's 
> > > > just a hack so I can get by it and test other parts.
> > > 
> > > yeah, yield() is a quite RT-incompatible concept, which could livelock 
> > > an upstream kernel just as much - if the task in question is SCHED_FIFO.  
> > > Almost all yield() uses should be eliminated from the upstream kernel, 
> > > step by step.
> > 
> > Now the question is, who will fix it? Preferably the maintainers, but I
> > don't know how much of a priority this is to them. I don't have the time
> > now to look at this and understand enough about the code to be able to
> > make a proper fix, and I'm sure you have other things to do too.
> 
> I'm sure a lot of the yield() users could be converted to 
> schedule_timeout(), some of the users i saw were for low memory conditions 
> where we want other tasks to make progress and complete so that we a bit 
> more free memory.
> 

Easy, but damn ugly. Completions are the right answer. The memory system
needs a queue system where tasks can sleep (with a timeout) until the
right amount of memory is available instead of half busy-looping.

Esben


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux