Re: [BUG] sleeping function called from atomic context

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, May 04, 2012 at 09:25:36AM -0400, Chris Mason wrote:
> I'm having a hard time reproducing this here.  Do you have lockdep on?
> It might tell us which lock we're leaving around.

He's using SLUB and it does not like waiting allocations when
CONFIG_SLUB_DEBUG is on:

 445 #ifdef CONFIG_SLUB_DEBUG
...
 935 /*
 936  * Hooks for other subsystems that check memory allocations. In a typical
 937  * production configuration these hooks all should produce no code at all.
 938  */
 939 static inline int slab_pre_alloc_hook(struct kmem_cache *s, gfp_t flags)
 940 {
 941         flags &= gfp_allowed_mask;
 942         lockdep_trace_alloc(flags);
 943         might_sleep_if(flags & __GFP_WAIT);
 944
 945         return should_failslab(s->objsize, flags, s->flags);
 946 }
...
1223 #else
...
1259 static inline int slab_pre_alloc_hook(struct kmem_cache *s, gfp_t flags)
1260                                                         { return 0; }

where slab_pre_alloc_hook is called down the chain from kmem_cache_alloc.


david
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux