diff --git a/CHANGELOG.md b/CHANGELOG.md index b0ab56b4db0..2767c3dbf99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,10 +33,6 @@ and this project adheres to ### Changed -- [#4875](https://github.com/firecracker-microvm/firecracker/pull/4875): - Increase default queue size for the `virtio-net` device from 256 to 512. This - decreases wait time between guest and vmm threads for network packets - processing and allows for more throughput. - [#4844](https://github.com/firecracker-microvm/firecracker/pull/4844): Upgrade `virtio-net` device to use `readv` syscall to avoid unnecessary memory copies on RX path, increasing the RX performance. diff --git a/Cargo.lock b/Cargo.lock index cf18c4387dc..ad43f6af62c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,8 +8,8 @@ version = "0.1.0" dependencies = [ "displaydoc", "thiserror", - "vm-memory 0.16.0", - "zerocopy 0.8.7", + "vm-memory", + "zerocopy 0.8.8", ] [[package]] @@ -79,9 +79,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8365de52b16c035ff4fcafe0092ba9390540e3e352870ac09933bebcaa2c8c56" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" @@ -261,9 +261,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.1.31" +version = "1.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" +checksum = "67b9470d453346108f93a59222a9a1a5724db32d0a4727b7ab7ace4b4d822dc9" dependencies = [ "jobserver", "libc", @@ -883,7 +883,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "870c3814345f050991f99869417779f6062542bcf4ed81db7a1b926ad1306638" dependencies = [ - "vm-memory 0.16.0", + "vm-memory", ] [[package]] @@ -1323,9 +1323,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.85" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", @@ -1334,18 +1334,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.65" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5" +checksum = "3b3c6efbfc763e64eb85c11c25320f0737cb7364c4b6336db90aa9ebe27a0bbd" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.65" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602" +checksum = "b607164372e89797d78b8e23a6d67d5d1038c1c65efd52e1389ef8b77caba2a6" dependencies = [ "proc-macro2", "quote", @@ -1487,7 +1487,7 @@ dependencies = [ "serde", "serde_json", "thiserror", - "vm-memory 0.16.0", + "vm-memory", "vmm-sys-util", ] @@ -1521,14 +1521,14 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "vhost" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e9f0c62b0e4d5adbb7a9dc138b6003bdf823f196a927daf7ca0ae93cafd8ce" +checksum = "bce0aad4d8776cb64f1ac591e908a561c50ba6adac4416296efee590b155623f" dependencies = [ "bitflags 2.6.0", "libc", "uuid", - "vm-memory 0.15.0", + "vm-memory", "vmm-sys-util", ] @@ -1548,17 +1548,6 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e21282841a059bb62627ce8441c491f09603622cd5a21c43bfedc85a2952f23" -[[package]] -name = "vm-memory" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a320fc11792e063174402ff444aa3c80363cbf1e31c47b5ef74124406c334ce6" -dependencies = [ - "libc", - "thiserror", - "winapi", -] - [[package]] name = "vm-memory" version = "0.16.0" @@ -1618,10 +1607,10 @@ dependencies = [ "vhost", "vm-allocator", "vm-fdt", - "vm-memory 0.16.0", + "vm-memory", "vm-superio", "vmm-sys-util", - "zerocopy 0.8.7", + "zerocopy 0.8.8", ] [[package]] @@ -1798,11 +1787,11 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.7" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb3da5f7220f919a6c7af7c856435a68ee1582fd7a77aa72936257d8335bd6f6" +checksum = "5a4e33e6dce36f2adba29746927f8e848ba70989fdb61c772773bbdda8b5d6a7" dependencies = [ - "zerocopy-derive 0.8.7", + "zerocopy-derive 0.8.8", ] [[package]] @@ -1818,9 +1807,9 @@ dependencies = [ [[package]] name = "zerocopy-derive" -version = "0.8.7" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5f54f3cc93cd80745404626681b4b9fca9a867bad5a8424b618eb0db1ae6ea" +checksum = "3cd137b4cc21bde6ecce3bbbb3350130872cda0be2c6888874279ea76e17d4c1" dependencies = [ "proc-macro2", "quote", diff --git a/docs/RELEASE_POLICY.md b/docs/RELEASE_POLICY.md index 07cfe70c9b7..fb95c55e402 100644 --- a/docs/RELEASE_POLICY.md +++ b/docs/RELEASE_POLICY.md @@ -90,9 +90,10 @@ v3.1 will be patched since were the last two Firecracker releases and less than | Release | Release Date | Latest Patch | Min. end of support | Official end of Support | | ------: | -----------: | -----------: | ------------------: | :------------------------------ | +| v1.10 | 2024-11-07 | v1.10.0 | 2025-05-07 | Supported | | v1.9 | 2024-09-02 | v1.9.1 | 2025-03-02 | Supported | | v1.8 | 2024-07-10 | v1.8.0 | 2025-01-10 | Supported | -| v1.7 | 2024-03-18 | v1.7.0 | 2024-09-18 | Supported | +| v1.7 | 2024-03-18 | v1.7.0 | 2024-09-18 | 2024-09-18 (end of 6mo support) | | v1.6 | 2023-12-20 | v1.6.0 | 2024-06-20 | 2024-07-10 (v1.8 released) | | v1.5 | 2023-10-09 | v1.5.1 | 2024-04-09 | 2024-04-09 (end of 6mo support) | | v1.4 | 2023-07-20 | v1.4.1 | 2024-01-20 | 2024-01-20 (end of 6mo support) | diff --git a/src/acpi-tables/Cargo.toml b/src/acpi-tables/Cargo.toml index abf511c0c06..4d066eb9338 100644 --- a/src/acpi-tables/Cargo.toml +++ b/src/acpi-tables/Cargo.toml @@ -8,9 +8,9 @@ license = "Apache-2.0" [dependencies] displaydoc = "0.2.5" -thiserror = "1.0.65" +thiserror = "1.0.67" vm-memory = { version = "0.16.0", features = ["backend-mmap", "backend-bitmap"] } -zerocopy = { version = "0.8.7", features = ["derive"] } +zerocopy = { version = "0.8.8", features = ["derive"] } [lib] bench = false diff --git a/src/cpu-template-helper/Cargo.toml b/src/cpu-template-helper/Cargo.toml index 4e5a746647e..a5f06010aed 100644 --- a/src/cpu-template-helper/Cargo.toml +++ b/src/cpu-template-helper/Cargo.toml @@ -16,7 +16,7 @@ libc = "0.2.161" log-instrument = { path = "../log-instrument", optional = true } serde = { version = "1.0.214", features = ["derive"] } serde_json = "1.0.132" -thiserror = "1.0.65" +thiserror = "1.0.67" vmm = { path = "../vmm" } vmm-sys-util = "0.12.1" diff --git a/src/firecracker/Cargo.toml b/src/firecracker/Cargo.toml index 9efd00098d0..28aeda87a8c 100644 --- a/src/firecracker/Cargo.toml +++ b/src/firecracker/Cargo.toml @@ -26,7 +26,7 @@ seccompiler = { path = "../seccompiler" } serde = { version = "1.0.214", features = ["derive"] } serde_derive = "1.0.136" serde_json = "1.0.132" -thiserror = "1.0.65" +thiserror = "1.0.67" timerfd = "1.6.0" utils = { path = "../utils" } vmm = { path = "../vmm" } diff --git a/src/jailer/Cargo.toml b/src/jailer/Cargo.toml index 02a2c40fed5..373c8d5e172 100644 --- a/src/jailer/Cargo.toml +++ b/src/jailer/Cargo.toml @@ -16,7 +16,7 @@ libc = "0.2.161" log-instrument = { path = "../log-instrument", optional = true } nix = { version = "0.29.0", default-features = false, features = ["dir"] } regex = { version = "1.11.1", default-features = false, features = ["std"] } -thiserror = "1.0.65" +thiserror = "1.0.67" vmm-sys-util = "0.12.1" utils = { path = "../utils" } diff --git a/src/rebase-snap/Cargo.toml b/src/rebase-snap/Cargo.toml index 227dd50a128..e962c912668 100644 --- a/src/rebase-snap/Cargo.toml +++ b/src/rebase-snap/Cargo.toml @@ -13,7 +13,7 @@ bench = false displaydoc = "0.2.5" libc = "0.2.161" log-instrument = { path = "../log-instrument", optional = true } -thiserror = "1.0.65" +thiserror = "1.0.67" vmm-sys-util = "0.12.1" utils = { path = "../utils" } diff --git a/src/seccompiler/Cargo.toml b/src/seccompiler/Cargo.toml index a00febe4b63..5854f9fb67d 100644 --- a/src/seccompiler/Cargo.toml +++ b/src/seccompiler/Cargo.toml @@ -22,7 +22,7 @@ libc = "0.2.161" log-instrument = { path = "../log-instrument", optional = true } serde = { version = "1.0.214", features = ["derive"] } serde_json = "1.0.132" -thiserror = "1.0.65" +thiserror = "1.0.67" utils = { path = "../utils" } diff --git a/src/snapshot-editor/Cargo.toml b/src/snapshot-editor/Cargo.toml index b7832164fc9..7c341cbfd13 100644 --- a/src/snapshot-editor/Cargo.toml +++ b/src/snapshot-editor/Cargo.toml @@ -17,7 +17,7 @@ fc_utils = { package = "utils", path = "../utils" } libc = "0.2.161" log-instrument = { path = "../log-instrument", optional = true } semver = "1.0.23" -thiserror = "1.0.65" +thiserror = "1.0.67" vmm = { path = "../vmm" } vmm-sys-util = "0.12.1" diff --git a/src/utils/Cargo.toml b/src/utils/Cargo.toml index aa0fd23e4fd..cc0b979bfa6 100644 --- a/src/utils/Cargo.toml +++ b/src/utils/Cargo.toml @@ -14,7 +14,7 @@ displaydoc = "0.2.5" libc = "0.2.161" log-instrument = { path = "../log-instrument", optional = true } serde = { version = "1.0.214", features = ["derive"] } -thiserror = "1.0.65" +thiserror = "1.0.67" vm-memory = { version = "0.16.0", features = ["backend-mmap", "backend-bitmap"] } vmm-sys-util = "0.12.1" diff --git a/src/vmm/Cargo.toml b/src/vmm/Cargo.toml index a55cf721e43..c9a032edb95 100644 --- a/src/vmm/Cargo.toml +++ b/src/vmm/Cargo.toml @@ -37,16 +37,16 @@ semver = { version = "1.0.23", features = ["serde"] } serde = { version = "1.0.214", features = ["derive", "rc"] } serde_json = "1.0.132" slab = "0.4.7" -thiserror = "1.0.65" +thiserror = "1.0.67" timerfd = "1.5.0" userfaultfd = "0.8.1" utils = { path = "../utils" } -vhost = { version = "0.12.1", features = ["vhost-user-frontend"] } +vhost = { version = "0.13.0", features = ["vhost-user-frontend"] } vm-allocator = "0.1.0" vm-memory = { version = "0.16.0", features = ["backend-mmap", "backend-bitmap"] } vm-superio = "0.8.0" vmm-sys-util = { version = "0.12.1", features = ["with-serde"] } -zerocopy = { version = "0.8.7" } +zerocopy = { version = "0.8.8" } [target.'cfg(target_arch = "aarch64")'.dependencies] vm-fdt = "0.3.0" diff --git a/src/vmm/src/devices/virtio/net/mod.rs b/src/vmm/src/devices/virtio/net/mod.rs index 197f2069d47..4bc5b896601 100644 --- a/src/vmm/src/devices/virtio/net/mod.rs +++ b/src/vmm/src/devices/virtio/net/mod.rs @@ -6,7 +6,7 @@ use std::io; /// Maximum size of the queue for network device. -pub const NET_QUEUE_MAX_SIZE: u16 = 512; +pub const NET_QUEUE_MAX_SIZE: u16 = 256; /// Maximum size of the frame buffers handled by this device. pub const MAX_BUFFER_SIZE: usize = 65562; /// The number of queues of the network device.