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/