Re: poll: allow f_op->poll to sleep, take #3

From: Ingo Molnar
Date: Sun Nov 23 2008 - 04:46:23 EST



* Tejun Heo <htejun@xxxxxxxxx> wrote:

> Ingo Molnar wrote:
> > _sync() is not something that should normally be done from poll
> > handlers. But ->poll() handlers should all be TASK_INTERRUPTIBLE,
> > right? So wake_up_process_interruptible() should be the thing you
> > need?
> >
> > Anyway, if you really want to pass in a state filter, you can use the
> > already existing wake_up_state() method as well.
>
> It's not really about what I want but more about how the interface
> looks in the first place. Something like the following is simply
> ugly.
>
> int my_callback(param a, param b, param c)
> {
> WARN_ON(b != B);
> do_something(a);
> }
>
> And @sync might be useful depending on who's waking it up, so we
> either need to change the wake interface or give it an easier way to
> pass those parameters as received. The callback function isn't the
> right place to ignore those parameters. It simply doesn't know why
> the caller is passing them in or what they mean under the
> circumstances.

We'll likely eliminate the 'sync' parameter from the scheduler. It's
not a flag that should be proliferated.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/