From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arne Mejlholm Subject: Re: Odd mapping behavior with map_pages_to_xen Date: Thu, 16 Mar 2006 20:05:47 +0100 Message-ID: <4419B70B.7060201@cs.aau.dk> References: <4419751D.1070404@cs.aau.dk> <4f5403f2a706a97a8b0ef6329d417c81@cl.cam.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4f5403f2a706a97a8b0ef6329d417c81@cl.cam.ac.uk> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org First of all, thanks for your fast reply :) Keir Fraser wrote: > > Unfortunately you'll only be modifying the idle page table mappings. > So if you are running on someone else's tables then you won't see the > new mapping. This can easily happen even in the idle loop, because we > lazily switch pagetables. so when the problem appears, we are actually looking at another domains page tables or and old superpage mapping. That is a quite important detail :) > In fact, it would work if the xen heap were mapped with 4kB pages, but > by default we map with 4MB superpages. So when you change a single 4kB > mapping the superpage mapping needs replacing with a mapping of a new > pagetable in the idle pgdir, and that update isn;t reflected in the > current running pagetables. so are these superpage mappings only done in the idle domain? Is the reason for using superpages in the idle domain to avoid flushing the TLB when running the idle loop or something clever like that? > If you build Xen with 'debug=y' option then I expect you'll find your > code works fine. :-) You expected correctly indeed. I take it that enabling debug either forces the mappings to be replaced (non-lazily) or does it switch entirely to 4kb pages?