On Tue, Jan 22, 2008 at 04:40:50PM -0800, Christoph Lameter wrote: > On Wed, 23 Jan 2008, Benjamin Herrenschmidt wrote: > > > > - anon_vma/inode and pte locks are held during callbacks. > > > > So how does that fix the problem of sleeping then ? > > The locks are taken in the mmu_ops patch. This patch does not hold them > while performing the callbacks.
Let me start by clarifying, the page is referenced prior to exporting and that reference is not removed until after recall is complete and memory protections are back to normal. As Christoph pointed out, the mmu_ops callouts do not allow sleeping. This is a problem for us as our recall path includes a message to one or more other hosts and a wait until we receive a response. That message sequence can take seconds or more to complete. It includes an operation to ensure the memory is in a cross-partition clean state and then changes memory protection. When that is complete we remove our page reference and return. Christoph's patch allows that long slow activity to happen prior to the mmu_ops callout. By the time the mmu_ops callout is made, we no longer are exporting the page so the cleanup is equivalent to the cleanup of a page we have never used. Thanks, Robin Holt -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/