Re: fast path cycle muncher (vmstat: make vmstat_updater deferrable again and shut down on idle)

From: Christoph Lameter
Date: Sat Jan 23 2016 - 22:46:50 EST


On Sun, 24 Jan 2016, Mike Galbraith wrote:

> By switching cross-core, I'm referring to scheduling of communicating
> tasks.

??? Its cancelling a work request. That is a "communicating task"?

> Here's the sleeping lock for -rt:
>
> [ 2.279582] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.5.0-rt3 #7
> [ 2.280444] Hardware name: MEDION MS-7848/MS-7848, BIOS M7848W08.20C 09/23/2013
> [ 2.281316] ffff88040b00d640 ffff88040b01fe10 ffffffff812d20e2 0000000000000000
> [ 2.282202] ffff88040b01fe30 ffffffff81081095 ffff88041ec4cee0 ffff88041ec501e0
> [ 2.283073] ffff88040b01fe48 ffffffff815ff910 ffff88041ec4cee0 ffff88040b01fe88
> [ 2.283941] Call Trace:
> [ 2.284797] [<ffffffff812d20e2>] dump_stack+0x49/0x67
> [ 2.285658] [<ffffffff81081095>] ___might_sleep+0xf5/0x180
> [ 2.286521] [<ffffffff815ff910>] rt_spin_lock+0x20/0x50
> [ 2.287382] [<ffffffff81075919>] try_to_grab_pending+0x69/0x240
> [ 2.288239] [<ffffffff81075b16>] cancel_delayed_work+0x26/0xe0

OMG cancelling a work request causes a sleeping lock to be taken?