lkml.org 
[lkml]   [2000]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Low latency and fbcon [0.5 sec is not considered low latency] [Re: new IRQ scalability changes in 2.3.48]

On Mon, 13 Mar 2000, Pavel Machek wrote:

> 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 know about fbcon's latency problems, have you tried fixing the
screen-scrolling function? It's by far the worst offender. Another
function: if your card does bitblt and the bitblt command is posted to the
videocard then typically the code polls the videocard status register to
wait for the bitblt to finish - that can be long as well.

a semaphore plus a conditional reschedule in the above two places should
already help. (also the semaphore has to be try_down_semaphore()-ed from
the kernel-message function, because we obviously must not block in IRQ
contexts which call printk.)

> (I replaced if (need_resched) schedule() with just schedule() -- I
> hope that can not break anything...)

you have to add the semaphore (or semaphores) to the generic console code
to be safe. The console code assumes that the individual lowlevel console
functions are atomic (well, most of them). You should also probably boost
the priority of the process holding this semaphore to the highest
user-priority, otherwise console output can be blocked by normal
processes. (If you manage to get this working, i'd be very interested in
it.)

Ingo


-
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/

\
 
 \ /
  Last update: 2005-03-22 13:57    [W:0.187 / U:0.128 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site