it seems i guessed wrong, and schedule() wakes up on a wait queue which
has been added by poll_wait; poll_wait doesn't actually do any sleeping
so no loop is necessary in i810_poll; it will be called again by do_poll
or do_select after the call to schedule. so no latency and no problem.
right?
Nathan Bryant wrote:
> fs/select.c:do_poll() calls schedule_timeout() after all do_pollfd's
> have returned empty sets and there is still time remaining. so if you
> just eliminate the loop in i810_poll, it will loop back and if there's
> data available, poll(2) would return properly, but with extra latency.
> i assume sys_select behaves the same way...
>
> so, 2 choices to eliminate latency, either hack i810_poll further, or
> be a lot more intelligent about calling wake_up. am i wrong?
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/