6 messages in com.xensource.lists.xen-ia64-develRe: [Xen-ia64-devel] [PATCH] tlb miss...
FromSent OnAttachments
Isaku Yamahata26 Jan 2006 04:58.patch
Tristan Gingold26 Jan 2006 06:31 
Isaku Yamahata26 Jan 2006 17:56 
Dong, Eddie26 Jan 2006 23:49 
Tristan Gingold27 Jan 2006 02:32 
Isaku Yamahata02 Feb 2006 23:55.patch
Subject:Re: [Xen-ia64-devel] [PATCH] tlb miss handler
From:Isaku Yamahata (yama@valinux.co.jp)
Date:01/26/2006 05:56:08 PM
List:com.xensource.lists.xen-ia64-devel

Hi. Thanks for your comment.

On Thu, Jan 26, 2006 at 03:31:25PM +0100, Tristan Gingold wrote:

Le Jeudi 26 Janvier 2006 13:59, Isaku Yamahata a écrit :

This patch is not for commit. But for review, commnets.

Current itlb/dtlb miss handlers don't handle a tlb miss in xen/ia64 identity mapping area. Such a miss might occur because xen/ia64 enables vhpt walker even for region 7. (Please see set_one_rr()) I haven't encountered it yet, I'm guessing so from reading code.

Vti itlb/dtlb miss handlers do it by checking psr.vm bits. This patch is not so optimized for review, but it should be done later.

Quiet interesting because I have just worked a little bit in this area.

My comments: itlb miss must not occur, since Xen is mapped with a itm.

I agree with you about itlb miss. Linux alt_itlb_miss handler handles it because Linux supports loadable kernel module. On the other hand xen/ia64 doesn't support it (currently), so itlb miss in the identity mapping area must not occur.

dtlb miss should not occur for the same reason, but they occur at least during start-up while Xen reads bootparams and EFI. This is done before enabling VHPT.

No. dtlb miss in the identity mapping area might occur. xen/ia64 also uses the identity mapping to access domain pages. Please see map_domain_page() definition in xen/include/xen/domain_page.h (note: CONFIG_DOMAIN_PAGE is not defined for xen/ia64) map_domain_page() is certainly used. E.g. page_scrub_softirq() in xen/commong/page_alloc.c. It is invoked when a domain is destructed. Fortunately(unfortunately?) xen/ia64 doesn't support domain destruction now. I guess it's the reason why we haven't met such a dtlb miss except start-up.

BTW, I think the size of the identity mapped region should be shrinked in order to enabled virtual memory in Xen. This will be necessary for virtual mem map. That's the point I have looked.

Why don't we use region 5? Linux uses region 5 for virtual mem map and xen/ia64 don't use the region 5 for now.

If we restricted the identity mapping region, we would have to define CONFIG_DOMAIN_PAGE and implement needed functions.