Skip to content
This repository was archived by the owner on Jul 17, 2025. It is now read-only.

Commit e7aa269

Browse files
committed
Fix shmemalloc out of memory error
1 parent d39dc3d commit e7aa269

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

kernel/src/memory/shmemalloc.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,17 @@ unsafe impl Allocator for ShmemAlloc {
3333

3434
let ptr = unsafe { alloc(layout) };
3535

36-
// TODO(rackscale performance): should probably be debug_assert
37-
assert!(
38-
is_shmem_addr(ptr as u64, true, true),
39-
"allocated pointer ({}) isn't shmem: {} {} {}",
40-
ptr as u64,
41-
is_shmem_addr(ptr as u64, false, false),
42-
is_shmem_addr(ptr as u64, false, true),
43-
is_shmem_addr(ptr as u64, true, false)
44-
);
45-
4636
let ret = if !ptr.is_null() {
37+
// TODO(rackscale performance): should probably be debug_assert
38+
assert!(
39+
is_shmem_addr(ptr as u64, true, true),
40+
"allocated pointer ({}) isn't shmem: {} {} {}",
41+
ptr as u64,
42+
is_shmem_addr(ptr as u64, false, false),
43+
is_shmem_addr(ptr as u64, false, true),
44+
is_shmem_addr(ptr as u64, true, false)
45+
);
46+
4747
Ok(unsafe {
4848
let nptr = NonNull::new_unchecked(ptr);
4949
NonNull::slice_from_raw_parts(nptr, layout.size())

kernel/tests/s11_rackscale_benchmarks.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ fn rackscale_vmops_benchmark(is_shmem: bool) {
375375
let timeout = 120_000 + 20000 * total_cores as u64;
376376

377377
// TODO(rackscale): probably scale with nclients?
378-
let shmem_size = SHMEM_SIZE;
378+
let shmem_size = SHMEM_SIZE * 2;
379379
let all_outputs = Arc::new(Mutex::new(Vec::new()));
380380

381381
// Run baseline test if needed

0 commit comments

Comments
 (0)