[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20141004084459.GU10583@worktop.programming.kicks-ass.net>
Date: Sat, 4 Oct 2014 10:44:59 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Oleg Nesterov <oleg@...hat.com>
Cc: Fengguang Wu <fengguang.wu@...el.com>,
Jet Chen <jet.chen@...el.com>, Su Tao <tao.su@...el.com>,
Yuanhan Liu <yuanhan.liu@...el.com>, LKP <lkp@...org>,
linux-kernel@...r.kernel.org,
Marcel Holtmann <marcel@...tmann.org>,
Peter Hurley <peter@...leysoftware.com>
Subject: Re: [rfcomm_run] WARNING: CPU: 1 PID: 79 at kernel/sched/core.c:7156
__might_sleep()
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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists