From mboxrd@z Thu Jan 1 00:00:00 1970 From: Min Lee Subject: Re: [Q] mfn_to_gmfn macro, log-dirty bitmap, Date: Mon, 28 Jun 2010 10:51:44 -0400 Message-ID: <4C28B700.2020904@gatech.edu> References: <4C28A66B.6080103@gatech.edu> <20100628143248.GE30210@whitby.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20100628143248.GE30210@whitby.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org Thanks! now it gives me good numbers. seems to be working. I thought M2P table is somehow enabled/disabled by paging_mode_translate(_d)... So, does it mean M2P is working always regardless of paging_mode_translate(_d) ? Then what paging_mode_translate(_d) exactly indicates? Thanks a lot! Min On 6/28/2010 10:32 AM, Tim Deegan wrote: > Hi, > > At 14:40 +0100 on 28 Jun (1277736059), Min Lee wrote: >> Hi, folks. >> I'm running 32bit PV-domu on 64bit xen&dom0 and I'm using >> XEN_DOMCTL_SHADOW_OP_PEEK to get log-dirty bitmap. >> First, I'm assuming this bitmap is indexed by gmfn, right? because we're >> passing p2m->size parameter to xen. > > The log-dirty bitmap is indexed by guest _PFN_, even for PV guests. > (see the comment at about line 400 of asm-x86/mm.h for an explanation of > the *fn terminology, and the confusion around "gmfn" in particular). > >> Second, I have mfn (not gmfn) which I want to translate to gmfn so that I >> can correctly read corresponding bit in log-dirty bitmap. so I've tried >> mfn_to_gmfn() macro below but it doesn't seem to work. (always mfn==gmfn) >> Maybe because m2p table is not enabled? > > The mfn_to_gmfn macro translates to GFNs (for historical reasons, IIRC > to do with earlier shadow pagetable implementations). To inspect the > logdirty bitmap you want to translate to PFNs, so you should call > get_gpfn_from_mfn() directly. > > Cheers, > > Tim. > >> How can I properly do mfn_to_gmfn? >> >> #define mfn_to_gmfn(_d, mfn) \ >> ( (paging_mode_translate(_d)) \ >> ? get_gpfn_from_mfn(mfn) \ >> : (mfn) ) >> >> >> Thanks for any help. >> Min >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel >