Commit Graph

5803 Commits

Author SHA1 Message Date
Sebastien Boeuf
885dce4082 deps: Move to latest vm-virtio and vhost-user-backend releases
Move to release version v0.2.0 for both vm-virtio and vhost-user-backend
crates rather than relying on their main branch, as they might be
subject to breaking changes.

Fixes #3800

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-03-07 13:30:42 +00:00
Rob Bradford
7e146a2057 Revert "scripts: Pass-through '--test-filter' option to performance-metrics"
This reverts commit 0be2d09778.

See: #3813

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-03-07 11:31:52 +00:00
Rob Bradford
37ea979e56 main: Use non-threaded signal handler for SIGSYS
Replace the thread for handling SIGSYS with a simple signal handler.
This resolves inconsistent delivery of signals to the SIGSYS thread due
to other threads manipulating the signals.

Tested by removing key syscalls from vCPU and virtio device filters and
observing correct notice.

Fixes: #3811

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-03-07 11:31:19 +00:00
dependabot[bot]
8b1e6140d2 build: bump virtio-queue from bbb22d4 to c1c4c03 in /fuzz
Bumps [virtio-queue](https://github.com/rust-vmm/vm-virtio) from `bbb22d4` to `c1c4c03`.
- [Release notes](https://github.com/rust-vmm/vm-virtio/releases)
- [Commits](bbb22d4355...c1c4c03978)

---
updated-dependencies:
- dependency-name: virtio-queue
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-04 23:52:25 +00:00
Bo Chen
0be2d09778 scripts: Pass-through '--test-filter' option to performance-metrics
To be consistently with the integration scripts, we now pass through the
`--test-filter` option of the test scripts to the `performance-metrics`
binary. Now the following two commands achieve the same results:

`$./scripts/dev_cli.sh tests --metrics -- --test-filter boot_time_ -- --test-filter latency`
`$./scripts/dev_cli.sh tests --metrics -- -- --test-filter boot_time_ --test-filter latency`

Note that, the test scripts support only single occurrence of the
`--test-filter` option while the `performance-metrics` binary allows
multiple occurrences for filtering based on different keywords.

Fixes: #3787

Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-03-04 13:22:56 -08:00
Rob Bradford
a7a8a05c14 build: Add "test_infra" crate to workspace
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-03-04 17:12:13 +01:00
Wei Liu
4cf22e4ec7 arch: do not hardcode MMIO region length in MmioDeviceInfo
Add a field for its length and fix up users.

Things work just because all hardcoded values agree with each other.
This is prone to breakage.

No functional change.

Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-03-04 15:21:48 +08:00
dependabot[bot]
288a1c2dd1 build: bump vhost-user-backend from bbc892b to 6e66d2c
Bumps [vhost-user-backend](https://github.com/rust-vmm/vhost-user-backend) from `bbc892b` to `6e66d2c`.
- [Release notes](https://github.com/rust-vmm/vhost-user-backend/releases)
- [Commits](bbc892ba45...6e66d2c1a4)

---
updated-dependencies:
- dependency-name: vhost-user-backend
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-03 23:57:35 +00:00
dependabot[bot]
ec9df5c64a build: bump once_cell from 1.9.0 to 1.10.0 in /fuzz
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/matklad/once_cell/releases)
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md)
- [Commits](https://github.com/matklad/once_cell/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: once_cell
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-03 23:54:09 +00:00
dependabot[bot]
5f3afaf282 build: bump libfuzzer-sys from 0.4.2 to 0.4.3 in /fuzz
Bumps [libfuzzer-sys](https://github.com/rust-fuzz/libfuzzer) from 0.4.2 to 0.4.3.
- [Release notes](https://github.com/rust-fuzz/libfuzzer/releases)
- [Changelog](https://github.com/rust-fuzz/libfuzzer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-fuzz/libfuzzer/compare/0.4.2...0.4.3)

---
updated-dependencies:
- dependency-name: libfuzzer-sys
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-03 23:37:06 +00:00
Rob Bradford
638c4a5781 performance-metrics: Use friendlier metric units
* Boot time in ms
* Network throughput in Gbps
* Block throughput in MiBps

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-03-03 11:39:55 -08:00
Rob Bradford
446d2c89d9 build: Use single version of vhost-user-backend
Using multiple different versions breaks vendoring.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-03-03 17:46:28 +00:00
Rob Bradford
d6895188b1 build: Use consistent version of dirs crate
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-03-03 16:59:58 +00:00
Rob Bradford
e2e070ad8a github: Install missing musl tools
Needed since:

commit 0ab4097606
Author: Bo Chen <chen.bo@intel.com>
Date:   Thu Feb 10 18:29:53 2022 -0800

    test_infra: Enable cross-build for "musl" and "aarch64" targets

    With enabling the `vendered-openssl` feature, we can now cross-build the
    `test_infra` crate for  "musl" and "aarch64" targets. In this way, we
    can remove the `test_infra` crate from the "exclude" list, so that this
    crate can be checked and processed by "cargo clippy" and "cargo fmt".

    More details can be found: https://docs.rs/openssl/latest/openssl/#vendored

    As 'musl-gcc' is required, this commit also installs the `musl-tools`
    package for our "build" github action on the musl target [1].

    [1] https://github.com/actions-rs/toolchain/issues/102

    Signed-off-by: Bo Chen <chen.bo@intel.com>

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-03-03 15:38:36 +00:00
Rob Bradford
6aa10938e4 build: Release v22.0
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-03-03 15:06:16 +00:00
Rob Bradford
7936bfe680 Dockerfile, scripts: Update container Rust to latest stable
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-03-03 12:35:41 +00:00
dependabot[bot]
29b522e464 build: bump termcolor from 1.1.2 to 1.1.3
Bumps [termcolor](https://github.com/BurntSushi/termcolor) from 1.1.2 to 1.1.3.
- [Release notes](https://github.com/BurntSushi/termcolor/releases)
- [Commits](https://github.com/BurntSushi/termcolor/compare/1.1.2...1.1.3)

---
updated-dependencies:
- dependency-name: termcolor
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-03 01:16:51 +00:00
dependabot[bot]
da6df6bddf build: bump clap from 3.1.3 to 3.1.5 in /fuzz
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.3 to 3.1.5.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v3.1.3...v3.1.5)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-03 00:46:41 +00:00
dependabot[bot]
b4dd3a52c5 build: bump vm-fdt from dccd69c to ca35d96
Bumps [vm-fdt](https://github.com/rust-vmm/vm-fdt) from `dccd69c` to `ca35d96`.
- [Release notes](https://github.com/rust-vmm/vm-fdt/releases)
- [Commits](dccd69c9b2...ca35d96191)

---
updated-dependencies:
- dependency-name: vm-fdt
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-03 00:16:42 +00:00
dependabot[bot]
4ff11f5dfa build: bump termcolor from 1.1.2 to 1.1.3 in /fuzz
Bumps [termcolor](https://github.com/BurntSushi/termcolor) from 1.1.2 to 1.1.3.
- [Release notes](https://github.com/BurntSushi/termcolor/releases)
- [Commits](https://github.com/BurntSushi/termcolor/compare/1.1.2...1.1.3)

---
updated-dependencies:
- dependency-name: termcolor
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-03 00:00:30 +00:00
dependabot[bot]
40faac3d85 build: bump clap from 3.1.3 to 3.1.5
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.3 to 3.1.5.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v3.1.3...v3.1.5)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-02 23:50:35 +00:00
Barret Rhoden
cbf5068e17 net_util: split create_socket() into AF_UNIX and AF_INET varieties
Some host kernels are IPv6-only, and they cannot make an AF_INET socket.
The tun ioctls such as SIOCGIFHWADDR work with an AF_UNIX socket, which
all host kernels should have.

Signed-off-by: Barret Rhoden <brho@google.com>
2022-03-02 17:07:29 +01:00
Michael Zhao
2c3908eed9 scripts: Remove some obselete settings for musl
Additional settings on `TARGET_CC` and `CFLAGS` for `musl` target are no
longer needed on X86_64.

Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2022-03-02 14:12:29 +00:00
Michael Zhao
8ba1bc7621 scripts: Fix musl build error in AArch64 unit test
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2022-03-02 14:12:29 +00:00
Michael Zhao
8d11ba4833 Jenkinsfile: Test musl target on AArch64
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2022-03-02 14:12:29 +00:00
Michael Zhao
273098ee99 scripts: Fix musl build error in integration tests
Signed-off-by: Michael Zhao <michael.zhao@arm.com>
2022-03-02 14:12:29 +00:00
dependabot[bot]
84f1377903 build: bump virtio-queue from 15effce to bbb22d4 in /fuzz
Bumps [virtio-queue](https://github.com/rust-vmm/vm-virtio) from `15effce` to `bbb22d4`.
- [Release notes](https://github.com/rust-vmm/vm-virtio/releases)
- [Commits](15effcedd4...bbb22d4355)

---
updated-dependencies:
- dependency-name: virtio-queue
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-01 23:44:48 +00:00
Rob Bradford
9592accb46 performance-metrics: Rename virtio_net_latency_ns->virtio_net_latency_us
The unit from ethr is microseconds.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-03-01 08:44:57 -08:00
dependabot[bot]
a25b49e80c build: bump clap from 3.1.2 to 3.1.3
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v3.1.2...v3.1.3)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-01 09:10:36 +01:00
Sebastien Boeuf
b0324f8557 scripts: Fix musl build on aarch64
Adding the missing TARGET_CC environment variable to get the build to
complete correctly.

Fixes #3776

Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-03-01 13:29:40 +08:00
dependabot[bot]
faa632feaa build: bump clap from 3.1.2 to 3.1.3 in /fuzz
Bumps [clap](https://github.com/clap-rs/clap) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/v3.1.2...v3.1.3)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-01 00:08:02 +00:00
dependabot[bot]
421e51fb55 build: bump redox_syscall from 0.2.10 to 0.2.11
Bumps redox_syscall from 0.2.10 to 0.2.11.

---
updated-dependencies:
- dependency-name: redox_syscall
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-28 23:51:05 +00:00
Wei Liu
71370d7e15 virtio-devices: drop error message from notification BAR read
After writing to an address, Windows 11 on ARM64 unconditionally reads
it back. It is harmless. Drop the error message to avoid spamming.

Fixes: #3732

Signed-off-by: Wei Liu <liuwe@microsoft.com>
2022-02-26 10:53:36 +00:00
Rob Bradford
8458696094 performance-metrics: Rename git_committer_date to git_commit_date
The former implies a person rather than a thing.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 12:52:27 -08:00
Rob Bradford
4cc44f8cc7 performance-metrics: Trim whitespace from git command output
This removes trailing "\n"s from the strings saved in the JSON file.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 12:52:27 -08:00
Rob Bradford
846bd3a504 performance-metrics: Always derive core count from number of queues
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 12:52:27 -08:00
Rob Bradford
c11d430651 performance-metrics: Don't use multipler for vCPU count on block test
This looks like it was copy and pasted from the network test which
required 2 vCPUs per queue pair but has since been resolved.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 12:52:27 -08:00
Rob Bradford
9978aac402 performance-metrics: Consistently rename queue_num to num_queues
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 12:52:27 -08:00
Rob Bradford
082872423f performance-metrics: Fix test label to remove duplicated "bps"
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 12:52:27 -08:00
Rob Bradford
b869e65e7e Jenkinsfile: Remove filter to run all metrics
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
04bfb3d93e Jenkinsfile: Fix whitespace issues
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
acafda6739 performance-metrics: Consistently use "test_timeout" over "test_time"
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
6db3d89837 performance-metrics: Remove "performance_" prefix from report results
We know that these are all performance results.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
7c965538a6 performance-metrics: Use default queue sizes
Using the default queue sizes provides more realistic data about what
our users are testing. Extra metrics can be added later that also
modify the queue size but overloading the existing metrics is confusing.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
f254f11b48 performance-metrics: Specify queue details for latency test
The latency is the most sensitive to queue size changes.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
18d51d3bd1 performance-metrics: Be consistent with num_queues
Don't treat it as the number of pairs. Instead calculate the number of
pairs later when necessary.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
70a3564a5e performance-metrics: Suffix tests with unit
Also be clear that the block tests are in bytes per second (Bps) vs
network that is in bits per second (bps).

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
128d0984a2 performance-metrics: Add missing copyright & SPDX header
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
5e3d72671b performance-metrics: Rename queue_num to num_queues
The former is ambiguous as it could be considered the ordinal (and is
used elsewhere in the codebase for that).

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00
Rob Bradford
60d805771b performance-metrics: Rename test_time to test_timeout
This clarifies its usage vs the more ambiguous name.

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-02-25 16:28:27 +00:00