Skip to content

Commit 30aa7f4

Browse files
committed
refactor(queue): remove mem parameter from add_used method
`mem` parameter was not used for anything Signed-off-by: Egor Lazarchuk <[email protected]>
1 parent 9120f3a commit 30aa7f4

File tree

7 files changed

+20
-34
lines changed

7 files changed

+20
-34
lines changed

src/vmm/benches/queue.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ pub fn queue_benchmark(c: &mut Criterion) {
146146
for i in 0_u16..1_u16 {
147147
let index = std::hint::black_box(i);
148148
let len = std::hint::black_box(i + 1);
149-
_ = queue.add_used(&mem, index as u16, len as u32);
149+
_ = queue.add_used(index as u16, len as u32);
150150
}
151151
})
152152
});
@@ -158,7 +158,7 @@ pub fn queue_benchmark(c: &mut Criterion) {
158158
for i in 0_u16..16_u16 {
159159
let index = std::hint::black_box(i);
160160
let len = std::hint::black_box(i + 1);
161-
_ = queue.add_used(&mem, index as u16, len as u32);
161+
_ = queue.add_used(index as u16, len as u32);
162162
}
163163
})
164164
});
@@ -170,7 +170,7 @@ pub fn queue_benchmark(c: &mut Criterion) {
170170
for i in 0_u16..256_u16 {
171171
let index = std::hint::black_box(i);
172172
let len = std::hint::black_box(i + 1);
173-
_ = queue.add_used(&mem, index as u16, len as u32);
173+
_ = queue.add_used(index as u16, len as u32);
174174
}
175175
})
176176
});

src/vmm/src/devices/virtio/balloon/device.rs

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -339,9 +339,7 @@ impl Balloon {
339339

340340
// Acknowledge the receipt of the descriptor.
341341
// 0 is number of bytes the device has written to memory.
342-
queue
343-
.add_used(mem, head.index, 0)
344-
.map_err(BalloonError::Queue)?;
342+
queue.add_used(head.index, 0).map_err(BalloonError::Queue)?;
345343
needs_interrupt = true;
346344
}
347345

