Re: [PATCH wq/for-4.0-fixes v2] workqueue: fix hang involving racing cancel[_delayed]_work_sync()'s for PREEMPT_NONE

2015-03-05 Thread Tejun Heo
On Thu, Mar 05, 2015 at 04:36:38AM -0500, Tejun Heo wrote: > On Thu, Mar 05, 2015 at 10:24:50AM +0100, Tomeu Vizoso wrote: > ... > > [ 317.251001] PC is at bit_waitqueue+0x38/0x6c > ... > > [ 317.420658] [] (bit_waitqueue) from [] > > (__cancel_work_timer+0x28/0x1b0) > > [ 317.430598] []

Re: [PATCH wq/for-4.0-fixes v2] workqueue: fix hang involving racing cancel[_delayed]_work_sync()'s for PREEMPT_NONE

2015-03-05 Thread Tejun Heo
On Thu, Mar 05, 2015 at 10:24:50AM +0100, Tomeu Vizoso wrote: ... > [ 317.251001] PC is at bit_waitqueue+0x38/0x6c ... > [ 317.420658] [] (bit_waitqueue) from [] > (__cancel_work_timer+0x28/0x1b0) > [ 317.430598] [] (__cancel_work_timer) from [] > (cancel_work_sync+0x1c/0x20) > [ 317.440672]

Re: [PATCH wq/for-4.0-fixes v2] workqueue: fix hang involving racing cancel[_delayed]_work_sync()'s for PREEMPT_NONE

2015-03-05 Thread Tomeu Vizoso
On 3 March 2015 at 14:57, Tomeu Vizoso wrote: > On 3 March 2015 at 14:45, Tejun Heo wrote: >> Hello, >> >> Found the culprit. Plain wake_up() shouldn't be used on >> bit_waitqueues. The following patch should fix the issue. I replaced >> the patch in the wq branches. > > Yup, this looks good

Re: [PATCH wq/for-4.0-fixes v2] workqueue: fix hang involving racing cancel[_delayed]_work_sync()'s for PREEMPT_NONE

2015-03-05 Thread Tomeu Vizoso
On 3 March 2015 at 14:57, Tomeu Vizoso tomeu.viz...@gmail.com wrote: On 3 March 2015 at 14:45, Tejun Heo t...@kernel.org wrote: Hello, Found the culprit. Plain wake_up() shouldn't be used on bit_waitqueues. The following patch should fix the issue. I replaced the patch in the wq branches.

Re: [PATCH wq/for-4.0-fixes v2] workqueue: fix hang involving racing cancel[_delayed]_work_sync()'s for PREEMPT_NONE

2015-03-05 Thread Tejun Heo
On Thu, Mar 05, 2015 at 10:24:50AM +0100, Tomeu Vizoso wrote: ... [ 317.251001] PC is at bit_waitqueue+0x38/0x6c ... [ 317.420658] [c028fe18] (bit_waitqueue) from [c0270d34] (__cancel_work_timer+0x28/0x1b0) [ 317.430598] [c0270d34] (__cancel_work_timer) from [c0270ed8]

Re: [PATCH wq/for-4.0-fixes v2] workqueue: fix hang involving racing cancel[_delayed]_work_sync()'s for PREEMPT_NONE

2015-03-05 Thread Tejun Heo
On Thu, Mar 05, 2015 at 04:36:38AM -0500, Tejun Heo wrote: On Thu, Mar 05, 2015 at 10:24:50AM +0100, Tomeu Vizoso wrote: ... [ 317.251001] PC is at bit_waitqueue+0x38/0x6c ... [ 317.420658] [c028fe18] (bit_waitqueue) from [c0270d34] (__cancel_work_timer+0x28/0x1b0) [ 317.430598]

Re: [PATCH wq/for-4.0-fixes v2] workqueue: fix hang involving racing cancel[_delayed]_work_sync()'s for PREEMPT_NONE

2015-03-03 Thread Tomeu Vizoso
On 3 March 2015 at 14:45, Tejun Heo wrote: > Hello, > > Found the culprit. Plain wake_up() shouldn't be used on > bit_waitqueues. The following patch should fix the issue. I replaced > the patch in the wq branches. Yup, this looks good from here. Thanks, Tomeu > Thanks a lot. > > - 8<

Re: [PATCH wq/for-4.0-fixes v2] workqueue: fix hang involving racing cancel[_delayed]_work_sync()'s for PREEMPT_NONE

2015-03-03 Thread Tomeu Vizoso
On 3 March 2015 at 14:45, Tejun Heo t...@kernel.org wrote: Hello, Found the culprit. Plain wake_up() shouldn't be used on bit_waitqueues. The following patch should fix the issue. I replaced the patch in the wq branches. Yup, this looks good from here. Thanks, Tomeu Thanks a lot.