Messages in this thread |  | | Date | Sat, 22 Mar 2008 14:08:22 -0700 | From | Jeremy Fitzhardinge <> | Subject | Re: How to avoid spurious lockdep warnings? |
| |
Arjan van de Ven wrote: > On Thu, 20 Mar 2008 16:02:11 -0700 > Jeremy Fitzhardinge <jeremy@goop.org> wrote: > > >> In a Xen system, when a new pagetable is about to be put in use it is >> "pinned", meaning that each page in the pagetable is registered with >> the hypervisor. This is done in arch/x86/xen/mmu.c:pin_page(). >> >> In order to make this efficient, the hypercalls for pinning are >> batched, so that multiple pages are submitted at once in a single >> multicall. While a page is batched pending the hypercall, its >> corresponding pte_lock is held. >> >> This means that the code can end up holding multiple pte locks at >> once, though it is guaranteed to never try to hold the same lock at >> once. However, because these locks are in the same lock class, I get >> a spurious warning from lockdep. Is there some way I can get rid of >> this warning? >> > > > what's the ordering guarantee between these locks ? >
Pagetable virtual address order. move_ptes can also lock two ptes within one pagetable, without regard to order, but they're protected by mmap_sem, which is also held during pinning.
J
|  |