Messages in this thread | | | Date | Thu, 1 May 2008 09:11:23 +0800 | From | Herbert Xu <> | Subject | Re: [Patch]net/xfrm/xfrm_policy.c: replace timer with delayed_work |
| |
On Thu, May 01, 2008 at 12:06:55AM +0800, WANG Cong wrote: > > Hi, Herbert. > > I referenced the book Linux Device Drivers, it is said that > the work function in workqueue can sleep, that is to say, it only > works in process context, so we don't need the disable the lock > in softirq, which is interrupt context, right?
Because it can sleep, you must disable BH for locks that can be taken on the softirq path as otherwise a softirq can come in, try to take the lock again and dead-lock.
Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
| |