diff mbox

[Precise] UBUNTU: [Config] HOTPLUG_PCI_ACPI=y

Message ID 1442957992-27432-1-git-send-email-dan.streetman@canonical.com
State New
Headers show

Commit Message

Dan Streetman Sept. 22, 2015, 9:39 p.m. UTC
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(-)

Comments

Tim Gardner Sept. 23, 2015, 1:30 p.m. UTC | #1
Seems reasonable
Brad Figg Sept. 23, 2015, 3:44 p.m. UTC | #2
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
Brad Figg Sept. 25, 2015, 4:19 p.m. UTC | #3
Applied to the master-next branch of Precise.
diff mbox

Patch

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