diff options
author | Jakub Staron <jstaron@google.com> | 2019-05-13 14:59:10 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2019-05-23 07:35:16 -0700 |
commit | 6b7373af988c457d44d7d82bd7ef3e70968f058c (patch) | |
tree | c01c17661b3ac1e2c830df3612927bc36dbe0bb8 /devices/src/virtio/balloon.rs | |
parent | b42b645cfad3d405a1073ae549fad1effc5aa0df (diff) | |
download | crosvm-6b7373af988c457d44d7d82bd7ef3e70968f058c.tar crosvm-6b7373af988c457d44d7d82bd7ef3e70968f058c.tar.gz crosvm-6b7373af988c457d44d7d82bd7ef3e70968f058c.tar.bz2 crosvm-6b7373af988c457d44d7d82bd7ef3e70968f058c.tar.lz crosvm-6b7373af988c457d44d7d82bd7ef3e70968f058c.tar.xz crosvm-6b7373af988c457d44d7d82bd7ef3e70968f058c.tar.zst crosvm-6b7373af988c457d44d7d82bd7ef3e70968f058c.zip |
crosvm: Removes used_desc_heads arrays from various virtio devices.
BUG=None TEST=tast run ${IP} vm.CrostiniStartEverything Change-Id: I14bdc330bff23ef3397251a81bdf63e37c1e1dfd Reviewed-on: https://chromium-review.googlesource.com/1611014 Commit-Ready: Jakub StaroĊ <jstaron@google.com> Tested-by: kokoro <noreply+kokoro@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org>
Diffstat (limited to 'devices/src/virtio/balloon.rs')
-rw-r--r-- | devices/src/virtio/balloon.rs | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/devices/src/virtio/balloon.rs b/devices/src/virtio/balloon.rs index 2187381..451421b 100644 --- a/devices/src/virtio/balloon.rs +++ b/devices/src/virtio/balloon.rs @@ -84,9 +84,8 @@ impl Worker { &mut self.deflate_queue }; - let mut used_desc_heads = [0; QUEUE_SIZE as usize]; - let mut used_count = 0; - for avail_desc in queue.iter(&self.mem) { + let mut needs_interrupt = false; + while let Some(avail_desc) = queue.pop(&self.mem) { if inflate && valid_inflate_desc(&avail_desc) { let num_addrs = avail_desc.len / 4; for i in 0..num_addrs as usize { @@ -112,14 +111,11 @@ impl Worker { } } - used_desc_heads[used_count] = avail_desc.index; - used_count += 1; + queue.add_used(&self.mem, avail_desc.index, 0); + needs_interrupt = true; } - for &desc_index in &used_desc_heads[..used_count] { - queue.add_used(&self.mem, desc_index, 0); - } - used_count > 0 + needs_interrupt } fn signal_used_queue(&self) { |