class MultiPageRequest
Defined at line 628 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 624 of file ../../zircon/kernel/vm/page_source.cc
void MultiPageRequest ()
Defined at line 630 of file ../../zircon/kernel/vm/include/vm/page_source.h
void MultiPageRequest (bool early_wake)
Defined at line 631 of file ../../zircon/kernel/vm/include/vm/page_source.h
void CancelRequests ()
Cancel all requests and have no active request.
Defined at line 636 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 638 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 645 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 654 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 661 of file ../../zircon/kernel/vm/include/vm/page_source.h