[PATCH] powerpc: Fix deadlock with mmu_hash_lock in hash_page_sync

Gaash Hazan gaashh at yahoo.com
Mon Mar 31 19:30:37 EST 2008


> -----Original Message-----
> From: Benjamin Herrenschmidt
> [mailto:benh at kernel.crashing.org] 
> Sent: Monday, March 31, 2008 0:49
> To: gaash-ppclnx at gaashh.com
> Cc: linuxppc-dev at ozlabs.org; Gilad Ben-Yossef; Paul
> Mackerras
> Subject: [PATCH] powerpc: Fix deadlock with
> mmu_hash_lock in
> hash_page_sync
> 
> hash_page_sync() takes and releases the low level
> mmu hash lock in order
> to sync with other processors disposing of page
> tables. Because that
> lock can be needed to service hash misses triggered
> by interrupt
> handler, taking it must be done with interrupts off.
> However,
> hash_page_sync() appear to be called with interrupts
> enabled, thus
> causing occasional deadlocks.
> 
> We fix it by making sure hash_page_sync() masks
> interrupts while holding
> the lock.
> 
> Signed-off-by: Benjamin Herrenschmidt
> <benh at kernel.crashing.org>
> ---
> 
> Please test and report asap thought it's probably
> too late for 2.6.25,
> it can still go into stable later on.
> 

Thank you for the quick acknowledgment and patch. 

Patch works well.

Thanks,
Gaash






More information about the Linuxppc-dev mailing list