Re: [PATCH] Make rheap safe for spinlocks

2008-04-17 Thread Kumar Gala
On Apr 14, 2008, at 10:43 AM, Timur Tabi wrote: The rheap allocation function, rh_alloc, could call kmalloc with GFP_KERNEL. This can sleep, which means you couldn't hold a spinlock while called rh_alloc. Change all kmalloc calls to use GFP_ATOMIC so that it won't sleep. This is safe beca

Re: [PATCH] Make rheap safe for spinlocks

2008-04-14 Thread Timur Tabi
Kumar Gala wrote: > Is this need to fix a bug with an existing driver of for a new driver? Both. The ucc_geth driver calls qe_muram_alloc() with spinlocks held. The 8610 DIU driver does something similar, but it's targeted for 2.6.26. I'm hesitant to recommend inclusion in 2.6.25 because I hav

Re: [PATCH] Make rheap safe for spinlocks

2008-04-14 Thread Kumar Gala
On Apr 14, 2008, at 10:43 AM, Timur Tabi wrote: The rheap allocation function, rh_alloc, could call kmalloc with GFP_KERNEL. This can sleep, which means you couldn't hold a spinlock while called rh_alloc. Change all kmalloc calls to use GFP_ATOMIC so that it won't sleep. This is safe beca

[PATCH] Make rheap safe for spinlocks

2008-04-14 Thread Timur Tabi
The rheap allocation function, rh_alloc, could call kmalloc with GFP_KERNEL. This can sleep, which means you couldn't hold a spinlock while called rh_alloc. Change all kmalloc calls to use GFP_ATOMIC so that it won't sleep. This is safe because only small blocks are allocated. Signed-off-by: Timu