vm: controller: implement asynchronous DETACH page requests
This commit is contained in:
@@ -13,13 +13,11 @@ enum page_request_status {
|
||||
PAGE_REQUEST_PENDING = 0,
|
||||
PAGE_REQUEST_IN_PROGRESS,
|
||||
PAGE_REQUEST_COMPLETE,
|
||||
PAGE_REQUEST_ASYNC,
|
||||
};
|
||||
|
||||
struct vm_controller {
|
||||
struct object vc_base;
|
||||
/* tree of struct vm_objects bound to this controller, keyed with the
|
||||
* equeue_key_t specified when the object(s) were created. */
|
||||
struct btree vc_objects;
|
||||
/* tree of pending page requests */
|
||||
struct btree vc_requests;
|
||||
/* the equeue to send async page requests to */
|
||||
@@ -36,7 +34,7 @@ struct page_request {
|
||||
enum page_request_status req_status;
|
||||
kern_status_t req_result;
|
||||
spin_lock_t req_lock;
|
||||
struct vm_object *req_object;
|
||||
equeue_key_t req_object;
|
||||
struct thread *req_sender;
|
||||
struct btree_node req_node;
|
||||
off_t req_offset;
|
||||
|
||||
Reference in New Issue
Block a user