Messages in this thread | | | Date | Fri, 03 Feb 2012 16:37:48 +0100 | From | Gerald Schaefer <> | Subject | Re: ksm/memory hotplug: lockdep warning for ksm_thread_mutex vs. (memory_chain).rwsem |
| |
On 03.02.2012 00:00, KOSAKI Motohiro wrote: > 2012/2/2 Gerald Schaefer<gerald.schaefer@de.ibm.com>: >> Setting a memory block offline triggers the following lockdep warning. This >> looks exactly like the issue reported by Kosaki Motohiro in >> https://lkml.org/lkml/2010/10/25/110. Seems like the resulting commit a0b0f58cdd >> did not fix the lockdep warning. I'm able to reproduce it with current 3.3.0-rc2 >> as well as 2.6.37-rc4-00147-ga0b0f58. >> >> I'm not familiar with lockdep annotations, but I tried using down_read_nested() >> for (memory_chain).rwsem, similar to the mutex_lock_nested() which was >> introduced for ksm_thread_mutex, but that didn't help. > > Heh, interesting. Simple question, do you have any user visible buggy > behavior? or just false positive warn issue? > > *_nested() is just hacky trick. so, any change may break their lie. > Anyway I'd like to dig this one. thanks for reporting.
There is no real deadlock and no user visible buggy behaviour, the memory is being offlined as requested. I think your conclusion from last time is still valid, that both locks are inside mem_hotplug_mutex and there can't be a deadlock. Question is how to convince lockdep of this.
| |