Lines Matching refs:order
270 fn order2index(order: u8) -> usize { in order2index()
271 (order as usize - MIN_ORDER) as usize in order2index()
279 fn pop_front(&mut self, order: u8) -> Option<PhysAddr> { in pop_front()
361 let result: Option<PhysAddr> = alloc_in_specific_order(order as u8); in pop_front()
368 let mut current_order = (order + 1) as usize; in pop_front()
383 while current_order > order as usize { in pop_front()
410 let mut order = log2(count.data() as usize); in buddy_alloc() localVariable
411 if count.data() & ((1 << order) - 1) != 0 { in buddy_alloc()
412 order += 1; in buddy_alloc()
414 let order = (order + MIN_ORDER) as u8; in buddy_alloc() localVariable
415 if order as usize >= MAX_ORDER { in buddy_alloc()
421 let free_addr = self.pop_front(order); in buddy_alloc()
428 .map(|addr| (addr, PageFrameCount::new(1 << (order as usize - MIN_ORDER)))); in buddy_alloc()
437 unsafe fn buddy_free(&mut self, mut base: PhysAddr, order: u8) { in buddy_free()
439 let mut order = order as usize; in buddy_free() localVariable
441 while order < MAX_ORDER { in buddy_free()
443 if base.data() & ((1 << (order)) - 1) != 0 { in buddy_free()
447 order in buddy_free()
453 let buddy_addr = PhysAddr::new(base.data() ^ (1 << order)); in buddy_free()
455 let first_page_list_paddr = self.free_area[Self::order2index(order as u8)]; in buddy_free()
463 if likely(order != MAX_ORDER - 1) { in buddy_free()
493 let new_page_list_addr = if order == MIN_ORDER { in buddy_free()
512 1 << order, in buddy_free()
515 first_page_list_paddr == self.free_area[Self::order2index(order as u8)] in buddy_free()
520 self.free_area[Self::order2index(order as u8)] = new_page_list_addr; in buddy_free()
524 let first_page_list_paddr = self.free_area[Self::order2index(order as u8)]; in buddy_free()
560 let mut page_list_paddr = self.free_area[Self::order2index(order as u8)]; in buddy_free()
628 order += 1; in buddy_free()
631 assert!(order == MAX_ORDER - 1); in buddy_free()
655 let mut order = log2(count.data() as usize); in free() localVariable
656 if count.data() & ((1 << order) - 1) != 0 { in free()
657 order += 1; in free()
659 let order = (order + MIN_ORDER) as u8; in free() localVariable
661 self.buddy_free(base, order); in free()