Messages in this thread | | | Date | Wed, 06 Aug 2014 14:16:03 -0700 (PDT) | Subject | Re: [RFC][PATCH 0/7] nested sleeps, fixes and debug infra | From | David Miller <> |
| |
From: Peter Zijlstra <peterz@infradead.org> Date: Wed, 6 Aug 2014 10:31:34 +0200
> On Wed, Aug 06, 2014 at 11:51:29AM +0400, Ilya Dryomov wrote: > >> OK, this one is a bit different. >> >> WARNING: CPU: 1 PID: 1744 at kernel/sched/core.c:7104 __might_sleep+0x58/0x90() >> do not call blocking ops when !TASK_RUNNING; state=1 set at [<ffffffff81070e10>] prepare_to_wait+0x50 /0xa0 > >> [<ffffffff8105bc38>] __might_sleep+0x58/0x90 >> [<ffffffff8148c671>] lock_sock_nested+0x31/0xb0 >> [<ffffffff81498aaa>] sk_stream_wait_memory+0x18a/0x2d0 > > Urgh, tedious. Its not an actual bug as is. Due to the condition check > in sk_wait_event() we can call lock_sock() with ->state != TASK_RUNNING. > > I'm not entirely sure what the cleanest way is to make this go away. > Possibly something like so:
If you submit this formally to netdev with a signoff I'm willing to apply this if it helps the debug infrastructure.
| |