Re: [patch 1/9] Guest page hinting: unused / free pages.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Martin Schwidefsky wrote:
On Wed, 2006-09-13 at 10:45 -0400, Rik van Riel wrote:

But another trouble you have not mentioned is what happens to pages
with pending make-volatile that need to and/or have been made stable
in the meantime. They too need to be removed from this pending list.

At the time where you walk the set of pages (pagevec?) to make
volatile, you can check whether the page flags are still right.


A make volatile can be done anytime as long as the page is in page
cache. Before a page can be made stable the caller needs to make sure
that one of the conditions that prevent a make volatile becomes true.
So a page in the pending make-volatile array does not have to be removed
because a make stable has been done. It only has to be removed if it
gets freed.


A page that was set to be marked volatile with the hypervisor,
but later turned stable again would have that indicated in its
page flags, right?


Several page flag bits and some other conditions like "has a mapping"
and "reference count is map count + 1". Most of the checks that need to
be done for make volatile are on page flags.


Interesting..
But don't we have to do some locking on the page to avoid race conditions?
A page needs to be consistent between check through __page_discardable and
committing to the hypervisor. We could raise the PG_state_change flag for
that period.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux