You're keeping vmaps around for already freed pages?
That will be a big problem for proper PAT support, which needs
to track all mappings to memory. It's not just a problem for Xen.
In fact I suspect it is already broken with DRM or AGP for example which
can use UC and WC mappings -- if you keep the mapping around and
DRM or AGP turns the page in another mapping uncacheable you're
creating an illegal cache attribute alias. These are known to occasionally
create cache corruptions on several x86s; giving ___VERY___ hard to debug
bugs once a blue moon.
Probably it'll require some generic VM batching mechanism where
Xen or PAT code can hook into the list or force unmap the mappings
as needed.
Definitely needs to be fixed if true. You're lucky that Xen caught it
in time.
-Andi
-