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

From: Tejun Heo
Date: Sun Nov 23 2008 - 04:43:33 EST


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.

Thanks.

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