Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Apr 2003 22:53:32 -0700
From:      Marcel Moolenaar <marcel@xcllnt.net>
To:        freebsd-hackers@FreeBSD.org
Subject:   Is pmap_kextract() allowed to fault?
Message-ID:  <20030421055332.GA4680@dhcp01.pn.xcllnt.net>

next in thread | raw e-mail | index | archive | help
Gang,

On ia64 pmap_kextract() uses the tpa instruction which given a
virtual address returns the physical address based on the
translation registers and cache (ie TLB). This can fault when
there's currently no mapping for the virtual address.

Since all other architectures have a non-faulting implementation
(AFAICT), I'm a bit worried that we might get into trouble on
ia64. I couldn't find anything about pmap_kextract(), so maybe
anybody can enlighten me:

1. Is pmap_kextract() allowed to fault?
2. Is pmap_kextract() used often enough that using the cpu's TLB
   is a possible performance speedup even if there are costly faults
   that can sometimes happen?

Note: an implementation not based on the tpa instruction would look
pretty much the same as the current sparc64 implementation. Just so
you know...

Thanks,

-- 
 Marcel Moolenaar	  USPA: A-39004		 marcel@xcllnt.net



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030421055332.GA4680>