[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 0/6] AER unrecoverable error containment
This patch set is part of a set of patchs that together allow containment of unrecoverable AER errors from PCIe devices assigned to guests in passthrough mode. The containment is achieved by killing the guest and hiding the device upon receiving the fatal AER error. The overall approach is: 1. Change the BIOS settings such that the AER error handling is delegated to the host. 2. Change the xen_pciback driver to store the name (SBDF) of the erring device in xenstore. 3. At the time of creating the guest, setup a watcher for such writes to the xenstore. 4. When the watcher is kicked off due to errors, *destroy* the guest and mark the erring device as unassignable until administrative intervention. 5. Provide command line tools to manage the erring devices. This part implements the support for automatically destroying the guest that has the device assigned to it, and marking the device as hidden. Also implemented are the command line tools to manage the hidden devices. Note: When unrecoverable AER errors are detected from the PCIe devices assigned to guests in passthrough mode, BIOS's bring down the server, thus bringing down the entire hypervisor. For this patch set to work, the AER error handling needs to be delegated to the host operating system. Venu Busireddy (6): xen: Add support for hiding and unhiding pcie passthrough devices xl: Add commands for hiding and unhiding pcie passthrough devices libxc: Add wrappers for new commands libxl: Add wrappers for new commands and add AER error handler tools/python/xc: Update pyxc_methods with new commands docs: Document the new commands. docs/man/xl.pod.1.in | 24 ++++++ tools/libxc/include/xenctrl.h | 4 + tools/libxc/xc_domain.c | 38 +++++++++ tools/libxl/libxl.h | 3 + tools/libxl/libxl_event.h | 2 + tools/libxl/libxl_pci.c | 150 +++++++++++++++++++++++++++++++++ tools/python/xen/lowlevel/xc/xc.c | 84 +++++++++++++++++++ tools/xl/xl.h | 3 + tools/xl/xl_cmdtable.c | 17 ++++ tools/xl/xl_pci.c | 125 +++++++++++++++++++++++++++- tools/xl/xl_vmcontrol.c | 11 +++ xen/common/domctl.c | 6 ++ xen/drivers/passthrough/pci.c | 161 ++++++++++++++++++++++++++++++++++-- xen/include/public/domctl.h | 3 + xen/include/xsm/dummy.h | 18 ++++ xen/include/xsm/xsm.h | 16 ++++ xen/xsm/dummy.c | 3 + xen/xsm/flask/hooks.c | 19 +++++ xen/xsm/flask/policy/access_vectors | 6 +- 19 files changed, 679 insertions(+), 14 deletions(-) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |