Low latency and fbcon [0.5 sec is not considered low latency] [Re: new IRQ scalability changes in 2.3.48]

From: Pavel Machek (pavel@suse.cz)
Date: Mon Mar 13 2000 - 07:10:22 EST


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/



This archive was generated by hypermail 2b29 : Wed Mar 15 2000 - 21:00:25 EST