Lines Matching refs:offset
24 inline uint64_t offset_to_node_offset(uint64_t offset) { in offset_to_node_offset() argument
25 return ROUNDDOWN(offset, PAGE_SIZE * VmPageListNode::kPageFanOut); in offset_to_node_offset()
28 inline uint64_t offset_to_node_index(uint64_t offset) { in offset_to_node_index() argument
29 return (offset >> PAGE_SIZE_SHIFT) % VmPageListNode::kPageFanOut; in offset_to_node_index()
46 VmPageListNode::VmPageListNode(uint64_t offset) in VmPageListNode() argument
47 : obj_offset_(offset) { in VmPageListNode()
99 zx_status_t VmPageList::AddPage(vm_page* p, uint64_t offset) { in AddPage() argument
100 uint64_t node_offset = offset_to_node_offset(offset); in AddPage()
101 size_t index = offset_to_node_index(offset); in AddPage()
103 …F_LEVEL(2, "%p page %p, offset %#" PRIx64 " node_offset %#" PRIx64 " index %zu\n", this, p, offset, in AddPage()
127 vm_page* VmPageList::GetPage(uint64_t offset) { in GetPage() argument
128 uint64_t node_offset = offset_to_node_offset(offset); in GetPage()
129 size_t index = offset_to_node_index(offset); in GetPage()
131 …LTRACEF_LEVEL(2, "%p offset %#" PRIx64 " node_offset %#" PRIx64 " index %zu\n", this, offset, node… in GetPage()
143 bool VmPageList::RemovePage(uint64_t offset, vm_page_t** page_out) { in RemovePage() argument
146 uint64_t node_offset = offset_to_node_offset(offset); in RemovePage()
147 size_t index = offset_to_node_index(offset); in RemovePage()
149 …LTRACEF_LEVEL(2, "%p offset %#" PRIx64 " node_offset %#" PRIx64 " index %zu\n", this, offset, node… in RemovePage()
190 auto per_page_func = [&list](vm_page*& p, uint64_t offset) { in FreePages() argument
218 auto per_page_func = [&](vm_page*& p, uint64_t offset) { in FreeAllPages() argument
243 VmPageSpliceList VmPageList::TakePages(uint64_t offset, uint64_t length) { in TakePages() argument
244 VmPageSpliceList res(offset, length); in TakePages()
245 const uint64_t end = offset + length; in TakePages()
249 while (offset_to_node_index(offset) != 0 && offset < end) { in TakePages()
251 if (RemovePage(offset, &page)) { in TakePages()
252 res.head_.AddPage(page, offset_to_node_index(offset)); in TakePages()
254 offset += PAGE_SIZE; in TakePages()
259 while (offset_to_node_offset(offset) != offset_to_node_offset(end)) { in TakePages()
260 ktl::unique_ptr<VmPageListNode> node = list_.erase(offset_to_node_offset(offset)); in TakePages()
264 offset += (PAGE_SIZE * VmPageListNode::kPageFanOut); in TakePages()
268 while (offset < end) { in TakePages()
270 if (RemovePage(offset, &page)) { in TakePages()
271 res.tail_.AddPage(page, offset_to_node_index(offset)); in TakePages()
273 offset += PAGE_SIZE; in TakePages()
281 VmPageSpliceList::VmPageSpliceList(uint64_t offset, uint64_t length) in VmPageSpliceList() argument
282 : offset_(offset), length_(length) { in VmPageSpliceList()