Message ID | 1442957992-27432-1-git-send-email-dan.streetman@canonical.com |
---|---|
State | New |
Headers | show |
Seems reasonable
On Tue, Sep 22, 2015 at 05:39:52PM -0400, dan.streetman@canonical.com wrote: > BugLink: http://bugs.launchpad.net/bugs/1479031 > > SRU Justification: > > Impact: pci hotplug events are lost, and pci devices are ignored > Fix: build pci hotplug driver into kernel > Testcase: start virtual guest and immediately hotplug a pci drive > > In -precise, the pci hotplug driver is compiled as a module, but the pci > subsystem is built-in. This significant amount of time (several seconds) > between when the pci devices are enumerated, and when the pci hotplug > driver begins listening for pci hotplug events (several seconds). Any > pci devices hotplugged in that interval are ignored. For virtual guests, > it is possible to hit this window if a drive is added to the virtual guest > immediately after starting it. > > This simply compiles the pci hotplug driver into the kernel, which reduces > the interval where pci hotplug events may be missed down to a fraction of > a second (around ~1/4 second). This isn't 100% safe, but it's far better > than it was with pci hotplug compiled as a module. > > Note that commit 3b63aa essentially fixes this, by directly initializing > pci hotplug from the pci subsystem initialization; so this problem exists > only in -precise. > > Signed-off-by: Dan Streetman <dan.streetman@canonical.com> > --- > debian.master/abi/3.2.0-90.128/amd64/generic.modules | 1 - > debian.master/abi/3.2.0-90.128/amd64/virtual.modules | 1 - > debian.master/abi/3.2.0-90.128/i386/generic-pae.modules | 1 - > debian.master/abi/3.2.0-90.128/i386/generic.modules | 1 - > debian.master/abi/3.2.0-90.128/i386/virtual.modules | 1 - > debian.master/config/config.common.ubuntu | 2 +- > 6 files changed, 1 insertion(+), 6 deletions(-) > > diff --git a/debian.master/abi/3.2.0-90.128/amd64/generic.modules b/debian.master/abi/3.2.0-90.128/amd64/generic.modules > index 198991f..bfa2dd2 100644 > --- a/debian.master/abi/3.2.0-90.128/amd64/generic.modules > +++ b/debian.master/abi/3.2.0-90.128/amd64/generic.modules > @@ -41,7 +41,6 @@ acer-wmi > acpi_ipmi > acpi_memhotplug > acpi_pad > -acpiphp > acpiphp_ibm > acpi_power_meter > acquirewdt > diff --git a/debian.master/abi/3.2.0-90.128/amd64/virtual.modules b/debian.master/abi/3.2.0-90.128/amd64/virtual.modules > index 198991f..bfa2dd2 100644 > --- a/debian.master/abi/3.2.0-90.128/amd64/virtual.modules > +++ b/debian.master/abi/3.2.0-90.128/amd64/virtual.modules > @@ -41,7 +41,6 @@ acer-wmi > acpi_ipmi > acpi_memhotplug > acpi_pad > -acpiphp > acpiphp_ibm > acpi_power_meter > acquirewdt > diff --git a/debian.master/abi/3.2.0-90.128/i386/generic-pae.modules b/debian.master/abi/3.2.0-90.128/i386/generic-pae.modules > index addb8f3..5737203 100644 > --- a/debian.master/abi/3.2.0-90.128/i386/generic-pae.modules > +++ b/debian.master/abi/3.2.0-90.128/i386/generic-pae.modules > @@ -59,7 +59,6 @@ acer-wmi > acl7225b > acpi_ipmi > acpi_pad > -acpiphp > acpiphp_ibm > acpi_power_meter > acquirewdt > diff --git a/debian.master/abi/3.2.0-90.128/i386/generic.modules b/debian.master/abi/3.2.0-90.128/i386/generic.modules > index 95f9e4b..e45e404 100644 > --- a/debian.master/abi/3.2.0-90.128/i386/generic.modules > +++ b/debian.master/abi/3.2.0-90.128/i386/generic.modules > @@ -60,7 +60,6 @@ acer-wmi > acl7225b > acpi_ipmi > acpi_pad > -acpiphp > acpiphp_ibm > acpi_power_meter > acquirewdt > diff --git a/debian.master/abi/3.2.0-90.128/i386/virtual.modules b/debian.master/abi/3.2.0-90.128/i386/virtual.modules > index addb8f3..5737203 100644 > --- a/debian.master/abi/3.2.0-90.128/i386/virtual.modules > +++ b/debian.master/abi/3.2.0-90.128/i386/virtual.modules > @@ -59,7 +59,6 @@ acer-wmi > acl7225b > acpi_ipmi > acpi_pad > -acpiphp > acpiphp_ibm > acpi_power_meter > acquirewdt > diff --git a/debian.master/config/config.common.ubuntu b/debian.master/config/config.common.ubuntu > index 5f80320..43c0532 100644 > --- a/debian.master/config/config.common.ubuntu > +++ b/debian.master/config/config.common.ubuntu > @@ -2055,7 +2055,7 @@ CONFIG_HOSTESS_SV11=m > CONFIG_HOTPLUG=y > CONFIG_HOTPLUG_CPU=y > CONFIG_HOTPLUG_PCI=y > -CONFIG_HOTPLUG_PCI_ACPI=m > +CONFIG_HOTPLUG_PCI_ACPI=y > CONFIG_HOTPLUG_PCI_ACPI_IBM=m > CONFIG_HOTPLUG_PCI_COMPAQ=m > CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=y > -- > 2.5.0 > > > -- > kernel-team mailing list > kernel-team@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/kernel-team
Applied to the master-next branch of Precise.
diff --git a/debian.master/abi/3.2.0-90.128/amd64/generic.modules b/debian.master/abi/3.2.0-90.128/amd64/generic.modules index 198991f..bfa2dd2 100644 --- a/debian.master/abi/3.2.0-90.128/amd64/generic.modules +++ b/debian.master/abi/3.2.0-90.128/amd64/generic.modules @@ -41,7 +41,6 @@ acer-wmi acpi_ipmi acpi_memhotplug acpi_pad -acpiphp acpiphp_ibm acpi_power_meter acquirewdt diff --git a/debian.master/abi/3.2.0-90.128/amd64/virtual.modules b/debian.master/abi/3.2.0-90.128/amd64/virtual.modules index 198991f..bfa2dd2 100644 --- a/debian.master/abi/3.2.0-90.128/amd64/virtual.modules +++ b/debian.master/abi/3.2.0-90.128/amd64/virtual.modules @@ -41,7 +41,6 @@ acer-wmi acpi_ipmi acpi_memhotplug acpi_pad -acpiphp acpiphp_ibm acpi_power_meter acquirewdt diff --git a/debian.master/abi/3.2.0-90.128/i386/generic-pae.modules b/debian.master/abi/3.2.0-90.128/i386/generic-pae.modules index addb8f3..5737203 100644 --- a/debian.master/abi/3.2.0-90.128/i386/generic-pae.modules +++ b/debian.master/abi/3.2.0-90.128/i386/generic-pae.modules @@ -59,7 +59,6 @@ acer-wmi acl7225b acpi_ipmi acpi_pad -acpiphp acpiphp_ibm acpi_power_meter acquirewdt diff --git a/debian.master/abi/3.2.0-90.128/i386/generic.modules b/debian.master/abi/3.2.0-90.128/i386/generic.modules index 95f9e4b..e45e404 100644 --- a/debian.master/abi/3.2.0-90.128/i386/generic.modules +++ b/debian.master/abi/3.2.0-90.128/i386/generic.modules @@ -60,7 +60,6 @@ acer-wmi acl7225b acpi_ipmi acpi_pad -acpiphp acpiphp_ibm acpi_power_meter acquirewdt diff --git a/debian.master/abi/3.2.0-90.128/i386/virtual.modules b/debian.master/abi/3.2.0-90.128/i386/virtual.modules index addb8f3..5737203 100644 --- a/debian.master/abi/3.2.0-90.128/i386/virtual.modules +++ b/debian.master/abi/3.2.0-90.128/i386/virtual.modules @@ -59,7 +59,6 @@ acer-wmi acl7225b acpi_ipmi acpi_pad -acpiphp acpiphp_ibm acpi_power_meter acquirewdt diff --git a/debian.master/config/config.common.ubuntu b/debian.master/config/config.common.ubuntu index 5f80320..43c0532 100644 --- a/debian.master/config/config.common.ubuntu +++ b/debian.master/config/config.common.ubuntu @@ -2055,7 +2055,7 @@ CONFIG_HOSTESS_SV11=m CONFIG_HOTPLUG=y CONFIG_HOTPLUG_CPU=y CONFIG_HOTPLUG_PCI=y -CONFIG_HOTPLUG_PCI_ACPI=m +CONFIG_HOTPLUG_PCI_ACPI=y CONFIG_HOTPLUG_PCI_ACPI_IBM=m CONFIG_HOTPLUG_PCI_COMPAQ=m CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=y
BugLink: http://bugs.launchpad.net/bugs/1479031 SRU Justification: Impact: pci hotplug events are lost, and pci devices are ignored Fix: build pci hotplug driver into kernel Testcase: start virtual guest and immediately hotplug a pci drive In -precise, the pci hotplug driver is compiled as a module, but the pci subsystem is built-in. This significant amount of time (several seconds) between when the pci devices are enumerated, and when the pci hotplug driver begins listening for pci hotplug events (several seconds). Any pci devices hotplugged in that interval are ignored. For virtual guests, it is possible to hit this window if a drive is added to the virtual guest immediately after starting it. This simply compiles the pci hotplug driver into the kernel, which reduces the interval where pci hotplug events may be missed down to a fraction of a second (around ~1/4 second). This isn't 100% safe, but it's far better than it was with pci hotplug compiled as a module. Note that commit 3b63aa essentially fixes this, by directly initializing pci hotplug from the pci subsystem initialization; so this problem exists only in -precise. Signed-off-by: Dan Streetman <dan.streetman@canonical.com> --- debian.master/abi/3.2.0-90.128/amd64/generic.modules | 1 - debian.master/abi/3.2.0-90.128/amd64/virtual.modules | 1 - debian.master/abi/3.2.0-90.128/i386/generic-pae.modules | 1 - debian.master/abi/3.2.0-90.128/i386/generic.modules | 1 - debian.master/abi/3.2.0-90.128/i386/virtual.modules | 1 - debian.master/config/config.common.ubuntu | 2 +- 6 files changed, 1 insertion(+), 6 deletions(-)