Messages in this thread | | | Date | Mon, 10 Dec 2012 19:21:15 +0100 | From | Oleg Nesterov <> | Subject | Re: [RFC PATCH v2 01/10] CPU hotplug: Provide APIs for "light" atomic readers to prevent CPU offline |
| |
On 12/07, Oleg Nesterov wrote: > > On 12/06, Steven Rostedt wrote: > > > > You know reader locks can deadlock with each other, right? And this > > isn't caught be lockdep yet. This is because rwlocks have been made to > > be fair with writers. Before writers could be starved if a CPU always > > let a reader in. Now if a writer is waiting, a reader will block behind > > the writer. But this has introduced new issues with the kernel as > > follows: > > > > > > CPU0 CPU1 CPU2 CPU3 > > ---- ---- ---- ---- > > read_lock(A); > > read_lock(B) > > write_lock(A) <- block > > write_lock(B) <- block > > read_lock(B) <-block > > > > read_lock(A) <- block > > > > DEADLOCK! > > Really??? Oh I didn't know... > > Yes this was always true for rwsem, but rwlock_t?
Sorry, please ignore my email. I misread your email.
Oleg.
| |