Messages in this thread | | | Date | Wed, 15 Jul 2009 15:45:03 +0800 | From | Wu Fengguang <> | Subject | Re: sk_lock: inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} usage |
| |
On Wed, Jul 15, 2009 at 12:04:32AM +0800, David Miller wrote: > From: Herbert Xu <herbert@gondor.apana.org.au> > Date: Fri, 10 Jul 2009 16:02:47 +0800 > > > On Fri, Jul 10, 2009 at 04:00:17PM +0800, Wu Fengguang wrote: > >> > >> The (sk_allocation & ~__GFP_WAIT) cases should be rare, but I guess > >> the networking code shall do it anyway, because sk_allocation defaults > >> to GFP_KERNEL. It seems that currently the networking code simply uses > >> a lot of GFP_ATOMIC, do they really mean "I cannot sleep"? > > > > Yep because they're done from softirq context. > > Yes, this is the core issue.
Yes, that's general true. But..
> All of Wu's talk about how "GFP_ATOMIC will wake up kswapd and > therefore can succeed just as well as GFP_KERNEL" is not relevant, > because GFP_ATOMIC means sleeping is not allowed.
We are talking about tcp_send_fin() here, which can sleep.
Thanks, Fengguang
| |