class MultiPageRequest
Defined at line 631 of file ../../zircon/kernel/vm/include/vm/page_source.h
Wrapper around tracking multiple different page requests that might need waiting. Only one
individual request is allowed to considered 'active' at a time as the one that next needs waiting
on. Tracking whether a request is active is, depending on the request type, partially automatic
and partially requiring additional input from the user.
The PageRequest and LazyPageRequest access methods do not currently have a way to enforce that
those specific types of requests are made with the returned objects, however this could change
and callers are expected to use the correct method.
TODO(adanis): Implement an enforcement strategy.
Public Methods
zx_status_t Wait (bool suspendable)
Wait on the currently active page request. The waiting thread is suspendable by default.
Defined at line 625 of file ../../zircon/kernel/vm/page_source.cc
void MultiPageRequest ()
Defined at line 633 of file ../../zircon/kernel/vm/include/vm/page_source.h
void MultiPageRequest (bool early_wake)
Defined at line 634 of file ../../zircon/kernel/vm/include/vm/page_source.h
void CancelRequests ()
Cancel all requests and have no active request.
Defined at line 637 of file ../../zircon/kernel/vm/page_source.cc
AnonymousPageRequest * GetAnonymous ()
Retrieve the anonymous page request. The caller may or may not arm the AnonymousPageRequest, if
it does the anonymous request becomes considered active and no other request may be retrieved.
Defined at line 641 of file ../../zircon/kernel/vm/include/vm/page_source.h
PageRequest * GetReadRequest ()
Retrieve and commit to initializing the page request for read. After calling this it is assumed
that the page request will be made waitable and no other request may be retrieved.
Defined at line 648 of file ../../zircon/kernel/vm/include/vm/page_source.h
LazyPageRequest * GetLazyDirtyRequest ()
Retrieve a lazy accessor to page request. If a dirty request is generated the caller must
then call MadeDirtyRequest so that this helper knows that the page request is active and
should be waited on.
Defined at line 657 of file ../../zircon/kernel/vm/include/vm/page_source.h
void MadeDirtyRequest ()
Indicate that the page request retrieved by GetLazyDirtyRequest was used and should be waited
on.
Defined at line 664 of file ../../zircon/kernel/vm/include/vm/page_source.h