Re: Remove BKL from FAT/VFAT/MSDOS (v1) (was Re: Fw: Regression caused by bf726e "semaphore: fix,")

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Thomas Gleixner <tglx@...>
Cc: Ingo Molnar <mingo@...>, Andrew Morton <akpm@...>, OGAWA Hirofumi <hirofumi@...>, Linux Kernel Mailing List <linux-kernel@...>
Date: Friday, May 16, 2008 - 6:58 pm

On Fri, 16 May 2008, Linus Torvalds wrote:

To clarify: lock_super() is actually a much *stronger* lock than 
lock_kernel(), which is why testing is actually interesting: the locking 
hasn't been weakened, it's actually become much stricter (because unlike 
the kernel lock, the superblock lock is kept over scheduling events, and 
doesn't silently nest).

So the most likely failure case is not that some locking went away and 
you'd race on the data structures, it's that something deadlocks on itself 
if the locking isn't right.

There could be some implicit kernel lock I missed (ie something that acts 
like the "ioctl" callback I already mentioned), of course, so I'm not 
going to swear myself blue in the face that there isn't a new race, but on 
the whole this patch should be pretty safe from the angle that at least 
the obvious locking bugs should cause deadlocks, not race conditions.

And if you enable lockdep, the deadlocks aren't silent deaths, but clear 
"this is where you took it, and here is where you deadlocked due to 
nesting" reports in dmesg. So this should be eminently debuggable even by 
almost total newbies that are just interested in BKL removal.

		Linus
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: Remove BKL from FAT/VFAT/MSDOS (v1) (was Re: Fw: Regress..., Linus Torvalds, (Fri May 16, 6:58 pm)