search for: gfn_to_mfn

Displaying 13 results from an estimated 13 matches for "gfn_to_mfn".

Did you mean: pfn_to_mfn
2011 Nov 01
2
xenpaing: one way to avoid paging out the page, when the corresponding mfn is in use.
...Recently many advanced memory mechanisms are introduced into Xen. One problem we found is the conflict between p2m query and setting. For example, backend drivers always map domU’s page to its own space, during the mapping procedure, situations as follow may happen, when mfn is obtained by gfn_to_mfn(), this mfn is likely to be paged out. first case: grant mapping xenpaing mfn = gfn_to_mfn(); <----------- p2m_paging_nominate() | | Check type ok paged out; |...
2011 Sep 23
2
Some problems about xenpaging
...ram--; + } + /* for other ram types */ else if ( steal_for_cache && p2m_is_ram(t) ) { struct page_info *page; 2) fix the race between POD and xenpaging situation can be described as the follow xenpaging POD mfn = gfn_to_mfn() mfn = gfn_to_mfn() check p2m type check p2mt p2m_lock change p2m type p2m_unlock add to pod list p2m_lock() change p2m type p2m_unlock put_page() t...
2007 Dec 05
13
[PATCH] unshadow the page table page which are used as data page
The patch deals with the situation which guest OS uses unused page table pages as data pages and write data to them. The pages will still be grabbed by Xen as page table pages, and lots of unnecessary page faults occur. The patch will check if the data guest writes to the page table contains valid mfn or not, if not, we believe it is a data page now and then unshadow the page. The patch
2009 Jan 31
2
Re: Debugging Xen via serial console
Hi, kdb: to debug xen hypervisor, could also debug guests gdbsx: to debug PV/HVM linux guests The tree is : http://xenbits.xensource.com/ext/debuggers.hg See README-dbg. You''ll need to setup serial access for kdb. Thanks, Mukesh > > Hi Dan, > > I''m currently using your version of ssplitd as it is. I haven''t tried > kdb. For some reason I
2011 Sep 08
5
[PATCH 0 of 2] v2: memshare/xenpaging/xen-access fixes for xen-unstable
The following two patches allow the parallel use of memsharing, xenpaging and xen-access by using an independent ring buffer for each feature. Please review. v2: - update mem_event_check_ring arguments, check domain rather than domain_id - check ring_full first because its value was just evaluated - check if ring buffer is initialized before calling mem_access_domctl/mem_paging_domctl
2011 Jul 18
1
Re: trip to shanghai
...et(xc_map_foreign_bulk) is failing: > > do_mmu_update > ->mod_l1_entry > -> if ( !p2m_is_ram(p2mt) || unlikely(mfn == INVALID_MFN) ) > return -EINVAL; > > mfn==INVALID_MFN, because : > > mod_l1_entry > ->gfn_to_mfn(p2m_get_hostp2m(pg_dom), l1e_get_pfn(nl1e), &p2mt)); > ->p2m->get_entry > ->p2m_gfn_to_mfn > -> if ( gfn > p2m->max_mapped_pfn ) > /* This pfn is higher than the...
2009 Apr 22
7
Consult some concepts about shadow paging mechanism
Dear All: I am pretty new to xen-devel, please correct me in the following. Assume we have the following terms GPT: guest page table SPT: shadow page table (Question a) When guest OS is running, is it always using SPT for address translation? If it is the case, how does guest OS refer and modify its own GPT content? It seems that there is a page table entry in SPT for the GPT page. (Question
2011 Nov 24
0
[PATCH 6/6] X86: implement PCID/INVPCID for hvm
...00 @@ -1004,7 +1004,7 @@ static void vmx_load_pdptrs(struct vcpu if ( !hvm_pae_enabled(v) || (v->arch.hvm_vcpu.guest_efer & EFER_LMA) ) return; - if ( cr3 & 0x1fUL ) + if ( (cr3 & 0x1fUL) && !hvm_pcid_enabled(v) ) goto crash; mfn = mfn_x(gfn_to_mfn(v->domain, cr3 >> PAGE_SHIFT, &p2mt)); @@ -2661,6 +2661,7 @@ asmlinkage void vmx_vmexit_handler(struc case EXIT_REASON_ACCESS_GDTR_OR_IDTR: case EXIT_REASON_ACCESS_LDTR_OR_TR: case EXIT_REASON_VMX_PREEMPTION_TIMER_EXPIRED: + case EXIT_REASON_INVPCID: /* fall thro...
2011 Sep 28
2
event channel in xenpaging
Hi,Olaf, I have some questions about event channel in Xenpaging to ask you. 1) In xenpaging it uses Inter-Domainain Commnication (IDC) between dom0 and domU to build bidirectional connection,but I found there is only an event channel notification from xen to dom0 when page faults happens.It seems that xenpaging_resume_page()->xc_evtchn_notify() doesn''t make any difference.So why
2011 Jul 21
51
Linux Stubdom Problem
...gt;> >> do_mmu_update >>       ->mod_l1_entry >>              ->  if ( !p2m_is_ram(p2mt) || unlikely(mfn == INVALID_MFN) ) >>                          return -EINVAL; >> >>    mfn==INVALID_MFN, because : >> >> mod_l1_entry >>       ->gfn_to_mfn(p2m_get_hostp2m(pg_dom), l1e_get_pfn(nl1e), &p2mt)); >>               ->p2m->get_entry >>                         ->p2m_gfn_to_mfn >>                                -> if ( gfn > p2m->max_mapped_pfn ) >>                                    /* This pfn is...
2009 Aug 06
2
[PATCH] hvm emul: fix cmpxchg emulation to use an atomic operation
...ulate.c --- a/xen/arch/x86/hvm/emulate.c Sun Aug 02 13:43:15 2009 +0100 +++ b/xen/arch/x86/hvm/emulate.c Thu Aug 06 11:39:37 2009 +0100 @@ -520,6 +520,183 @@ return X86EMUL_OKAY; } +/* Translate a VA to an MFN, injecting a page-fault if we fail */ +#define BAD_GVA_TO_GFN (~0UL) +#define BAD_GFN_TO_MFN (~1UL) +#define READONLY_GFN (~2UL) +static mfn_t emulate_gva_to_mfn( + struct vcpu *v, + unsigned long vaddr) +{ + unsigned long gfn; + mfn_t mfn; + p2m_type_t p2mt; + uint32_t pfec = PFEC_page_present | PFEC_write_access; + + /* Translate the VA to a GFN */ + gfn = pagin...
2010 Sep 15
15
xenpaging fixes for kernel and hypervisor
Patrick, there following patches fix xenpaging for me. Granttable handling is incomplete. If a page is gone, a GNTST_eagain should be returned to the caller to inidcate the hypercall has to be retried after a while, until the page is available again. Please review. Olaf _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com
2011 Nov 08
48
Need help with fixing the Xen waitqueue feature
The patch ''mem_event: use wait queue when ring is full'' I just sent out makes use of the waitqueue feature. There are two issues I get with the change applied: I think I got the logic right, and in my testing vcpu->pause_count drops to zero in p2m_mem_paging_resume(). But for some reason the vcpu does not make progress after the first wakeup. In my debugging there is one