On Fri, Oct 03, 2014 at 07:56:54PM +0200, Oleg Nesterov wrote:
> Or. perhaps we can change wait_woken
>
> - set_current_state(mode);
> + if (mode)
> + set_current_state(mode);
>
>
> then rfcomm_run() can do
>
> for (;;) {
> rfcomm_process_sessions();
>
> set_current_state(TASK_INTERRUPTIBLE);
> if (kthread_should_stop())
> break;
> wait_woken(0);
> }
>
> Or perhaps we can split wait_woken() into 2 helpers,
>
> static inline long wait_woken(wq, mode, timeout)
> {
> set_current_state(mode);
> schedule_woken(wq, timeout); // does the rest
> }
>
> to avoid "mode == 0" hack; rfcomm_run() should use schedule_woken().
>
> What do you think?
Clever, I'm not entirely sure which I prefer, I think I'm leaning
towards the first one with the !mode hack, but let me sit on that for a
little while.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/