[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4656E2D3.4050106@windriver.com>
Date: Fri, 25 May 2007 08:21:23 -0500
From: Jason Wessel <jason.wessel@...driver.com>
To: Jarek Poplawski <jarkao2@...pl>
CC: linux-kernel@...r.kernel.org
Subject: Re: [BUG] 2.6.21 hang in cancel_rearming_delayed_workqueue()
Jarek Poplawski wrote:
> On 25-05-2007 05:21, Jason Wessel wrote:
>
>> There is a problem with the calling cancel_rearming_delayed_work if the
>> timer was not yet active.
>>
>>
>> It is possible that the problem exists else where, but I thought I would
>> ask if this is expected?
>>
>>
>
>
> " * cancel_rearming_delayed_workqueue - reliably kill off a delayed
> work whose handler rearms the delayed work."
>
> So, it cannot be used in netpoll_cleanup() if there is no rearming
> during this cancel at all. This is a tricky behaviour of course,
> and is changed in 2.6.22-rc.
>
>
I had read that as well. It seems this the API for the cancel is
restricted such that you cannot call it if there is nothing to cancel.
This means the netpoll code is incorrect and the simple fix is
attached. With the change the netpoll_cleanup works correctly in 2.6.21.
Thanks,
Jason.
View attachment "netpoll_workqueue_fix.patch" of type "text/plain" (842 bytes)
Powered by blists - more mailing lists