Jeremy Fitzhardinge wrote: > Those are bugs that can occur, but they don't apply in this case. The > vmi implementation of kmap_atomic_pte() would be: > > static void *vmi_kmap_atomic_pte(struct page *page, enum km_type type) > { > void *ptep = kmap_atomic(page, type); > vmi_map_pt_hook(type, ptep, page_to_pfn(page)); > return ptep; > } > > Right? Which is functionally identical to the code in your patch, > except wrapped up in a new function. > Yes, but the hook point now happens before the page table mapping. Not that it should cause a problem. But we've been testing things the original way for over a year now, and if we want to get the fix upstream for 2.6.21, it seems better to upstream a more tested fix rather than a new way of doing things, even if it is identical in theory. That said, I have no problems with the approach you propose going forward. I just don't think it is appropriate for an -rc release, because it provides no tangible benefit for any of the in-kernel code, and causes a lot of retesting. I still believe there is almost zero risk to doing things the way you propose. But I am also a firm believer in shipping what is tested and working unless there is a compelling reason to do otherwise. And if Xen is not going to be in 2.6.21, the compelling reason becomes getting the code working for both of us for 2.6.22 - so let's do that, and keep the patches from Andrew's -mm tree around to make sure that we have a suitable patch base that can be applied to 2.6.21 for any distros that are willing to pick up the Xen paravirt-ops. Sound reasonable? Zach