class PhysicalPageProvider
Defined at line 30 of file ../../zircon/kernel/vm/include/vm/physical_page_provider.h
Page provider implementation that provides requested loaned physical pages.
This is used by contiguous VMOs which have had pages decommitted, when the pages are again
committed. The reason we use a PageProvider for this is it lines up well with the pager model in
the sense that a page request can be processed while not holding the contiguous VMO's lock.
PhysicalPageProvider always operates async (similar to PagerProxy), because we'd like to (in
typical non-overlapping commit/decommit usage) have one batch that covers the entire commit,
regardless of the fact that some of the pages may already be free and therefore could be
immediately obtained. Quite often at least one page will be presently owned by a different
VMO, so we may as well always do one big async batch that deals with all the presently
non-FREE pages.
Public Methods
void PhysicalPageProvider (uint64_t size)
Defined at line 24 of file ../../zircon/kernel/vm/physical_page_provider.cc
void ~PhysicalPageProvider ()
Defined at line 26 of file ../../zircon/kernel/vm/physical_page_provider.cc
void Init (VmCowPages * cow_pages, PageSource * page_source, paddr_t phys_base)
Called shortly after construction, before any use.
Defined at line 60 of file ../../zircon/kernel/vm/physical_page_provider.cc