@@ -380,9 +378,7 @@ impl Balloon {
380378
let mut needs_interrupt = false;
381379

382380
while let Some(head) = queue.pop(mem) {
383-
queue
384-
.add_used(mem, head.index, 0)
385-
.map_err(BalloonError::Queue)?;
381+
queue.add_used(head.index, 0).map_err(BalloonError::Queue)?;
386382
needs_interrupt = true;
387383
}
388384

@@ -404,7 +400,7 @@ impl Balloon {
404400
// the protocol, but return it if we find one.
405401
error!("balloon: driver is not compliant, more than one stats buffer received");
406402
self.queues[STATS_INDEX]
407-
.add_used(mem, prev_stats_desc, 0)
403+
.add_used(prev_stats_desc, 0)
408404
.map_err(BalloonError::Queue)?;
409405
}
410406
for index in (0..head.len).step_by(SIZE_OF_STAT) {
@@ -450,14 +446,11 @@ impl Balloon {
450446
}
451447

452448
fn trigger_stats_update(&mut self) -> Result<(), BalloonError> {
453-
// This is safe since we checked in the event handler that the device is activated.
454-
let mem = self.device_state.mem().unwrap();
455-
456449
// The communication is driven by the device by using the buffer
457450
// and sending a used buffer notification
458451
if let Some(index) = self.stats_desc_index.take() {
459452
self.queues[STATS_INDEX]
460-
.add_used(mem, index, 0)
453+
.add_used(index, 0)
461454
.map_err(BalloonError::Queue)?;
462455
self.signal_used_queue()
463456
} else {

src/vmm/src/devices/virtio/block/virtio/device.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ impl VirtioBlock {
392392
irq_trigger: &IrqTrigger,
393393
block_metrics: &BlockDeviceMetrics,
394394
) {
395-
queue.add_used(mem, index, len).unwrap_or_else(|err| {
395+
queue.add_used(index, len).unwrap_or_else(|err| {
396396
error!("Failed to add available descriptor head {}: {}", index, err)
397397
});
398398

src/vmm/src/devices/virtio/net/device.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ impl Net {
409409
// Safe to unwrap because a frame must be smaller than 2^16 bytes.
410410
u32::try_from(self.rx_bytes_read).unwrap()
411411
};
412-
queue.add_used(mem, head_index, used_len).map_err(|err| {
412+
queue.add_used(head_index, used_len).map_err(|err| {
413413
error!("Failed to add available descriptor {}: {}", head_index, err);
414414
FrontendError::AddUsed
415415
})?;
@@ -606,7 +606,7 @@ impl Net {
606606
if unsafe { self.tx_buffer.load_descriptor_chain(head).is_err() } {
607607
self.metrics.tx_fails.inc();
608608
tx_queue
609-
.add_used(mem, head_index, 0)
609+
.add_used(head_index, 0)
610610
.map_err(DeviceError::QueueError)?;
611611
continue;
612612
};
@@ -616,7 +616,7 @@ impl Net {
616616
error!("net: received too big frame from driver");
617617
self.metrics.tx_malformed_frames.inc();
618618
tx_queue
619-
.add_used(mem, head_index, 0)
619+
.add_used(head_index, 0)
620620
.map_err(DeviceError::QueueError)?;
621621
continue;
622622
}
@@ -646,7 +646,7 @@ impl Net {
646646
}
647647

648648
tx_queue
649-
.add_used(mem, head_index, 0)
649+
.add_used(head_index, 0)
650650
.map_err(DeviceError::QueueError)?;
651651
used_any = true;
652652
}

src/vmm/src/devices/virtio/queue.rs

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -621,14 +621,7 @@ impl Queue {
621621
}
622622

623623
/// Puts an available descriptor head into the used ring for use by the guest.
624-
pub fn add_used<M: GuestMemory>(
625-
&mut self,
626-
mem: &M,
627-
desc_index: u16,
628-
len: u32,
629-
) -> Result<(), QueueError> {
630-
debug_assert!(self.is_valid(mem));
631-
624+
pub fn add_used(&mut self, desc_index: u16, len: u32) -> Result<(), QueueError> {
632625
if self.actual_size() <= desc_index {
633626
error!(
634627
"attempted to add out of bounds descriptor to used ring: {}",
@@ -1528,13 +1521,13 @@ mod tests {
15281521
// Valid queue addresses configuration
15291522
{
15301523
// index too large
1531-
match q.add_used(m, 16, 0x1000) {
1524+
match q.add_used(16, 0x1000) {
15321525
Err(DescIndexOutOfBounds(16)) => (),
15331526
_ => unreachable!(),
15341527
}
15351528

15361529
// should be ok
1537-
q.add_used(m, 1, 0x1000).unwrap();
1530+
q.add_used(1, 0x1000).unwrap();
15381531
assert_eq!(vq.used.idx.get(), 1);
15391532
let x = vq.used.ring[0].get();
15401533
assert_eq!(x.id, 1);

src/vmm/src/devices/virtio/rng/device.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ impl Entropy {
165165
}
166166
};
167167

168-
match self.queues[RNG_QUEUE].add_used(mem, index, bytes) {
168+
match self.queues[RNG_QUEUE].add_used(index, bytes) {
169169
Ok(_) => {
170170
used_any = true;
171171
METRICS.entropy_bytes.add(bytes.into());

src/vmm/src/devices/virtio/vsock/device.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ where
180180

181181
have_used = true;
182182
self.queues[RXQ_INDEX]
183-
.add_used(mem, index, used_len)
183+
.add_used(index, used_len)
184184
.unwrap_or_else(|err| {
185185
error!("Failed to add available descriptor {}: {}", index, err)
186186
});
@@ -206,7 +206,7 @@ where
206206
error!("vsock: error reading TX packet: {:?}", err);
207207
have_used = true;
208208
self.queues[TXQ_INDEX]
209-
.add_used(mem, index, 0)
209+
.add_used(index, 0)
210210
.unwrap_or_else(|err| {
211211
error!("Failed to add available descriptor {}: {}", index, err);
212212
});
@@ -221,7 +221,7 @@ where
221221

222222
have_used = true;
223223
self.queues[TXQ_INDEX]
224-
.add_used(mem, index, 0)
224+
.add_used(index, 0)
225225
.unwrap_or_else(|err| {
226226
error!("Failed to add available descriptor {}: {}", index, err);
227227
});
@@ -246,7 +246,7 @@ where
246246
.unwrap_or_else(|err| error!("Failed to write virtio vsock reset event: {:?}", err));
247247

248248
self.queues[EVQ_INDEX]
249-
.add_used(mem, head.index, head.len)
249+
.add_used(head.index, head.len)
250250
.unwrap_or_else(|err| {
251251
error!("Failed to add used descriptor {}: {}", head.index, err);
252252
});

0 commit comments

Comments
 (0)