Files
kata-containers/docs
David Gibson 8bbcb06af5 qemu: Disable SHPC hotplug
Under certain circumstances[0] Kata will attempt to use SHPC hotplug
for PCI devices on the guest.  In fact we explicitly enable SHPC on
our PCI to PCI bridges, regardless of the qemu default.

SHPC was designed a long, long time ago for physical hotplugging and
works very poorly for a virtual environment. In particular it has a
mandatory 5s delay to allow a (real, human) operator to back out the
operation if they press a button by mistake. This alone makes it
unusable for a fast start up application like Kata.

Worse, the agent forces a PCI rescan during startup.  That will race
with the SHPC hotplug operation causing the device to go into a bad
state where config space can't be accessed from the guest at all.

The only reason we've sort of gotten away with this is that our
default guest kernel configuration triggers what's arguably a kernel
bug effectively disabling SHPC.  That makes the agent rescan the only
reason we see the new device.

Now that we require a qemu >=6.1, which includes ACPI PCI hotplug on
the q35 machine, we can explicitly disable SHPC in all cases.  It's
nothing but trouble.

fixes #2174

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2021-09-23 10:27:26 +10:00
..
2021-09-23 10:27:26 +10:00
2021-07-30 10:58:22 +01:00
2021-07-30 10:58:22 +01:00
2020-06-23 21:27:23 -07:00
2021-07-30 10:58:22 +01:00

Documentation

The Kata Containers documentation repository hosts overall system documentation, with information common to multiple components.

For details of the other Kata Containers repositories, see the repository summary.

Getting Started

More User Guides

Howto guides

See the howto documentation.

Kata Use-Cases

Developer Guide

Documents that help to understand and contribute to Kata Containers.

Design and Implementations

How to Contribute

Code Licensing

  • Licensing: About the licensing strategy of Kata Containers.

The Release Process

Help Improving the Documents

Website Changes

If you have a suggestion for how we can improve the website, please raise an issue (or a PR) on the repository that holds the source for the website.