Skip to content

Commit fa11305

Browse files
committed
add tracing to free lists
1 parent f306571 commit fa11305

File tree

2 files changed

+24
-8
lines changed

2 files changed

+24
-8
lines changed

src/mm/physicalmem.rs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,24 @@ pub fn allocate_physical(size: usize, align: usize) -> Result<PhysAddr, AllocErr
2929
.lock()
3030
.allocate(PageLayout::from_size_align(size, align).unwrap())
3131
.map_err(|_| AllocError)?;
32+
trace!(
33+
"allocate physical: 0x{:x}..0x{:x}",
34+
page_range.start(),
35+
page_range.end()
36+
);
3237
Ok(PhysAddr::new(page_range.start() as u64))
3338
}
3439

3540
/// Deallocate memory previously allocated with [allocate_physical].
3641
pub unsafe fn deallocate_physical(addr: PhysAddr, size: usize) {
42+
let page_range = PageRange::new(addr.as_u64() as usize, size).unwrap();
43+
trace!(
44+
"deallocate physical: 0x{:x}..0x{:x}",
45+
page_range.start(),
46+
page_range.end()
47+
);
3748
unsafe {
38-
PHYSICAL_FREE_LIST
39-
.lock()
40-
.deallocate(PageRange::new(addr.as_u64() as usize, size).unwrap())
41-
.unwrap();
49+
PHYSICAL_FREE_LIST.lock().deallocate(page_range).unwrap();
4250
}
4351
}
4452

src/mm/virtualmem.rs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,24 @@ pub fn allocate_virtual(size: usize, align: usize) -> Result<VirtAddr, AllocErro
1313
.lock()
1414
.allocate(PageLayout::from_size_align(size, align).unwrap())
1515
.map_err(|_| AllocError)?;
16+
trace!(
17+
"allocate virtual: 0x{:x}..0x{:x}",
18+
page_range.start(),
19+
page_range.end()
20+
);
1621
Ok(VirtAddr::new(page_range.start() as u64))
1722
}
1823

1924
/// Deallocate memory previously allocated with [allocate_virtual].
2025
pub unsafe fn deallocate_virtual(addr: VirtAddr, size: usize) {
26+
let page_range = PageRange::new(addr.as_u64() as usize, size).unwrap();
27+
trace!(
28+
"deallocate virtual: 0x{:x}..0x{:x}",
29+
page_range.start(),
30+
page_range.end()
31+
);
2132
unsafe {
22-
KERNEL_FREE_LIST
23-
.lock()
24-
.deallocate(PageRange::new(addr.as_u64() as usize, size).unwrap())
25-
.unwrap();
33+
KERNEL_FREE_LIST.lock().deallocate(page_range).unwrap();
2634
}
2735
}
2836

0 commit comments

Comments
 (0)