Displaying 2 results from an estimated 2 matches for "p2m_mem_paging_nominate".
2011 Sep 23
2
Some problems about xenpaging
...k
add to pod list
p2m_lock()
change p2m type
p2m_unlock
put_page()
the result is a page is added to the pod list,and then it''s removed from the list by put_page.
my suggestion is to extend the range of the p2m lock to contain the p2m check.
in p2m_mem_paging_nominate() function
@@ -2532,7 +2561,8 @@
mfn_t mfn;
int ret;
- mfn = gfn_to_mfn(d, gfn, &p2mt);
+ p2m_lock(d->arch.p2m);
+ mfn = gfn_to_mfn_query(d, gfn, &p2mt);
/* Check if mfn is valid */
ret = -EINVAL;
@@ -2580,13 +2610,12 @@
goto out;
/* Fix p...
2011 Nov 01
2
xenpaing: one way to avoid paging out the page, when the corresponding mfn is in use.
...by mapping process,
the time stamp can prevent the page from being selected by paging .
2.Using access tag to avoid case 2. During the paging nomination, if the access tag of page is detected,
paging should skip selecting this page.
The pseudo-code of step 3 can be written as follow:
int p2m_mem_paging_nominate(struct domain *d, unsigned long gfn)
{
mfn = gfn_to_mfn_noreference(d, gfn, &p2mt); -----> avoid saving timestamp and access tag
if ( !mfn_valid(mfn) )
goto out;
clear_access_tag(); ----------> clear the access tag of this page
if (test_page_hot(...