Messages in this thread | | | Date | Mon, 13 Mar 2000 13:10:22 +0100 | From | Pavel Machek <> | Subject | Low latency and fbcon [0.5 sec is not considered low latency] [Re: new IRQ scalability changes in 2.3.48] |
| |
Hi!
> On Mon, 13 Mar 2000 yodaiken@fsmlabs.com wrote: > > > > > Ok. Ingo: does your "low latency" patch violate this rule? > > > > > > yep, of course. It's a grave error to schedule during IRQ contexts, and we > > > > I think you mean: "of course not"! > > [ oops, correct :-) ] > > > > do have an assert in schedule() so it's plain impossible. The lowlatency > > > patch simply works by increasing the effective frequency (occurance) of > > > rescheduling (preemption) points [without actually rescheduling more > > > often]. > > > > This is too subtle for me. I don't know how you can make true > > the first 2 things without having the third be false. > > well, the core of it is really simple: > > if (current->need_resched) > schedule(); > > current->need_resched is rarely set, mostly only if a process is getting > preempted by a higher priority process. (which is the case we are > interested in)
I tried doing something similar for fbcon, but could not. fbcon is by far worst offender, and will happily block system for 500msec. if (need_resched) schedule() does not work here. I tried adding semaphores around fbcon entry points, but it does not seem to work.
(I replaced if (need_resched) schedule() with just schedule() -- I hope that can not break anything...) Pavel -- The best software in life is free (not shareware)! Pavel GCM d? s-: !g p?:+ au- a--@ w+ v- C++@ UL+++ L++ N++ E++ W--- M- Y- R+
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |