• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

xapi-project / xen-api / 16873064945
80%

Build:
DEFAULT BRANCH: master
Ran 11 Aug 2025 06:57AM UTC
Jobs 1
Files 34
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

11 Aug 2025 06:47AM UTC coverage: 80.368%. Remained the same
16873064945

push

github

web-flow
Raise VIF limit from 7 to 16 by calculating `max_grant_frames` on domain creation (#6577)

xenopsd currently hardcodes 64 as the value for `max_grant_frames` for
all domains. This limits how many grants a domain can allocate, thus
limiting the number of VIFs and VBDs a domain can have.
`max_grant_frames` can be changed for individual VMs through specifying
a particular value in `platform`, but it's much better to be able to
estimate how many grant frames a VM would need based on the number of
VBDs and VIFs.

Implement this and add some notes on the difficulties and imprecisions
of such an estimation.

This allows raising the number of supported VIFs from the current limit
of 7 - we've picked 16 as a sweet spot, though this could be discussed
further. (note that it's the `allowed_vifs` limit that's changed, VIFs
can be created in arbitrary numbers on the CLI and by clients not
honouring the `allowed_vifs` advice).

Given the current behaviour of the XenServer/XCP-ng system
(hypervisor+drivers), where more VIFs allow for higher overall
networking throughput, this is highly beneficial - in testing overall
throughput with 16 VIFs was 18-27% higher than with 8 VIFs (tested with
multiple iperf3 instances running on all interfaces simultaneously). The
following table shows the performance per-VIF and per-VM on a host with
16 pcpus with 8 vCPUs for domU and dom0 each:

![image](https://github.com/user-attachments/assets/f61488bf-90f0-4cbd-8896-176e053f708f)

Moreover, some users coming from VMWare are used to networking setups
with dozens of VIFs, and this is a step towards allowing that without
encountering any other bottlenecks in the system.

Most of this work (except the last commit) was tested very thoroughly at
XenServer, since it was initially intended to raise the supported limit
of VBDs (it passed Ring3 BST+BVT multiple times, and ran through the
config limits test several times). Raising the number of supported VBDs
has other issues so was abandoned... (continued)

3496 of 4350 relevant lines covered (80.37%)

0.8 hits per line

Jobs
ID Job ID Ran Files Coverage
1 python3.11 - 16873064945.1 11 Aug 2025 06:57AM UTC 34
80.37
GitHub Action Run
Source Files on build 16873064945
  • Tree
  • List 34
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #16873064945
  • 9eb5f9f9 on github
  • Prev Build on master (#16844933723)
  • Next Build on master (#16898052273)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc