Skip to content

Commit 3abc16d

Browse files
committed
refactor(virtio-mem): define constants as MiB
Avoid multiple conversions back and forth from MiB to bytes by just storing as MiB. Signed-off-by: Riccardo Mancini <[email protected]>
1 parent c579ba7 commit 3abc16d

File tree

3 files changed

+14
-12
lines changed

3 files changed

+14
-12
lines changed

src/firecracker/src/api_server/request/hotplug/memory.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@ pub(crate) fn parse_get_memory_hotplug() -> Result<ParsedRequest, RequestError>
2525

2626
#[cfg(test)]
2727
mod tests {
28-
use vmm::devices::virtio::mem::{VIRTIO_MEM_DEFAULT_BLOCK_SIZE, VIRTIO_MEM_DEFAULT_SLOT_SIZE};
29-
use vmm::utils::bytes_to_mib;
28+
use vmm::devices::virtio::mem::{
29+
VIRTIO_MEM_DEFAULT_BLOCK_SIZE_MIB, VIRTIO_MEM_DEFAULT_SLOT_SIZE_MIB,
30+
};
3031

3132
use super::*;
3233
use crate::api_server::parsed_request::tests::vmm_action_from_request;
@@ -47,8 +48,8 @@ mod tests {
4748
}"#;
4849
let expected_config = MemoryHotplugConfig {
4950
total_size_mib: 2048,
50-
block_size_mib: bytes_to_mib(VIRTIO_MEM_DEFAULT_BLOCK_SIZE),
51-
slot_size_mib: bytes_to_mib(VIRTIO_MEM_DEFAULT_SLOT_SIZE),
51+
block_size_mib: VIRTIO_MEM_DEFAULT_BLOCK_SIZE_MIB,
52+
slot_size_mib: VIRTIO_MEM_DEFAULT_SLOT_SIZE_MIB,
5253
};
5354
assert_eq!(
5455
vmm_action_from_request(parse_put_memory_hotplug(&Body::new(body)).unwrap()),

src/vmm/src/devices/virtio/mem/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ pub(crate) const MEM_NUM_QUEUES: usize = 1;
1313

1414
pub(crate) const MEM_QUEUE: usize = 0;
1515

16-
pub const VIRTIO_MEM_DEFAULT_BLOCK_SIZE: usize = 2 << 20; // 2MiB
17-
pub const VIRTIO_MEM_DEFAULT_SLOT_SIZE: usize = 128 << 20; // 128 MiB
16+
pub const VIRTIO_MEM_DEFAULT_BLOCK_SIZE_MIB: usize = 2;
17+
pub const VIRTIO_MEM_DEFAULT_SLOT_SIZE_MIB: usize = 128;
1818
pub const VIRTIO_MEM_GUEST_ADDRESS: GuestAddress = GuestAddress(FIRST_ADDR_PAST_64BITS_MMIO); // 512GiB
1919

2020
pub const VIRTIO_MEM_DEV_ID: &str = "mem";

src/vmm/src/vmm_config/memory_hotplug.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33

44
use serde::{Deserialize, Serialize};
55

6-
use crate::devices::virtio::mem::{VIRTIO_MEM_DEFAULT_BLOCK_SIZE, VIRTIO_MEM_DEFAULT_SLOT_SIZE};
7-
use crate::utils::bytes_to_mib;
6+
use crate::devices::virtio::mem::{
7+
VIRTIO_MEM_DEFAULT_BLOCK_SIZE_MIB, VIRTIO_MEM_DEFAULT_SLOT_SIZE_MIB,
8+
};
89

910
/// Errors associated with memory hotplug configuration.
1011
#[derive(Debug, thiserror::Error, displaydoc::Display)]
@@ -24,11 +25,11 @@ pub enum MemoryHotplugConfigError {
2425
}
2526

2627
fn default_block_size_mib() -> usize {
27-
bytes_to_mib(VIRTIO_MEM_DEFAULT_BLOCK_SIZE)
28+
VIRTIO_MEM_DEFAULT_BLOCK_SIZE_MIB
2829
}
2930

3031
fn default_slot_size_mib() -> usize {
31-
bytes_to_mib(VIRTIO_MEM_DEFAULT_SLOT_SIZE)
32+
VIRTIO_MEM_DEFAULT_SLOT_SIZE_MIB
3233
}
3334

3435
/// Configuration for memory hotplug device.
@@ -48,7 +49,7 @@ pub struct MemoryHotplugConfig {
4849
impl MemoryHotplugConfig {
4950
/// Validates the configuration.
5051
pub fn validate(&self) -> Result<(), MemoryHotplugConfigError> {
51-
let min_block_size_mib = bytes_to_mib(VIRTIO_MEM_DEFAULT_BLOCK_SIZE);
52+
let min_block_size_mib = VIRTIO_MEM_DEFAULT_BLOCK_SIZE_MIB;
5253
if self.block_size_mib < min_block_size_mib {
5354
return Err(MemoryHotplugConfigError::BlockSizeTooSmall(
5455
min_block_size_mib,
@@ -58,7 +59,7 @@ impl MemoryHotplugConfig {
5859
return Err(MemoryHotplugConfigError::BlockSizeNotPowerOfTwo);
5960
}
6061

61-
let min_slot_size_mib = bytes_to_mib(VIRTIO_MEM_DEFAULT_SLOT_SIZE);
62+
let min_slot_size_mib = VIRTIO_MEM_DEFAULT_SLOT_SIZE_MIB;
6263
if self.slot_size_mib < min_slot_size_mib {
6364
return Err(MemoryHotplugConfigError::SlotSizeTooSmall(
6465
min_slot_size_mib,

0 commit comments

Comments
 (0)