linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245
@ 2015-11-16  4:27 Jiang Liu
  2015-11-16  7:06 ` Arthur Marsh
  2015-11-24 16:49 ` Bjorn Helgaas
  0 siblings, 2 replies; 19+ messages in thread
From: Jiang Liu @ 2015-11-16  4:27 UTC (permalink / raw)
  To: Rafael J . Wysocki, Bjorn Helgaas
  Cc: Liu Jiang, linux-kernel, linux-pci, linux-acpi, x86, Keith Busch,
	Arthur Marsh

From: Liu Jiang <jiang.liu@linux.intel.com>

Commit 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support
PCI host bridge") converted x86 to use the common interface
acpi_pci_root_create, but the conversion missed on code piece in
arch/x86/pci/bus_numa.c, which causes regression on some legacy
AMD platforms as reported by Arthur Marsh <arthur.marsh@internode.on.net>.
The root causes is that acpi_pci_root_create() fails to insert
host bridge resources into iomem_resource/ioport_resource because
x86_pci_root_bus_resources() has already inserted those resources.
So change x86_pci_root_bus_resources() to not insert resources into
iomem_resource/ioport_resource.

Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Reported-and-tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
Cc: Keith Busch <keith.busch@intel.com>
Cc: Arthur Marsh <arthur.marsh@internode.on.net>
---
 arch/x86/pci/bus_numa.c |   16 +++-------------
 drivers/acpi/pci_root.c |    7 +++++++
 2 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c
index 7bcf06a7cd12..ce53b5b64f51 100644
--- a/arch/x86/pci/bus_numa.c
+++ b/arch/x86/pci/bus_numa.c
@@ -41,27 +41,17 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources)
 	       bus);
 
 	/* already added by acpi ? */
-	resource_list_for_each_entry(window, resources)
+	resource_list_for_each_entry(window, &info->resources)
 		if (window->res->flags & IORESOURCE_BUS) {
 			found = true;
 			break;
 		}
-
 	if (!found)
 		pci_add_resource(resources, &info->busn);
 
-	list_for_each_entry(root_res, &info->resources, list) {
-		struct resource *res;
-		struct resource *root;
+	list_for_each_entry(root_res, &info->resources, list)
+		pci_add_resource(resources, &root_res->res);
 
-		res = &root_res->res;
-		pci_add_resource(resources, res);
-		if (res->flags & IORESOURCE_IO)
-			root = &ioport_resource;
-		else
-			root = &iomem_resource;
-		insert_resource(root, res);
-	}
 	return;
 
 default_resources:
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
index 850d7bf0c873..ae3fe4e64203 100644
--- a/drivers/acpi/pci_root.c
+++ b/drivers/acpi/pci_root.c
@@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info)
 		else
 			continue;
 
+		/*
+		 * Some legacy x86 host bridge drivers use iomem_resource and
+		 * ioport_resource as default resource pool, skip it.
+		 */
+		if (res == root)
+			continue;
+
 		conflict = insert_resource_conflict(root, res);
 		if (conflict) {
 			dev_info(&info->bridge->dev,
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-11-16  4:27 [Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245 Jiang Liu
@ 2015-11-16  7:06 ` Arthur Marsh
  2015-11-16 21:45   ` Hans de Bruin
  2015-11-24 16:49 ` Bjorn Helgaas
  1 sibling, 1 reply; 19+ messages in thread
From: Arthur Marsh @ 2015-11-16  7:06 UTC (permalink / raw)
  To: Jiang Liu, Rafael J . Wysocki, Bjorn Helgaas
  Cc: linux-kernel, linux-pci, linux-acpi, x86, Keith Busch



Jiang Liu wrote on 16/11/15 14:57:
> From: Liu Jiang <jiang.liu@linux.intel.com>
>
> Commit 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support
> PCI host bridge") converted x86 to use the common interface
> acpi_pci_root_create, but the conversion missed on code piece in
> arch/x86/pci/bus_numa.c, which causes regression on some legacy
> AMD platforms as reported by Arthur Marsh <arthur.marsh@internode.on.net>.
> The root causes is that acpi_pci_root_create() fails to insert
> host bridge resources into iomem_resource/ioport_resource because
> x86_pci_root_bus_resources() has already inserted those resources.
> So change x86_pci_root_bus_resources() to not insert resources into
> iomem_resource/ioport_resource.
>
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> Reported-and-tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
> Cc: Keith Busch <keith.busch@intel.com>
> Cc: Arthur Marsh <arthur.marsh@internode.on.net>
> ---
>   arch/x86/pci/bus_numa.c |   16 +++-------------
>   drivers/acpi/pci_root.c |    7 +++++++
>   2 files changed, 10 insertions(+), 13 deletions(-)
>
> diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c
> index 7bcf06a7cd12..ce53b5b64f51 100644
> --- a/arch/x86/pci/bus_numa.c
> +++ b/arch/x86/pci/bus_numa.c
> @@ -41,27 +41,17 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources)
>   	       bus);
>
>   	/* already added by acpi ? */
> -	resource_list_for_each_entry(window, resources)
> +	resource_list_for_each_entry(window, &info->resources)
>   		if (window->res->flags & IORESOURCE_BUS) {
>   			found = true;
>   			break;
>   		}
> -
>   	if (!found)
>   		pci_add_resource(resources, &info->busn);
>
> -	list_for_each_entry(root_res, &info->resources, list) {
> -		struct resource *res;
> -		struct resource *root;
> +	list_for_each_entry(root_res, &info->resources, list)
> +		pci_add_resource(resources, &root_res->res);
>
> -		res = &root_res->res;
> -		pci_add_resource(resources, res);
> -		if (res->flags & IORESOURCE_IO)
> -			root = &ioport_resource;
> -		else
> -			root = &iomem_resource;
> -		insert_resource(root, res);
> -	}
>   	return;
>
>   default_resources:
> diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
> index 850d7bf0c873..ae3fe4e64203 100644
> --- a/drivers/acpi/pci_root.c
> +++ b/drivers/acpi/pci_root.c
> @@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info)
>   		else
>   			continue;
>
> +		/*
> +		 * Some legacy x86 host bridge drivers use iomem_resource and
> +		 * ioport_resource as default resource pool, skip it.
> +		 */
> +		if (res == root)
> +			continue;
> +
>   		conflict = insert_resource_conflict(root, res);
>   		if (conflict) {
>   			dev_info(&info->bridge->dev,
>

I have not previously seen the patch above and have not been able to 
successfully boot with it applied against the current Linus' git head.

I had booted successfully with a kernel built with the patch below from 
9 November 2015, then removed the patch below and applied the patch 
above from 16 November 2015, and when I booted the resulting kernel, 
received a lock-up:

http://www.users.on.net/~arthur.marsh/20151116611.jpg

I'd be happy to test further patches.

Arthur.

 From 02818ba34bfa76d93f2a29c85660da0323b0b457 Mon Sep 17 00:00:00 2001
From: Liu Jiang <jiang.liu@linux.intel.com>
Date: Mon, 9 Nov 2015 13:36:48 +0800
Subject: [PATCH]


Signed-off-by: Liu Jiang <jiang.liu@linux.intel.com>
---
  arch/x86/pci/bus_numa.c |    3 +++
  1 file changed, 3 insertions(+)

diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c
index 7bcf06a7cd12..022d83158cdb 100644
--- a/arch/x86/pci/bus_numa.c
+++ b/arch/x86/pci/bus_numa.c
@@ -51,6 +51,8 @@ void x86_pci_root_bus_resources(int bus, struct 
list_head *resources)
  		pci_add_resource(resources, &info->busn);

  	list_for_each_entry(root_res, &info->resources, list) {
+		pci_add_resource(resources, &root_res->res);
+#if 0
  		struct resource *res;
  		struct resource *root;

@@ -61,6 +63,7 @@ void x86_pci_root_bus_resources(int bus, struct 
list_head *resources)
  		else
  			root = &iomem_resource;
  		insert_resource(root, res);
+#endif
  	}
  	return;

-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-11-16  7:06 ` Arthur Marsh
@ 2015-11-16 21:45   ` Hans de Bruin
  0 siblings, 0 replies; 19+ messages in thread
From: Hans de Bruin @ 2015-11-16 21:45 UTC (permalink / raw)
  To: Arthur Marsh, Jiang Liu, Rafael J . Wysocki, Bjorn Helgaas
  Cc: linux-kernel, linux-pci, linux-acpi, x86, Keith Busch

[-- Attachment #1: Type: text/plain, Size: 3630 bytes --]

On 11/16/2015 08:06 AM, Arthur Marsh wrote:
>
>
> Jiang Liu wrote on 16/11/15 14:57:
>> From: Liu Jiang <jiang.liu@linux.intel.com>
>>
>> Commit 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support
>> PCI host bridge") converted x86 to use the common interface
>> acpi_pci_root_create, but the conversion missed on code piece in
>> arch/x86/pci/bus_numa.c, which causes regression on some legacy
>> AMD platforms as reported by Arthur Marsh
>> <arthur.marsh@internode.on.net>.
>> The root causes is that acpi_pci_root_create() fails to insert
>> host bridge resources into iomem_resource/ioport_resource because
>> x86_pci_root_bus_resources() has already inserted those resources.
>> So change x86_pci_root_bus_resources() to not insert resources into
>> iomem_resource/ioport_resource.
>>
>> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
>> Reported-and-tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
>> Cc: Keith Busch <keith.busch@intel.com>
>> Cc: Arthur Marsh <arthur.marsh@internode.on.net>
>> ---
>>   arch/x86/pci/bus_numa.c |   16 +++-------------
>>   drivers/acpi/pci_root.c |    7 +++++++
>>   2 files changed, 10 insertions(+), 13 deletions(-)
>>
>> diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c
>> index 7bcf06a7cd12..ce53b5b64f51 100644
>> --- a/arch/x86/pci/bus_numa.c
>> +++ b/arch/x86/pci/bus_numa.c
>> @@ -41,27 +41,17 @@ void x86_pci_root_bus_resources(int bus, struct
>> list_head *resources)
>>              bus);
>>
>>       /* already added by acpi ? */
>> -    resource_list_for_each_entry(window, resources)
>> +    resource_list_for_each_entry(window, &info->resources)
>>           if (window->res->flags & IORESOURCE_BUS) {
>>               found = true;
>>               break;
>>           }
>> -
>>       if (!found)
>>           pci_add_resource(resources, &info->busn);
>>
>> -    list_for_each_entry(root_res, &info->resources, list) {
>> -        struct resource *res;
>> -        struct resource *root;
>> +    list_for_each_entry(root_res, &info->resources, list)
>> +        pci_add_resource(resources, &root_res->res);
>>
>> -        res = &root_res->res;
>> -        pci_add_resource(resources, res);
>> -        if (res->flags & IORESOURCE_IO)
>> -            root = &ioport_resource;
>> -        else
>> -            root = &iomem_resource;
>> -        insert_resource(root, res);
>> -    }
>>       return;
>>
>>   default_resources:
>> diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
>> index 850d7bf0c873..ae3fe4e64203 100644
>> --- a/drivers/acpi/pci_root.c
>> +++ b/drivers/acpi/pci_root.c
>> @@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct
>> acpi_pci_root_info *info)
>>           else
>>               continue;
>>
>> +        /*
>> +         * Some legacy x86 host bridge drivers use iomem_resource and
>> +         * ioport_resource as default resource pool, skip it.
>> +         */
>> +        if (res == root)
>> +            continue;
>> +
>>           conflict = insert_resource_conflict(root, res);
>>           if (conflict) {
>>               dev_info(&info->bridge->dev,
>>
>
> I have not previously seen the patch above and have not been able to
> successfully boot with it applied against the current Linus' git head.
>
> I had booted successfully with a kernel built with the patch below from
> 9 November 2015, then removed the patch below and applied the patch
> above from 16 November 2015, and when I booted the resulting kernel,
> received a lock-up:
>

I was also struck by Commit 4d6b4e69a245. The above patch did work for 
me. Attached is a bootlog from the failure.

-- 
Hans




[-- Attachment #2: bootlog.txt --]
[-- Type: text/plain, Size: 47537 bytes --]

[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 4.3.0+ (root@nf9n) (gcc version 4.8.2 (GCC) ) #876 PREEMPT Mon Nov 16 02:08:42 CET 2015
[    0.000000] Disabled fast string operations
[    0.000000] x86/fpu: Legacy x87 FPU detected.
[    0.000000] x86/fpu: Using 'lazy' FPU context switches.
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009efff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009f000-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007f6813ff] usable
[    0.000000] BIOS-e820: [mem 0x000000007f681400-0x000000007fffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000f0000000-0x00000000f4006fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000f4008000-0x00000000f400bfff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec0ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed20000-0x00000000fed9ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee0ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffffffff] reserved
[    0.000000] Notice: NX (Execute Disable) protection cannot be enabled: non-PAE kernel!
[    0.000000] SMBIOS 2.4 present.
[    0.000000] e820: last_pfn = 0x7f681 max_arch_pfn = 0x100000
[    0.000000] x86/PAT: PAT not supported by CPU.
[    0.000000] ACPI: Early table checksum verification disabled
[    0.000000] ACPI: RSDP 0x00000000000FC0E0 000014 (v00 DELL  )
[    0.000000] ACPI: RSDT 0x000000007F681B4F 00004C (v01 DELL   M07      27D70A0B ASL  00000061)
[    0.000000] ACPI: FACP 0x000000007F682800 000074 (v01 DELL   M07      27D70A0B ASL  00000061)
[    0.000000] ACPI: DSDT 0x000000007F683400 004BBE (v01 INT430 SYSFexxx 00001001 INTL 20050624)
[    0.000000] ACPI: FACS 0x000000007F691C00 000040
[    0.000000] ACPI: HPET 0x000000007F682F00 000038 (v01 DELL   M07      00000001 ASL  00000061)
[    0.000000] ACPI: APIC 0x000000007F683000 000068 (v01 DELL   M07      27D70A0B ASL  00000047)
[    0.000000] ACPI: ASF! 0x000000007F682C00 00007E (v32 DELL   M07      27D70A0B ASL  00000061)
[    0.000000] ACPI: MCFG 0x000000007F682FC0 00003E (v16 DELL   M07      27D70A0B ASL  00000061)
[    0.000000] ACPI: SLIC 0x000000007F68309C 000176 (v01 DELL   M07      27D70A0B ASL  00000061)
[    0.000000] ACPI: TCPA 0x000000007F683300 000032 (v01 DELL   M07      27D70A0B ASL  00000061)
[    0.000000] ACPI: SSDT 0x000000007F682280 0001C0 (v01 PmRef  Cpu0Ist  00003000 INTL 20050624)
[    0.000000] ACPI: SSDT 0x000000007F6820BA 0001C6 (v01 PmRef  Cpu0Cst  00003001 INTL 20050624)
[    0.000000] ACPI: SSDT 0x000000007F681BDE 0004DC (v01 PmRef  CpuPm    00003000 INTL 20050624)
[    0.000000] 1150MB HIGHMEM available.
[    0.000000] 887MB LOWMEM available.
[    0.000000]   mapped low ram: 0 - 377fe000
[    0.000000]   low ram: 0 - 377fe000
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.000000]   Normal   [mem 0x0000000001000000-0x00000000377fdfff]
[    0.000000]   HighMem  [mem 0x00000000377fe000-0x000000007f680fff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000001000-0x000000000009efff]
[    0.000000]   node   0: [mem 0x0000000000100000-0x000000007f680fff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000001000-0x000000007f680fff]
[    0.000000] Using APIC driver default
[    0.000000] Reserving Intel graphics stolen memory at 0x7f800000-0x7fffffff
[    0.000000] ACPI: PM-Timer IO Port: 0x1008
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] IOAPIC[0]: apic_id 1, version 32, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] e820: [mem 0x80000000-0xefffffff] available for PCI devices
[    0.000000] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 519983
[    0.000000] Kernel command line: root=/dev/nfs ro nfsroot=10.10.0.1:/nfs/root/psion_14.1 ip=dhcp cpuidle.off=1 console=tty1 console=ttyS0,115200n8 BOOT_IMAGE=nightlybuild-psion 
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Initializing CPU#0
[    0.000000] Initializing HighMem for node 0 (000377fe:0007f681)
[    0.000000] Initializing Movable for node 0 (00000000:00000000)
[    0.000000] Memory: 2061544K/2087036K available (5160K kernel code, 335K rwdata, 1936K rodata, 396K init, 348K bss, 25492K reserved, 0K cma-reserved, 1178124K highmem)
[    0.000000] virtual kernel memory layout:
[    0.000000]     fixmap  : 0xfffa3000 - 0xfffff000   ( 368 kB)
[    0.000000]     pkmap   : 0xff800000 - 0xffc00000   (4096 kB)
[    0.000000]     vmalloc : 0xf7ffe000 - 0xff7fe000   ( 120 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf77fe000   ( 887 MB)
[    0.000000]       .init : 0xc1745000 - 0xc17a8000   ( 396 kB)
[    0.000000]       .data : 0xc150a3b3 - 0xc1743dc0   (2278 kB)
[    0.000000]       .text : 0xc1000000 - 0xc150a3b3   (5160 kB)
[    0.000000] Checking if this processor honours the WP bit even in supervisor mode...Ok.
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] 	Build-time adjustment of leaf fanout to 32.
[    0.000000] NR_IRQS:2304 nr_irqs:256 16
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [tty1] enabled
[    0.000000] console [ttyS0] enabled
[    0.000000] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 133484882848 ns
[    0.000000] tsc: Fast TSC calibration using PIT
[    0.000000] tsc: Detected 1197.045 MHz processor
[    0.008002] Calibrating delay loop (skipped), value calculated using timer frequency.. 2394.09 BogoMIPS (lpj=4788180)
[    0.016004] pid_max: default: 32768 minimum: 301
[    0.020010] ACPI: Core revision 20150930
[    0.033875] ACPI: 4 ACPI AML tables successfully acquired and loaded
[    0.036267] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.040006] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.044364] Disabled fast string operations
[    0.048010] mce: CPU supports 6 MCE banks
[    0.052017] CPU0: Thermal monitoring enabled (TM2)
[    0.056005] process: using mwait in idle threads
[    0.060015] Last level iTLB entries: 4KB 128, 2MB 0, 4MB 2
[    0.064004] Last level dTLB entries: 4KB 128, 2MB 0, 4MB 8, 1GB 0
[    0.068003] CPU: Intel(R) Core(TM) Solo CPU     U1400  @ 1.20GHz (family: 0x6, model: 0xe, stepping: 0xc)
[    0.078934] Performance Events: Core events, core PMU driver.
[    0.085635] ... version:                1
[    0.088004] ... bit width:              40
[    0.092004] ... generic registers:      2
[    0.096004] ... value mask:             000000ffffffffff
[    0.100004] ... max period:             000000007fffffff
[    0.104004] ... fixed-purpose events:   0
[    0.108004] ... event mask:             0000000000000003
[    0.112288] Enabling APIC mode:  Flat.  Using 1 I/O APICs
[    0.116500] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.160000] devtmpfs: initialized
[    0.160394] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.164346] NET: Registered protocol family 16
[    0.172191] ACPI: bus type PCI registered
[    0.176142] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf0000000-0xf3ffffff] (base 0xf0000000)
[    0.180038] PCI: MMCONFIG at [mem 0xf0000000-0xf3ffffff] reserved in E820
[    0.184033] PCI: Using MMCONFIG for extended config space
[    0.188018] PCI: Using configuration type 1 for base access
[    0.192024] dmi type 0xB1 record - unknown flag
[    0.210966] ACPI: Added _OSI(Module Device)
[    0.212454] ACPI: Added _OSI(Processor Device)
[    0.216332] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.220009] ACPI: Added _OSI(Processor Aggregator Device)
[    0.247356] ACPI: Dynamic OEM Table Load:
[    0.250292] ACPI: SSDT 0x00000000F60CE480 000043 (v01 LMPWR  DELLLOM  00001001 INTL 20050624)
[    0.260919] ACPI: Interpreter enabled
[    0.264021] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] (20150930/hwxface-580)
[    0.274241] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20150930/hwxface-580)
[    0.282255] ACPI: (supports S0 S3 S5)
[    0.284004] ACPI: Using IOAPIC for interrupt routing
[    0.288074] PCI: Ignoring host bridge windows from ACPI; if necessary, use "pci=use_crs" and report a bug
[    0.374431] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.376058] acpi PNP0A03:00: _OSC: OS supports [ExtendedConfig Segments]
[    0.380016] acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM
[    0.384021] acpi PNP0A03:00: [Firmware Info]: MMCONFIG for domain 0000 [bus 00-3f] only partially covers this bridge
[    0.397248] PCI host bridge to bus 0000:00
[    0.400006] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    0.404021] pci_bus 0000:00: root bus resource [mem 0x00000000-0xffffffff]
[    0.408011] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.413011] pci 0000:00:1b.0: System wakeup disabled by ACPI
[    0.416379] pci 0000:00:1c.0: System wakeup disabled by ACPI
[    0.420355] pci 0000:00:1c.1: System wakeup disabled by ACPI
[    0.429535] pci 0000:00:1d.0: System wakeup disabled by ACPI
[    0.437477] pci 0000:00:1d.1: System wakeup disabled by ACPI
[    0.445443] pci 0000:00:1d.2: System wakeup disabled by ACPI
[    0.453336] pci 0000:00:1d.3: System wakeup disabled by ACPI
[    0.461345] pci 0000:00:1d.7: System wakeup disabled by ACPI
[    0.464289] pci 0000:00:1e.0: System wakeup disabled by ACPI
[    0.468284] pci 0000:00:1f.0: can't claim BAR 7 [io  0x1000-0x107f]: address conflict with PCI IO [io  0x0000-0xffff]
[    0.472034] pci 0000:00:1f.0: can't claim BAR 8 [io  0x1080-0x10bf]: address conflict with PCI IO [io  0x0000-0xffff]
[    0.476013] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at 0900 (mask 007f)
[    0.480016] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 3 PIO at 0c80 (mask 003f)
[    0.484323] pci 0000:00:1f.1: legacy IDE quirk: reg 0x10: [io  0x01f0-0x01f7]
[    0.488025] pci 0000:00:1f.1: legacy IDE quirk: reg 0x14: [io  0x03f6]
[    0.492011] pci 0000:00:1f.1: legacy IDE quirk: reg 0x18: [io  0x0170-0x0177]
[    0.496009] pci 0000:00:1f.1: legacy IDE quirk: reg 0x1c: [io  0x0376]
[    0.504123] pci 0000:00:1c.0: PCI bridge to [bus 0b]
[    0.508925] pci 0000:00:1c.1: PCI bridge to [bus 0c]
[    0.512503] pci 0000:09:00.0: System wakeup disabled by ACPI
[    0.516135] pci 0000:00:1c.2: PCI bridge to [bus 09]
[    0.521005] pci 0000:00:1e.0: PCI bridge to [bus 02-03] (subtractive decode)
[    0.524197] pci_bus 0000:03: [bus 03-06] partially hidden behind transparent bridge 0000:02 [bus 02-03]
[    0.528027] pci 0000:00:1e.0: bridge has subordinate 03 but max busn 06
[    0.532173] platform PNP0800:00: failed to claim resource 0
[    0.536027] acpi PNP0800:00: platform device creation failed: -16
[    0.540123] platform PNP0C04:00: failed to claim resource 0
[    0.544011] acpi PNP0C04:00: platform device creation failed: -16
[    0.564685] ACPI: PCI Interrupt Link [LNKA] (IRQs 9 10 *11)
[    0.569439] ACPI: PCI Interrupt Link [LNKB] (IRQs *5 7)
[    0.576144] ACPI: PCI Interrupt Link [LNKC] (IRQs 9 10 11) *3
[    0.581656] ACPI: PCI Interrupt Link [LNKD] (IRQs 5 7 9 10 *11)
[    0.588908] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 *9 10 11 12 14 15)
[    0.596838] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 9 *10 11 12 14 15)
[    0.604837] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 *5 6 7 9 10 11 12 14 15)
[    0.613143] ACPI: PCI Interrupt Link [LNKH] (IRQs *3 4 5 6 7 9 10 11 12 14 15)
[    0.624189] ACPI: Enabled 3 GPEs in block 00 to 1F
[    0.632214] vgaarb: setting as boot device: PCI:0000:00:02.0
[    0.636000] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[    0.636419] vgaarb: loaded
[    0.640013] vgaarb: bridge control possible 0000:00:02.0
[    0.644182] SCSI subsystem initialized
[    0.648250] ACPI: bus type USB registered
[    0.652164] usbcore: registered new interface driver usbfs
[    0.656071] usbcore: registered new interface driver hub
[    0.660078] usbcore: registered new device driver usb
[    0.664136] pps_core: LinuxPPS API ver. 1 registered
[    0.668053] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.672032] PTP clock support registered
[    0.676219] Advanced Linux Sound Architecture Driver Initialized.
[    0.680161] PCI: Using ACPI for IRQ routing
[    0.686911] pci 0000:00:1c.1: can't claim BAR 8 [mem 0xefd00000-0xefdfffff]: address conflict with PCI mem [mem 0x00000000-0xffffffff]
[    0.688013] pci 0000:00:1c.2: can't claim BAR 8 [mem 0xefc00000-0xefcfffff]: address conflict with PCI mem [mem 0x00000000-0xffffffff]
[    0.692029] pci 0000:00:1e.0: can't claim BAR 8 [mem 0xefb00000-0xefbfffff]: address conflict with PCI mem [mem 0x00000000-0xffffffff]
[    0.696014] pci 0000:00:02.0: can't claim BAR 0 [mem 0xeff00000-0xeff7ffff]: address conflict with PCI mem [mem 0x00000000-0xffffffff]
[    0.700012] pci 0000:00:02.0: can't claim BAR 1 [io  0xeff8-0xefff]: address conflict with PCI IO [io  0x0000-0xffff]
[    0.704007] pci 0000:00:02.0: can't claim BAR 2 [mem 0xd0000000-0xdfffffff pref]: address conflict with PCI mem [mem 0x00000000-0xffffffff]
[    0.708006] pci 0000:00:02.0: can't claim BAR 3 [mem 0xefec0000-0xefefffff]: address conflict with PCI mem [mem 0x00000000-0xffffffff]
[    0.712007] pci 0000:00:02.1: can't claim BAR 0 [mem 0xeff80000-0xefffffff]: address conflict with PCI mem [mem 0x00000000-0xffffffff]
[    0.716008] pci 0000:00:1b.0: can't claim BAR 0 [mem 0xefebc000-0xefebffff 64bit]: address conflict with PCI mem [mem 0x00000000-0xffffffff]
[    0.720053] pci 0000:0c:00.0: can't claim BAR 0 [mem 0xefdff000-0xefdfffff]: no compatible bridge window
[    0.724046] pci 0000:09:00.0: can't claim BAR 0 [mem 0xefcf0000-0xefcfffff 64bit]: no compatible bridge window
[    0.728008] pci 0000:00:1d.0: can't claim BAR 4 [io  0xbf80-0xbf9f]: address conflict with PCI IO [io  0x0000-0xffff]
[    0.732007] pci 0000:00:1d.1: can't claim BAR 4 [io  0xbf60-0xbf7f]: address conflict with PCI IO [io  0x0000-0xffff]
[    0.736007] pci 0000:00:1d.2: can't claim BAR 4 [io  0xbf40-0xbf5f]: address conflict with PCI IO [io  0x0000-0xffff]
[    0.740007] pci 0000:00:1d.3: can't claim BAR 4 [io  0xbf20-0xbf3f]: address conflict with PCI IO [io  0x0000-0xffff]
[    0.744008] pci 0000:00:1d.7: can't claim BAR 0 [mem 0xffa80000-0xffa803ff]: address conflict with PCI mem [mem 0x00000000-0xffffffff]
[    0.748012] pci 0000:02:01.1: can't claim BAR 0 [mem 0xefbff800-0xefbfffff]: address conflict with PCI mem [mem 0x00000000-0xffffffff]
[    0.752008] pci 0000:02:01.2: can't claim BAR 0 [mem 0xefbff700-0xefbff7ff]: address conflict with PCI mem [mem 0x00000000-0xffffffff]
[    0.756010] pci 0000:00:1f.1: can't claim BAR 0 [io  0x01f0-0x01f7]: address conflict with PCI IO [io  0x0000-0xffff]
[    0.760004] pci 0000:00:1f.1: BAR 0 [io  size 0x0008] is immovable
[    0.764005] pci 0000:00:1f.1: can't claim BAR 1 [io  0x03f6]: address conflict with PCI IO [io  0x0000-0xffff]
[    0.768004] pci 0000:00:1f.1: BAR 1 [io  size 0x0001] is immovable
[    0.772006] pci 0000:00:1f.1: can't claim BAR 2 [io  0x0170-0x0177]: address conflict with PCI IO [io  0x0000-0xffff]
[    0.776004] pci 0000:00:1f.1: BAR 2 [io  size 0x0008] is immovable
[    0.780005] pci 0000:00:1f.1: can't claim BAR 3 [io  0x0376]: address conflict with PCI IO [io  0x0000-0xffff]
[    0.784004] pci 0000:00:1f.1: BAR 3 [io  size 0x0001] is immovable
[    0.788005] pci 0000:00:1f.1: can't claim BAR 4 [io  0xbfa0-0xbfaf]: address conflict with PCI IO [io  0x0000-0xffff]
[    0.792008] pci 0000:00:1f.3: can't claim BAR 4 [io  0x10c0-0x10df]: address conflict with PCI IO [io  0x0000-0xffff]
[    0.800141] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[    0.805083] hpet0: 3 comparators, 64-bit 14.318180 MHz counter
[    0.813040] clocksource: Switched to clocksource hpet
[    0.817359] pnp: PnP ACPI init
[    0.833441] system 00:00: [mem 0x00000000-0x0009fbff] could not be reserved
[    0.840494] system 00:00: [mem 0x0009fc00-0x0009ffff] could not be reserved
[    0.847530] system 00:00: [mem 0x000c0000-0x000d3fff] could not be reserved
[    0.854561] system 00:00: [mem 0x000e0000-0x000fffff] could not be reserved
[    0.861597] system 00:00: [mem 0x00100000-0x7f6813ff] could not be reserved
[    0.868629] system 00:00: [mem 0x7f681400-0x7f6fffff] could not be reserved
[    0.875662] system 00:00: [mem 0x7f700000-0x7f7fffff] could not be reserved
[    0.882688] system 00:00: [mem 0x7f700000-0x7fefffff] could not be reserved
[    0.889715] system 00:00: [mem 0xffb00000-0xffffffff] could not be reserved
[    0.896742] system 00:00: [mem 0xfec00000-0xfec0ffff] could not be reserved
[    0.903768] system 00:00: [mem 0xfee00000-0xfee0ffff] could not be reserved
[    0.910794] system 00:00: [mem 0xfed20000-0xfed3ffff] could not be reserved
[    0.917819] system 00:00: [mem 0xfed45000-0xfed9ffff] could not be reserved
[    0.924846] system 00:00: [mem 0xffa80000-0xffa83fff] could not be reserved
[    0.931873] system 00:00: [mem 0xf4000000-0xf4003fff] could not be reserved
[    0.938901] system 00:00: [mem 0xf4004000-0xf4004fff] could not be reserved
[    0.945928] system 00:00: [mem 0xf4005000-0xf4005fff] could not be reserved
[    0.952956] system 00:00: [mem 0xf4006000-0xf4006fff] could not be reserved
[    0.959983] system 00:00: [mem 0xf4008000-0xf400bfff] could not be reserved
[    0.967011] system 00:00: [mem 0xf0000000-0xf3ffffff] could not be reserved
[    0.974155] system 00:01: [io  0x04d0-0x04d1] could not be reserved
[    0.980508] system 00:01: [io  0x1000-0x1005] could not be reserved
[    0.986847] system 00:01: [io  0x1008-0x100f] could not be reserved
[    0.993299] system 00:02: [io  0xf400-0xf4fe] could not be reserved
[    0.999657] system 00:02: [io  0x1006-0x1007] could not be reserved
[    1.005998] system 00:02: [io  0x100a-0x1059] could not be reserved
[    1.012335] system 00:02: [io  0x1060-0x107f] could not be reserved
[    1.018673] system 00:02: [io  0x1080-0x10bf] could not be reserved
[    1.025011] system 00:02: [io  0x10c0-0x10df] could not be reserved
[    1.031347] system 00:02: [io  0x1010-0x102f] could not be reserved
[    1.037679] system 00:02: [io  0x0809] could not be reserved
[    1.043807] system 00:06: [io  0x0c80-0x0caf] could not be reserved
[    1.050189] system 00:06: [io  0x0cc0-0x0cff] could not be reserved
[    1.056530] system 00:06: [io  0x0910-0x091f] could not be reserved
[    1.062870] system 00:06: [io  0x0920-0x092f] could not be reserved
[    1.069220] system 00:06: [io  0x0cbc-0x0cbf] could not be reserved
[    1.075559] system 00:06: [io  0x0930-0x097f] could not be reserved
[    1.082070] system 00:07: [mem 0xfed00000-0xfed003ff] could not be reserved
[    1.115884] system 00:0a: [io  0x0cb0-0x0cbb] could not be reserved
[    1.122243] system 00:0a: [mem 0xfed40000-0xfed44fff] could not be reserved
[    1.138883] pnp: PnP ACPI: found 11 devices
[    1.183169] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[    1.192360] pci 0000:00:1f.0: BAR 7: [io  size 0x0080] has bogus alignment
[    1.199319] pci 0000:00:1f.0: BAR 8: [io  size 0x0040] has bogus alignment
[    1.206421] pci 0000:00:02.0: BAR 2: no space for [mem size 0x10000000 pref]
[    1.213540] pci 0000:00:02.0: BAR 2: trying firmware assignment [mem 0xd0000000-0xdfffffff pref]
[    1.222419] pci 0000:00:02.0: BAR 2: [mem 0xd0000000-0xdfffffff pref] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    1.233377] pci 0000:00:02.0: BAR 2: failed to assign [mem size 0x10000000 pref]
[    1.240860] pci 0000:00:1e.0: BAR 8: no space for [mem size 0x0c000000]
[    1.247538] pci 0000:00:1e.0: BAR 8: failed to assign [mem size 0x0c000000]
[    1.254566] pci 0000:00:1c.0: BAR 8: no space for [mem size 0x00200000]
[    1.261245] pci 0000:00:1c.0: BAR 8: failed to assign [mem size 0x00200000]
[    1.268274] pci 0000:00:1c.0: BAR 9: no space for [mem size 0x00200000 64bit pref]
[    1.275926] pci 0000:00:1c.0: BAR 9: failed to assign [mem size 0x00200000 64bit pref]
[    1.283926] pci 0000:00:1c.1: BAR 8: no space for [mem size 0x00300000]
[    1.290606] pci 0000:00:1c.1: BAR 8: failed to assign [mem size 0x00300000]
[    1.297633] pci 0000:00:1c.1: BAR 9: no space for [mem size 0x00200000 64bit pref]
[    1.305285] pci 0000:00:1c.1: BAR 9: failed to assign [mem size 0x00200000 64bit pref]
[    1.313285] pci 0000:00:1c.2: BAR 8: no space for [mem size 0x00300000]
[    1.319965] pci 0000:00:1c.2: BAR 8: failed to assign [mem size 0x00300000]
[    1.326993] pci 0000:00:1c.2: BAR 9: no space for [mem size 0x00200000 64bit pref]
[    1.334644] pci 0000:00:1c.2: BAR 9: failed to assign [mem size 0x00200000 64bit pref]
[    1.344185] pci 0000:00:02.0: BAR 0: no space for [mem size 0x00080000]
[    1.350866] pci 0000:00:02.0: BAR 0: trying firmware assignment [mem 0xeff00000-0xeff7ffff]
[    1.359301] pci 0000:00:02.0: BAR 0: [mem 0xeff00000-0xeff7ffff] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    1.369820] pci 0000:00:02.0: BAR 0: failed to assign [mem size 0x00080000]
[    1.376848] pci 0000:00:02.1: BAR 0: no space for [mem size 0x00080000]
[    1.383529] pci 0000:00:02.1: BAR 0: trying firmware assignment [mem 0xeff80000-0xefffffff]
[    1.391961] pci 0000:00:02.1: BAR 0: [mem 0xeff80000-0xefffffff] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    1.402479] pci 0000:00:02.1: BAR 0: failed to assign [mem size 0x00080000]
[    1.409504] pci 0000:00:02.0: BAR 3: no space for [mem size 0x00040000]
[    1.416185] pci 0000:00:02.0: BAR 3: trying firmware assignment [mem 0xefec0000-0xefefffff]
[    1.424618] pci 0000:00:02.0: BAR 3: [mem 0xefec0000-0xefefffff] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    1.435136] pci 0000:00:02.0: BAR 3: failed to assign [mem size 0x00040000]
[    1.442164] pci 0000:00:1b.0: BAR 0: no space for [mem size 0x00004000 64bit]
[    1.449363] pci 0000:00:1b.0: BAR 0: trying firmware assignment [mem 0xefebc000-0xefebffff 64bit]
[    1.458317] pci 0000:00:1b.0: BAR 0: [mem 0xefebc000-0xefebffff 64bit] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    1.469356] pci 0000:00:1b.0: BAR 0: failed to assign [mem size 0x00004000 64bit]
[    1.476921] pci 0000:00:1c.0: BAR 7: no space for [io  size 0x1000]
[    1.483252] pci 0000:00:1c.0: BAR 7: failed to assign [io  size 0x1000]
[    1.489932] pci 0000:00:1c.1: BAR 7: no space for [io  size 0x1000]
[    1.496265] pci 0000:00:1c.1: BAR 7: failed to assign [io  size 0x1000]
[    1.502944] pci 0000:00:1c.2: BAR 7: no space for [io  size 0x1000]
[    1.509275] pci 0000:00:1c.2: BAR 7: failed to assign [io  size 0x1000]
[    1.515952] pci 0000:00:1e.0: BAR 7: no space for [io  size 0x1000]
[    1.522284] pci 0000:00:1e.0: BAR 7: failed to assign [io  size 0x1000]
[    1.528965] pci 0000:00:1d.7: BAR 0: no space for [mem size 0x00000400]
[    1.535644] pci 0000:00:1d.7: BAR 0: trying firmware assignment [mem 0xffa80000-0xffa803ff]
[    1.544080] pci 0000:00:1d.7: BAR 0: [mem 0xffa80000-0xffa803ff] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    1.554616] pci 0000:00:1d.7: BAR 0: failed to assign [mem size 0x00000400]
[    1.561642] pci 0000:00:1d.0: BAR 4: no space for [io  size 0x0020]
[    1.567972] pci 0000:00:1d.0: BAR 4: trying firmware assignment [io  0xbf80-0xbf9f]
[    1.575710] pci 0000:00:1d.0: BAR 4: [io  0xbf80-0xbf9f] conflicts with PCI IO [io  0x0000-0xffff]
[    1.584751] pci 0000:00:1d.0: BAR 4: failed to assign [io  size 0x0020]
[    1.591429] pci 0000:00:1d.1: BAR 4: no space for [io  size 0x0020]
[    1.597761] pci 0000:00:1d.1: BAR 4: trying firmware assignment [io  0xbf60-0xbf7f]
[    1.605500] pci 0000:00:1d.1: BAR 4: [io  0xbf60-0xbf7f] conflicts with PCI IO [io  0x0000-0xffff]
[    1.614542] pci 0000:00:1d.1: BAR 4: failed to assign [io  size 0x0020]
[    1.621221] pci 0000:00:1d.2: BAR 4: no space for [io  size 0x0020]
[    1.627551] pci 0000:00:1d.2: BAR 4: trying firmware assignment [io  0xbf40-0xbf5f]
[    1.635290] pci 0000:00:1d.2: BAR 4: [io  0xbf40-0xbf5f] conflicts with PCI IO [io  0x0000-0xffff]
[    1.644330] pci 0000:00:1d.2: BAR 4: failed to assign [io  size 0x0020]
[    1.651009] pci 0000:00:1d.3: BAR 4: no space for [io  size 0x0020]
[    1.657341] pci 0000:00:1d.3: BAR 4: trying firmware assignment [io  0xbf20-0xbf3f]
[    1.665081] pci 0000:00:1d.3: BAR 4: [io  0xbf20-0xbf3f] conflicts with PCI IO [io  0x0000-0xffff]
[    1.674121] pci 0000:00:1d.3: BAR 4: failed to assign [io  size 0x0020]
[    1.680800] pci 0000:00:1f.3: BAR 4: no space for [io  size 0x0020]
[    1.687133] pci 0000:00:1f.3: BAR 4: trying firmware assignment [io  0x10c0-0x10df]
[    1.694873] pci 0000:00:1f.3: BAR 4: [io  0x10c0-0x10df] conflicts with PCI IO [io  0x0000-0xffff]
[    1.703913] pci 0000:00:1f.3: BAR 4: failed to assign [io  size 0x0020]
[    1.710594] pci 0000:00:1f.1: BAR 4: no space for [io  size 0x0010]
[    1.716926] pci 0000:00:1f.1: BAR 4: trying firmware assignment [io  0xbfa0-0xbfaf]
[    1.724667] pci 0000:00:1f.1: BAR 4: [io  0xbfa0-0xbfaf] conflicts with PCI IO [io  0x0000-0xffff]
[    1.733707] pci 0000:00:1f.1: BAR 4: failed to assign [io  size 0x0010]
[    1.740385] pci 0000:00:02.0: BAR 1: no space for [io  size 0x0008]
[    1.746718] pci 0000:00:02.0: BAR 1: trying firmware assignment [io  0xeff8-0xefff]
[    1.754456] pci 0000:00:02.0: BAR 1: [io  0xeff8-0xefff] conflicts with PCI IO [io  0x0000-0xffff]
[    1.763497] pci 0000:00:02.0: BAR 1: failed to assign [io  size 0x0008]
[    1.770184] pci 0000:00:02.0: BAR 2: no space for [mem size 0x10000000 pref]
[    1.777296] pci 0000:00:02.0: BAR 2: trying firmware assignment [mem 0xd0000000-0xdfffffff pref]
[    1.786165] pci 0000:00:02.0: BAR 2: [mem 0xd0000000-0xdfffffff pref] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    1.797117] pci 0000:00:02.0: BAR 2: failed to assign [mem size 0x10000000 pref]
[    1.804596] pci 0000:00:1e.0: BAR 8: no space for [mem size 0x02000000]
[    1.811276] pci 0000:00:1e.0: BAR 8: failed to assign [mem size 0x02000000]
[    1.818304] pci 0000:00:1c.1: BAR 8: no space for [mem size 0x00100000]
[    1.824983] pci 0000:00:1c.1: BAR 8: failed to assign [mem size 0x00100000]
[    1.832010] pci 0000:00:1c.2: BAR 8: no space for [mem size 0x00100000]
[    1.838689] pci 0000:00:1c.2: BAR 8: failed to assign [mem size 0x00100000]
[    1.845714] pci 0000:00:02.0: BAR 0: no space for [mem size 0x00080000]
[    1.852394] pci 0000:00:02.0: BAR 0: trying firmware assignment [mem 0xeff00000-0xeff7ffff]
[    1.860829] pci 0000:00:02.0: BAR 0: [mem 0xeff00000-0xeff7ffff] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    1.871346] pci 0000:00:02.0: BAR 0: failed to assign [mem size 0x00080000]
[    1.878372] pci 0000:00:02.1: BAR 0: no space for [mem size 0x00080000]
[    1.885051] pci 0000:00:02.1: BAR 0: trying firmware assignment [mem 0xeff80000-0xefffffff]
[    1.893487] pci 0000:00:02.1: BAR 0: [mem 0xeff80000-0xefffffff] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    1.904003] pci 0000:00:02.1: BAR 0: failed to assign [mem size 0x00080000]
[    1.911037] pci 0000:00:02.0: BAR 3: no space for [mem size 0x00040000]
[    1.917716] pci 0000:00:02.0: BAR 3: trying firmware assignment [mem 0xefec0000-0xefefffff]
[    1.926149] pci 0000:00:02.0: BAR 3: [mem 0xefec0000-0xefefffff] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    1.936666] pci 0000:00:02.0: BAR 3: failed to assign [mem size 0x00040000]
[    1.943693] pci 0000:00:1b.0: BAR 0: no space for [mem size 0x00004000 64bit]
[    1.950891] pci 0000:00:1b.0: BAR 0: trying firmware assignment [mem 0xefebc000-0xefebffff 64bit]
[    1.959848] pci 0000:00:1b.0: BAR 0: [mem 0xefebc000-0xefebffff 64bit] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    1.970886] pci 0000:00:1b.0: BAR 0: failed to assign [mem size 0x00004000 64bit]
[    1.978451] pci 0000:00:1d.7: BAR 0: no space for [mem size 0x00000400]
[    1.985129] pci 0000:00:1d.7: BAR 0: trying firmware assignment [mem 0xffa80000-0xffa803ff]
[    1.993562] pci 0000:00:1d.7: BAR 0: [mem 0xffa80000-0xffa803ff] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    2.004081] pci 0000:00:1d.7: BAR 0: failed to assign [mem size 0x00000400]
[    2.011107] pci 0000:00:1d.0: BAR 4: no space for [io  size 0x0020]
[    2.017438] pci 0000:00:1d.0: BAR 4: trying firmware assignment [io  0xbf80-0xbf9f]
[    2.025176] pci 0000:00:1d.0: BAR 4: [io  0xbf80-0xbf9f] conflicts with PCI IO [io  0x0000-0xffff]
[    2.034218] pci 0000:00:1d.0: BAR 4: failed to assign [io  size 0x0020]
[    2.040898] pci 0000:00:1d.1: BAR 4: no space for [io  size 0x0020]
[    2.047230] pci 0000:00:1d.1: BAR 4: trying firmware assignment [io  0xbf60-0xbf7f]
[    2.054967] pci 0000:00:1d.1: BAR 4: [io  0xbf60-0xbf7f] conflicts with PCI IO [io  0x0000-0xffff]
[    2.064015] pci 0000:00:1d.1: BAR 4: failed to assign [io  size 0x0020]
[    2.070695] pci 0000:00:1d.2: BAR 4: no space for [io  size 0x0020]
[    2.077025] pci 0000:00:1d.2: BAR 4: trying firmware assignment [io  0xbf40-0xbf5f]
[    2.084764] pci 0000:00:1d.2: BAR 4: [io  0xbf40-0xbf5f] conflicts with PCI IO [io  0x0000-0xffff]
[    2.093803] pci 0000:00:1d.2: BAR 4: failed to assign [io  size 0x0020]
[    2.100481] pci 0000:00:1d.3: BAR 4: no space for [io  size 0x0020]
[    2.106812] pci 0000:00:1d.3: BAR 4: trying firmware assignment [io  0xbf20-0xbf3f]
[    2.114552] pci 0000:00:1d.3: BAR 4: [io  0xbf20-0xbf3f] conflicts with PCI IO [io  0x0000-0xffff]
[    2.123591] pci 0000:00:1d.3: BAR 4: failed to assign [io  size 0x0020]
[    2.130269] pci 0000:00:1f.3: BAR 4: no space for [io  size 0x0020]
[    2.136600] pci 0000:00:1f.3: BAR 4: trying firmware assignment [io  0x10c0-0x10df]
[    2.144339] pci 0000:00:1f.3: BAR 4: [io  0x10c0-0x10df] conflicts with PCI IO [io  0x0000-0xffff]
[    2.153379] pci 0000:00:1f.3: BAR 4: failed to assign [io  size 0x0020]
[    2.160059] pci 0000:00:1f.1: BAR 4: no space for [io  size 0x0010]
[    2.166390] pci 0000:00:1f.1: BAR 4: trying firmware assignment [io  0xbfa0-0xbfaf]
[    2.174128] pci 0000:00:1f.1: BAR 4: [io  0xbfa0-0xbfaf] conflicts with PCI IO [io  0x0000-0xffff]
[    2.183170] pci 0000:00:1f.1: BAR 4: failed to assign [io  size 0x0010]
[    2.189847] pci 0000:00:02.0: BAR 1: no space for [io  size 0x0008]
[    2.196179] pci 0000:00:02.0: BAR 1: trying firmware assignment [io  0xeff8-0xefff]
[    2.203918] pci 0000:00:02.0: BAR 1: [io  0xeff8-0xefff] conflicts with PCI IO [io  0x0000-0xffff]
[    2.212959] pci 0000:00:02.0: BAR 1: failed to assign [io  size 0x0008]
[    2.219639] pci 0000:00:1e.0: BAR 7: no space for [io  size 0x1000]
[    2.225971] pci 0000:00:1e.0: BAR 7: failed to assign [io  size 0x1000]
[    2.232652] pci 0000:00:1c.2: BAR 9: no space for [mem size 0x00200000 64bit pref]
[    2.240302] pci 0000:00:1c.2: BAR 9: failed to assign [mem size 0x00200000 64bit pref]
[    2.248303] pci 0000:00:1c.2: BAR 7: no space for [io  size 0x1000]
[    2.254634] pci 0000:00:1c.2: BAR 7: failed to assign [io  size 0x1000]
[    2.261314] pci 0000:00:1c.1: BAR 9: no space for [mem size 0x00200000 64bit pref]
[    2.268964] pci 0000:00:1c.1: BAR 9: failed to assign [mem size 0x00200000 64bit pref]
[    2.278507] pci 0000:00:1c.1: BAR 7: no space for [io  size 0x1000]
[    2.284839] pci 0000:00:1c.1: BAR 7: failed to assign [io  size 0x1000]
[    2.291519] pci 0000:00:1c.0: BAR 8: no space for [mem size 0x00200000]
[    2.298199] pci 0000:00:1c.0: BAR 8: failed to assign [mem size 0x00200000]
[    2.305225] pci 0000:00:1c.0: BAR 9: no space for [mem size 0x00200000 64bit pref]
[    2.312878] pci 0000:00:1c.0: BAR 9: failed to assign [mem size 0x00200000 64bit pref]
[    2.320878] pci 0000:00:1c.0: BAR 7: no space for [io  size 0x1000]
[    2.327208] pci 0000:00:1c.0: BAR 7: failed to assign [io  size 0x1000]
[    2.333891] pci 0000:00:1c.0: PCI bridge to [bus 0b]
[    2.338936] pci 0000:0c:00.0: BAR 0: no space for [mem size 0x00001000]
[    2.345617] pci 0000:0c:00.0: BAR 0: trying firmware assignment [mem 0xefdff000-0xefdfffff]
[    2.354050] pci 0000:0c:00.0: BAR 0: [mem 0xefdff000-0xefdfffff] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    2.364567] pci 0000:0c:00.0: BAR 0: failed to assign [mem size 0x00001000]
[    2.371595] pci 0000:0c:00.0: BAR 0: no space for [mem size 0x00001000]
[    2.378274] pci 0000:0c:00.0: BAR 0: trying firmware assignment [mem 0xefdff000-0xefdfffff]
[    2.386710] pci 0000:0c:00.0: BAR 0: [mem 0xefdff000-0xefdfffff] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    2.397229] pci 0000:0c:00.0: BAR 0: failed to assign [mem size 0x00001000]
[    2.404256] pci 0000:00:1c.1: PCI bridge to [bus 0c]
[    2.409301] pci 0000:09:00.0: BAR 0: no space for [mem size 0x00010000 64bit]
[    2.416501] pci 0000:09:00.0: BAR 0: trying firmware assignment [mem 0xefcf0000-0xefcfffff 64bit]
[    2.425457] pci 0000:09:00.0: BAR 0: [mem 0xefcf0000-0xefcfffff 64bit] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    2.436495] pci 0000:09:00.0: BAR 0: failed to assign [mem size 0x00010000 64bit]
[    2.444062] pci 0000:09:00.0: BAR 0: no space for [mem size 0x00010000 64bit]
[    2.451261] pci 0000:09:00.0: BAR 0: trying firmware assignment [mem 0xefcf0000-0xefcfffff 64bit]
[    2.460216] pci 0000:09:00.0: BAR 0: [mem 0xefcf0000-0xefcfffff 64bit] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    2.471254] pci 0000:09:00.0: BAR 0: failed to assign [mem size 0x00010000 64bit]
[    2.478819] pci 0000:00:1c.2: PCI bridge to [bus 09]
[    2.483918] pci 0000:02:01.0: BAR 0: no space for [mem size 0x00001000]
[    2.490597] pci 0000:02:01.0: BAR 0: failed to assign [mem size 0x00001000]
[    2.497626] pci 0000:02:01.0: BAR 9: no space for [mem size 0x04000000 pref]
[    2.504739] pci 0000:02:01.0: BAR 9: failed to assign [mem size 0x04000000 pref]
[    2.512218] pci 0000:02:01.0: BAR 10: no space for [mem size 0x04000000]
[    2.518983] pci 0000:02:01.0: BAR 10: failed to assign [mem size 0x04000000]
[    2.526099] pci 0000:02:01.1: BAR 0: no space for [mem size 0x00000800]
[    2.532780] pci 0000:02:01.1: BAR 0: trying firmware assignment [mem 0xefbff800-0xefbfffff]
[    2.541215] pci 0000:02:01.1: BAR 0: [mem 0xefbff800-0xefbfffff] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    2.551733] pci 0000:02:01.1: BAR 0: failed to assign [mem size 0x00000800]
[    2.558759] pci 0000:02:01.0: BAR 7: no space for [io  size 0x0100]
[    2.565090] pci 0000:02:01.0: BAR 7: failed to assign [io  size 0x0100]
[    2.571769] pci 0000:02:01.0: BAR 8: no space for [io  size 0x0100]
[    2.578102] pci 0000:02:01.0: BAR 8: failed to assign [io  size 0x0100]
[    2.584783] pci 0000:02:01.2: BAR 0: no space for [mem size 0x00000100]
[    2.591462] pci 0000:02:01.2: BAR 0: trying firmware assignment [mem 0xefbff700-0xefbff7ff]
[    2.599894] pci 0000:02:01.2: BAR 0: [mem 0xefbff700-0xefbff7ff] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    2.610411] pci 0000:02:01.2: BAR 0: failed to assign [mem size 0x00000100]
[    2.617440] pci 0000:02:01.0: BAR 0: no space for [mem size 0x00001000]
[    2.624119] pci 0000:02:01.0: BAR 0: failed to assign [mem size 0x00001000]
[    2.631146] pci 0000:02:01.1: BAR 0: no space for [mem size 0x00000800]
[    2.637826] pci 0000:02:01.1: BAR 0: trying firmware assignment [mem 0xefbff800-0xefbfffff]
[    2.646258] pci 0000:02:01.1: BAR 0: [mem 0xefbff800-0xefbfffff] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    2.656777] pci 0000:02:01.1: BAR 0: failed to assign [mem size 0x00000800]
[    2.663806] pci 0000:02:01.2: BAR 0: no space for [mem size 0x00000100]
[    2.670483] pci 0000:02:01.2: BAR 0: trying firmware assignment [mem 0xefbff700-0xefbff7ff]
[    2.678916] pci 0000:02:01.2: BAR 0: [mem 0xefbff700-0xefbff7ff] conflicts with PCI mem [mem 0x00000000-0xffffffff]
[    2.689434] pci 0000:02:01.2: BAR 0: failed to assign [mem size 0x00000100]
[    2.696461] pci 0000:02:01.0: BAR 10: no space for [mem size 0x04000000]
[    2.703225] pci 0000:02:01.0: BAR 10: failed to assign [mem size 0x04000000]
[    2.710339] pci 0000:02:01.0: BAR 9: no space for [mem size 0x04000000 pref]
[    2.717453] pci 0000:02:01.0: BAR 9: failed to assign [mem size 0x04000000 pref]
[    2.724932] pci 0000:02:01.0: BAR 8: no space for [io  size 0x0100]
[    2.731263] pci 0000:02:01.0: BAR 8: failed to assign [io  size 0x0100]
[    2.737943] pci 0000:02:01.0: BAR 7: no space for [io  size 0x0100]
[    2.744274] pci 0000:02:01.0: BAR 7: failed to assign [io  size 0x0100]
[    2.750954] pci 0000:02:01.0: CardBus bridge to [bus 03-06]
[    2.756589] pci 0000:00:1e.0: PCI bridge to [bus 02-03]
[    2.761892] pci_bus 0000:00: Some PCI device resources are unassigned, try booting with pci=realloc
[    2.771088] NET: Registered protocol family 2
[    2.775780] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[    2.782931] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[    2.789473] TCP: Hash tables configured (established 8192 bind 8192)
[    2.795922] UDP hash table entries: 512 (order: 1, 8192 bytes)
[    2.801830] UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
[    2.808220] NET: Registered protocol family 1
[    2.812736] RPC: Registered named UNIX socket transport module.
[    2.818726] RPC: Registered udp transport module.
[    2.823491] RPC: Registered tcp transport module.
[    2.828255] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    2.836113] futex hash table entries: 256 (order: -1, 3072 bytes)
[    2.850703] NFS: Registering the id_resolver key type
[    2.856096] Key type id_resolver registered
[    2.860365] Key type id_legacy registered
[    2.864452] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[    2.871025] ntfs: driver 2.1.32 [Flags: R/O].
[    2.876116] bounce: pool size: 64 pages
[    2.880033] io scheduler noop registered
[    2.884050] io scheduler deadline registered (default)
[    2.889431] cr_bllcd: INTEL CARILLO RANCH LPC not found.
[    2.894850] cr_bllcd: Carillo Ranch Backlight Driver Initialized.
[    2.901730] ACPI: AC Adapter [AC] (off-line)
[    2.906310] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0
[    2.915512] ACPI: Lid Switch [LID]
[    2.919121] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1
[    2.927590] ACPI: Power Button [PBTN]
[    2.931441] input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input2
[    2.939898] ACPI: Sleep Button [SBTN]
[    2.943859] ACPI: Video Device [VID] (multi-head: yes  rom: no  post: no)
[    2.951160] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/LNXVIDEO:00/input/input3
[    2.960427] [Firmware Bug]: Duplicate ACPI video bus devices for the same VGA controller, please try module parameter "video.allow_duplicates=1"if the current driver doesn't work.
[    2.976679] tsc: Marking TSC unstable due to TSC halts in idle
[    2.987341] thermal LNXTHERM:00: registered as thermal_zone0
[    2.993089] ACPI: Thermal Zone [THM] (59 C)
[    3.055910] ACPI: Battery Slot [BAT0] (battery present)
[    3.063205] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[   24.076005] INFO: rcu_preempt detected stalls on CPUs/tasks:
[   24.076005] 	(detected by 0, t=5252 jiffies, g=-78, c=-79, q=244)
[   24.076005] All QSes seen, last rcu_preempt kthread activity 5252 (-68981--74233), jiffies_till_next_fqs=1, root ->qsmask 0x0
[   24.076005] swapper         R running      0     1      0 0x00000008
[   24.076005]  00000000 f6050000 f603bbf4 c10724c0 c16346cf 00000000 00000001 00000000
[   24.076005]  00000008 c1709170 c17092d4 f603bc48 c1083144 c163604d c163621c 00001484
[   24.076005]  fffef28b fffede07 00000001 00000000 00000000 003d0900 f6050000 9acd9bf3
[   24.076005] Call Trace:
[   24.076005]  [<c10724c0>] sched_show_task+0xae/0xb8
[   24.076005]  [<c1083144>] rcu_check_callbacks+0x43d/0x577
[   24.076005]  [<c1084c08>] update_process_times+0x22/0x43
[   24.076005]  [<c108fb6c>] tick_sched_handle+0x2f/0x31
[   24.076005]  [<c108fb9b>] tick_sched_timer+0x2d/0x5e
[   24.076005]  [<c1085269>] __hrtimer_run_queues.constprop.28+0x9e/0x12c
[   24.076005]  [<c1085592>] hrtimer_interrupt+0x72/0x16b
[   24.076005]  [<c1050e24>] local_apic_timer_interrupt+0x37/0x39
[   24.076005]  [<c1051310>] smp_apic_timer_interrupt+0x2c/0x3a
[   24.076005]  [<c150737d>] apic_timer_interrupt+0x2d/0x34
[   24.076005]  [<c1060742>] ? iomem_map_sanity_check+0x32/0x96
[   24.076005]  [<c105638a>] __ioremap_caller+0x1e6/0x264
[   24.076005]  [<c1056418>] ioremap_nocache+0x10/0x12
[   24.076005]  [<c1256b7e>] ? hpet_resources+0x26/0xac
[   24.076005]  [<c1256b7e>] hpet_resources+0x26/0xac
[   24.076005]  [<c122d988>] ? acpi_ut_walk_aml_resources+0x76/0xe0
[   24.076005]  [<c122b72d>] ? acpi_ut_update_ref_count+0x7d/0x28d
[   24.076005]  [<c1227e90>] ? acpi_rs_create_aml_resources+0x45/0x45
[   24.076005]  [<c122ba24>] ? acpi_ut_update_object_reference+0xe7/0x14c
[   24.076005]  [<c1227c62>] ? acpi_rs_create_resource_list+0x50/0x5a
[   24.076005]  [<c1256b58>] ? hpet_is_known.isra.6+0x23/0x23
[   24.076005]  [<c1228ae4>] acpi_walk_resource_buffer+0x34/0x6f
[   24.076005]  [<c1256b58>] ? hpet_is_known.isra.6+0x23/0x23
[   24.076005]  [<c1228d90>] acpi_walk_resources+0x57/0x70
[   24.076005]  [<c1256f56>] hpet_acpi_add+0x31/0x6b
[   24.076005]  [<c120b5f5>] acpi_device_probe+0x34/0xc9
[   24.076005]  [<c1307dd5>] driver_probe_device+0xc1/0x1e5
[   24.076005]  [<c1307f40>] __driver_attach+0x47/0x63
[   24.076005]  [<c1306a90>] bus_for_each_dev+0x55/0x5f
[   24.076005]  [<c1307a85>] driver_attach+0x14/0x16
[   24.076005]  [<c1307ef9>] ? driver_probe_device+0x1e5/0x1e5
[   24.076005]  [<c1307745>] bus_add_driver+0xaa/0x191
[   24.076005]  [<c1308538>] driver_register+0x6f/0xa4
[   24.076005]  [<c17654ec>] ? hpet_mmap_enable+0x3a/0x3a
[   24.076005]  [<c120b50f>] acpi_bus_register_driver+0x2f/0x37
[   24.076005]  [<c1765517>] hpet_init+0x2b/0x57
[   24.076005]  [<c17654ec>] ? hpet_mmap_enable+0x3a/0x3a
[   24.076005]  [<c100043b>] do_one_initcall+0xce/0x13f
[   24.076005]  [<c106d9f9>] ? parse_args+0x1af/0x24d
[   24.076005]  [<c1745ae3>] ? kernel_init_freeable+0xb8/0x155
[   24.076005]  [<c1745b03>] kernel_init_freeable+0xd8/0x155
[   24.076005]  [<c1502fcb>] kernel_init+0x8/0xb0
[   24.076005]  [<c1506ac8>] ret_from_kernel_thread+0x20/0x34
[   24.076005]  [<c1502fc3>] ? rest_init+0x6f/0x6f
[   24.076005] rcu_preempt kthread starved for 5252 jiffies! g4294967218 c4294967217 f0x2 s3 ->state=0x0
[   87.096005] INFO: rcu_preempt detected stalls on CPUs/tasks:
[   87.096005] 	(detected by 0, t=21007 jiffies, g=-78, c=-79, q=244)
[   87.096005] All QSes seen, last rcu_preempt kthread activity 21007 (-53226--74233), jiffies_till_next_fqs=1, root ->qsmask 0x0
[   87.096005] swapper         R running      0     1      0 0x00000008
[   87.096005]  00000000 f6050000 f603bbf4 c10724c0 c16346cf 00000000 00000001 00000000
[   87.096005]  00000008 c1709170 c17092d4 f603bc48 c1083144 c163604d c163621c 0000520f
[   87.096005]  ffff3016 fffede07 00000001 00000000 c1084f7f 003d0900 f6050000 003d0900
[   87.096005] Call Trace:
[   87.096005]  [<c10724c0>] sched_show_task+0xae/0xb8
[   87.096005]  [<c1083144>] rcu_check_callbacks+0x43d/0x577
[   87.096005]  [<c1084f7f>] ? hrtimer_forward+0x107/0x13a
[   87.096005]  [<c1084c08>] update_process_times+0x22/0x43
[   87.096005]  [<c108fb6c>] tick_sched_handle+0x2f/0x31
[   87.096005]  [<c108fb9b>] tick_sched_timer+0x2d/0x5e
[   87.096005]  [<c1085269>] __hrtimer_run_queues.constprop.28+0x9e/0x12c
[   87.096005]  [<c1085592>] hrtimer_interrupt+0x72/0x16b
[   87.096005]  [<c1050e24>] local_apic_timer_interrupt+0x37/0x39
[   87.096005]  [<c1051310>] smp_apic_timer_interrupt+0x2c/0x3a
[   87.096005]  [<c150737d>] apic_timer_interrupt+0x2d/0x34
[   87.096005]  [<c106073c>] ? iomem_map_sanity_check+0x2c/0x96
[   87.096005]  [<c105638a>] __ioremap_caller+0x1e6/0x264
[   87.096005]  [<c1056418>] ioremap_nocache+0x10/0x12
[   87.096005]  [<c1256b7e>] ? hpet_resources+0x26/0xac
[   87.096005]  [<c1256b7e>] hpet_resources+0x26/0xac
[   87.096005]  [<c122d988>] ? acpi_ut_walk_aml_resources+0x76/0xe0
[   87.096005]  [<c122b72d>] ? acpi_ut_update_ref_count+0x7d/0x28d
[   87.096005]  [<c1227e90>] ? acpi_rs_create_aml_resources+0x45/0x45
[   87.096005]  [<c122ba24>] ? acpi_ut_update_object_reference+0xe7/0x14c
[   87.096005]  [<c1227c62>] ? acpi_rs_create_resource_list+0x50/0x5a
[   87.096005]  [<c1256b58>] ? hpet_is_known.isra.6+0x23/0x23
[   87.096005]  [<c1228ae4>] acpi_walk_resource_buffer+0x34/0x6f
[   87.096005]  [<c1256b58>] ? hpet_is_known.isra.6+0x23/0x23
[   87.096005]  [<c1228d90>] acpi_walk_resources+0x57/0x70
[   87.096005]  [<c1256f56>] hpet_acpi_add+0x31/0x6b
[   87.096005]  [<c120b5f5>] acpi_device_probe+0x34/0xc9
[   87.096005]  [<c1307dd5>] driver_probe_device+0xc1/0x1e5
[   87.096005]  [<c1307f40>] __driver_attach+0x47/0x63
[   87.096005]  [<c1306a90>] bus_for_each_dev+0x55/0x5f
[   87.096005]  [<c1307a85>] driver_attach+0x14/0x16
[   87.096005]  [<c1307ef9>] ? driver_probe_device+0x1e5/0x1e5
[   87.096005]  [<c1307745>] bus_add_driver+0xaa/0x191
[   87.096005]  [<c1308538>] driver_register+0x6f/0xa4
[   87.096005]  [<c17654ec>] ? hpet_mmap_enable+0x3a/0x3a
[   87.096005]  [<c120b50f>] acpi_bus_register_driver+0x2f/0x37
[   87.096005]  [<c1765517>] hpet_init+0x2b/0x57
[   87.096005]  [<c17654ec>] ? hpet_mmap_enable+0x3a/0x3a
[   87.096005]  [<c100043b>] do_one_initcall+0xce/0x13f
[   87.096005]  [<c106d9f9>] ? parse_args+0x1af/0x24d
[   87.096005]  [<c1745ae3>] ? kernel_init_freeable+0xb8/0x155
[   87.096005]  [<c1745b03>] kernel_init_freeable+0xd8/0x155
[   87.096005]  [<c1502fcb>] kernel_init+0x8/0xb0
[   87.096005]  [<c1506ac8>] ret_from_kernel_thread+0x20/0x34
[   87.096005]  [<c1502fc3>] ? rest_init+0x6f/0x6f
[   87.096005] rcu_preempt kthread starved for 21007 jiffies! g4294967218 c4294967217 f0x2 s3 ->state=0x0

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-11-16  4:27 [Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245 Jiang Liu
  2015-11-16  7:06 ` Arthur Marsh
@ 2015-11-24 16:49 ` Bjorn Helgaas
  2015-11-24 22:19   ` Rafael J. Wysocki
  1 sibling, 1 reply; 19+ messages in thread
From: Bjorn Helgaas @ 2015-11-24 16:49 UTC (permalink / raw)
  To: Jiang Liu
  Cc: Rafael J . Wysocki, Bjorn Helgaas, linux-kernel, linux-pci,
	linux-acpi, x86, Keith Busch, Arthur Marsh

On Mon, Nov 16, 2015 at 12:27:37PM +0800, Jiang Liu wrote:
> From: Liu Jiang <jiang.liu@linux.intel.com>
> 
> Commit 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support
> PCI host bridge") converted x86 to use the common interface
> acpi_pci_root_create, but the conversion missed on code piece in
> arch/x86/pci/bus_numa.c, which causes regression on some legacy
> AMD platforms as reported by Arthur Marsh <arthur.marsh@internode.on.net>.
> The root causes is that acpi_pci_root_create() fails to insert
> host bridge resources into iomem_resource/ioport_resource because
> x86_pci_root_bus_resources() has already inserted those resources.
> So change x86_pci_root_bus_resources() to not insert resources into
> iomem_resource/ioport_resource.

Fixes: 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge")

> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> Reported-and-tested-by: Arthur Marsh <arthur.marsh@internode.on.net>

What's the status of this?  It looks like a regression we need to fix
for v4.4.

AFAICT, Arthur did *not* test this patch (rather, his response says he
did test it and the test failed).

4d6b4e69a245 was merged by Rafael, and I assume he'll merge the fix
unless I hear otherwise.

Bjorn

> Cc: Keith Busch <keith.busch@intel.com>
> Cc: Arthur Marsh <arthur.marsh@internode.on.net>
> ---
>  arch/x86/pci/bus_numa.c |   16 +++-------------
>  drivers/acpi/pci_root.c |    7 +++++++
>  2 files changed, 10 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c
> index 7bcf06a7cd12..ce53b5b64f51 100644
> --- a/arch/x86/pci/bus_numa.c
> +++ b/arch/x86/pci/bus_numa.c
> @@ -41,27 +41,17 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources)
>  	       bus);
>  
>  	/* already added by acpi ? */
> -	resource_list_for_each_entry(window, resources)
> +	resource_list_for_each_entry(window, &info->resources)
>  		if (window->res->flags & IORESOURCE_BUS) {
>  			found = true;
>  			break;
>  		}
> -
>  	if (!found)
>  		pci_add_resource(resources, &info->busn);
>  
> -	list_for_each_entry(root_res, &info->resources, list) {
> -		struct resource *res;
> -		struct resource *root;
> +	list_for_each_entry(root_res, &info->resources, list)
> +		pci_add_resource(resources, &root_res->res);
>  
> -		res = &root_res->res;
> -		pci_add_resource(resources, res);
> -		if (res->flags & IORESOURCE_IO)
> -			root = &ioport_resource;
> -		else
> -			root = &iomem_resource;
> -		insert_resource(root, res);
> -	}
>  	return;
>  
>  default_resources:
> diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
> index 850d7bf0c873..ae3fe4e64203 100644
> --- a/drivers/acpi/pci_root.c
> +++ b/drivers/acpi/pci_root.c
> @@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info)
>  		else
>  			continue;
>  
> +		/*
> +		 * Some legacy x86 host bridge drivers use iomem_resource and
> +		 * ioport_resource as default resource pool, skip it.
> +		 */
> +		if (res == root)
> +			continue;
> +
>  		conflict = insert_resource_conflict(root, res);
>  		if (conflict) {
>  			dev_info(&info->bridge->dev,
> -- 
> 1.7.10.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-11-24 16:49 ` Bjorn Helgaas
@ 2015-11-24 22:19   ` Rafael J. Wysocki
  2015-11-24 23:04     ` Keith Busch
  2015-11-25  8:12     ` Jiang Liu
  0 siblings, 2 replies; 19+ messages in thread
From: Rafael J. Wysocki @ 2015-11-24 22:19 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Jiang Liu, Rafael J . Wysocki, Bjorn Helgaas,
	Linux Kernel Mailing List, Linux PCI, ACPI Devel Maling List,
	x86, Keith Busch, Arthur Marsh

On Tue, Nov 24, 2015 at 5:49 PM, Bjorn Helgaas <helgaas@kernel.org> wrote:
> On Mon, Nov 16, 2015 at 12:27:37PM +0800, Jiang Liu wrote:
>> From: Liu Jiang <jiang.liu@linux.intel.com>
>>
>> Commit 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support
>> PCI host bridge") converted x86 to use the common interface
>> acpi_pci_root_create, but the conversion missed on code piece in
>> arch/x86/pci/bus_numa.c, which causes regression on some legacy
>> AMD platforms as reported by Arthur Marsh <arthur.marsh@internode.on.net>.
>> The root causes is that acpi_pci_root_create() fails to insert
>> host bridge resources into iomem_resource/ioport_resource because
>> x86_pci_root_bus_resources() has already inserted those resources.
>> So change x86_pci_root_bus_resources() to not insert resources into
>> iomem_resource/ioport_resource.
>
> Fixes: 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge")
>
>> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
>> Reported-and-tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
>
> What's the status of this?  It looks like a regression we need to fix
> for v4.4.
>
> AFAICT, Arthur did *not* test this patch (rather, his response says he
> did test it and the test failed).
>
> 4d6b4e69a245 was merged by Rafael, and I assume he'll merge the fix
> unless I hear otherwise.

Quite frankly, I'm more likely to revert the offending commit at this
point as that's not the only regression reported against it and the
fix only helps in one case (out of three known to me).

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-11-24 22:19   ` Rafael J. Wysocki
@ 2015-11-24 23:04     ` Keith Busch
  2015-11-25  0:32       ` Arthur Marsh
  2015-11-25  8:12     ` Jiang Liu
  1 sibling, 1 reply; 19+ messages in thread
From: Keith Busch @ 2015-11-24 23:04 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Bjorn Helgaas, Jiang Liu, Rafael J . Wysocki, Bjorn Helgaas,
	Linux Kernel Mailing List, Linux PCI, ACPI Devel Maling List,
	x86, Arthur Marsh

On Tue, Nov 24, 2015 at 11:19:34PM +0100, Rafael J. Wysocki wrote:
> Quite frankly, I'm more likely to revert the offending commit at this
> point as that's not the only regression reported against it and the
> fix only helps in one case (out of three known to me).

Using 4.4-rc1 and can confirm the patch fixes my regression report. The
revert also fixes it, so either way is good for me!

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-11-24 23:04     ` Keith Busch
@ 2015-11-25  0:32       ` Arthur Marsh
  2015-11-25  8:27         ` Jiang Liu
  0 siblings, 1 reply; 19+ messages in thread
From: Arthur Marsh @ 2015-11-25  0:32 UTC (permalink / raw)
  To: Keith Busch, Rafael J. Wysocki
  Cc: Bjorn Helgaas, Jiang Liu, Rafael J . Wysocki, Bjorn Helgaas,
	Linux Kernel Mailing List, Linux PCI, ACPI Devel Maling List,
	x86

Keith Busch wrote on 25/11/15 09:34:
> On Tue, Nov 24, 2015 at 11:19:34PM +0100, Rafael J. Wysocki wrote:
>> Quite frankly, I'm more likely to revert the offending commit at this
>> point as that's not the only regression reported against it and the
>> fix only helps in one case (out of three known to me).
>
> Using 4.4-rc1 and can confirm the patch fixes my regression report. The
> revert also fixes it, so either way is good for me!
>

To re-cap, all was fine for me until:

4d6b4e69a245e9df4b84dba387596086cb66887d is the first bad commit
commit 4d6b4e69a245e9df4b84dba387596086cb66887d
Author: Jiang Liu <jiang.liu@linux.intel.com>
Date:   Wed Oct 14 14:29:41 2015 +0800

      x86/PCI/ACPI: Use common interface to support PCI host bridge

      Use common interface to simplify ACPI PCI host bridge implementation.

      Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
      Reviewed-by: Hanjun Guo <hanjun.guo@linaro.org>
      Acked-by: Bjorn Helgaas <bhelgaas@google.com>
      Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

:040000 040000 a3447eea376b5a3e6f57deb35cf064c5481b45e3 
f64d8e49fd87b776933dfa3dfefcb33509004d3f M      arch

 From the boot-up I get the message as shown in the images at: 
http://www.users.on.net/~arthur.marsh/20151107601.jpg and
http://www.users.on.net/~arthur.marsh/20151107602.jpg

The boot-up suggests trying rebooting with pci=alloc but that didn't help.

The errors shown include
"BAR 0: trying firmware assignment [io  size 0x0020]"
"BAR 0: [io  size 0x0020] conflicts with PCI Bus #00 [io  0x0000-0xffff]
"BAR 0: failed to assign [io  size 0x0020]

Applying the following patch on top of the patch above from 14 October 
2015 worked for me:


 From 02818ba34bfa76d93f2a29c85660da0323b0b457 Mon Sep 17 00:00:00 2001
From: Liu Jiang <jiang.liu@linux.intel.com>
Date: Mon, 9 Nov 2015 13:36:48 +0800
Subject: [PATCH]


Signed-off-by: Liu Jiang <jiang.liu@linux.intel.com>
---
  arch/x86/pci/bus_numa.c |    3 +++
  1 file changed, 3 insertions(+)

diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c
index 7bcf06a7cd12..022d83158cdb 100644
--- a/arch/x86/pci/bus_numa.c
+++ b/arch/x86/pci/bus_numa.c
@@ -51,6 +51,8 @@ void x86_pci_root_bus_resources(int bus, struct 
list_head *resources)
          pci_add_resource(resources, &info->busn);

      list_for_each_entry(root_res, &info->resources, list) {
+        pci_add_resource(resources, &root_res->res);
+#if 0
          struct resource *res;
          struct resource *root;

@@ -61,6 +63,7 @@ void x86_pci_root_bus_resources(int bus, struct 
list_head *resources)
          else
              root = &iomem_resource;
          insert_resource(root, res);
+#endif
      }
      return;

###

The patch postd by Jian Liu on 16 November 2015 "[Bugfix] x86/PCI: Fix 
regression caused by commit 4d6b4e69a245" had *not* been seen or tested 
by me before being posted to the linux-acpi list and when I did test it 
(after removing the patch above from 9 November 2015), things broke:
http://www.users.on.net/~arthur.marsh/20151116611.jpg

So if "commit 4d6b4e69a245e9df4b84dba387596086cb66887d
x86/PCI/ACPI: Use common interface to support PCI host bridge" stays, 
then the patch "16 November 2015 [Bugfix] x86/PCI: Fix regression caused 
by commit 4d6b4e69a245" would need to go and the patch above from 9 
November 2015 would need to be accepted into the mainline for my machine 
to boot from the mainline code.

Arthur.

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-11-24 22:19   ` Rafael J. Wysocki
  2015-11-24 23:04     ` Keith Busch
@ 2015-11-25  8:12     ` Jiang Liu
  2015-11-25 13:11       ` Rafael J. Wysocki
  1 sibling, 1 reply; 19+ messages in thread
From: Jiang Liu @ 2015-11-25  8:12 UTC (permalink / raw)
  To: Rafael J. Wysocki, Bjorn Helgaas
  Cc: Rafael J . Wysocki, Bjorn Helgaas, Linux Kernel Mailing List,
	Linux PCI, ACPI Devel Maling List, x86, Keith Busch,
	Arthur Marsh

On 2015/11/25 6:19, Rafael J. Wysocki wrote:
> On Tue, Nov 24, 2015 at 5:49 PM, Bjorn Helgaas <helgaas@kernel.org> wrote:
>> On Mon, Nov 16, 2015 at 12:27:37PM +0800, Jiang Liu wrote:
>>> From: Liu Jiang <jiang.liu@linux.intel.com>
>>>
>>> Commit 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support
>>> PCI host bridge") converted x86 to use the common interface
>>> acpi_pci_root_create, but the conversion missed on code piece in
>>> arch/x86/pci/bus_numa.c, which causes regression on some legacy
>>> AMD platforms as reported by Arthur Marsh <arthur.marsh@internode.on.net>.
>>> The root causes is that acpi_pci_root_create() fails to insert
>>> host bridge resources into iomem_resource/ioport_resource because
>>> x86_pci_root_bus_resources() has already inserted those resources.
>>> So change x86_pci_root_bus_resources() to not insert resources into
>>> iomem_resource/ioport_resource.
>>
>> Fixes: 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge")
>>
>>> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
>>> Reported-and-tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
>>
>> What's the status of this?  It looks like a regression we need to fix
>> for v4.4.
>>
>> AFAICT, Arthur did *not* test this patch (rather, his response says he
>> did test it and the test failed).
>>
>> 4d6b4e69a245 was merged by Rafael, and I assume he'll merge the fix
>> unless I hear otherwise.
> 
> Quite frankly, I'm more likely to revert the offending commit at this
> point as that's not the only regression reported against it and the
> fix only helps in one case (out of three known to me).
Hi Rafael,
	I got regression report from Hans de Bruin<jmdebruin@xmsnet.nl>,
Keith Busch <keith.busch@intel.com>, and Arthur Marsh
<arthur.marsh@internode.on.net>. Hans and Keith also reports
the patch fixes the regression. For Arthur's case, the debug
patch works for him, but the formal patch based on the debug
patch fails, so I need to do more investigation about this.
Is there any other report related to commit 4d6b4e69a245 so
I could help to investigate?
Thanks,
Gerry

> 
> Thanks,
> Rafael
> 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-11-25  0:32       ` Arthur Marsh
@ 2015-11-25  8:27         ` Jiang Liu
  2015-11-25 10:12           ` Arthur Marsh
  0 siblings, 1 reply; 19+ messages in thread
From: Jiang Liu @ 2015-11-25  8:27 UTC (permalink / raw)
  To: Arthur Marsh, Keith Busch, Rafael J. Wysocki
  Cc: Bjorn Helgaas, Rafael J . Wysocki, Bjorn Helgaas,
	Linux Kernel Mailing List, Linux PCI, ACPI Devel Maling List,
	x86

[-- Attachment #1: Type: text/plain, Size: 3916 bytes --]

On 2015/11/25 8:32, Arthur Marsh wrote:
> Keith Busch wrote on 25/11/15 09:34:
>> On Tue, Nov 24, 2015 at 11:19:34PM +0100, Rafael J. Wysocki wrote:
>>> Quite frankly, I'm more likely to revert the offending commit at this
>>> point as that's not the only regression reported against it and the
>>> fix only helps in one case (out of three known to me).
>>
>> Using 4.4-rc1 and can confirm the patch fixes my regression report. The
>> revert also fixes it, so either way is good for me!
>>
> 
> To re-cap, all was fine for me until:
> 
> 4d6b4e69a245e9df4b84dba387596086cb66887d is the first bad commit
> commit 4d6b4e69a245e9df4b84dba387596086cb66887d
> Author: Jiang Liu <jiang.liu@linux.intel.com>
> Date:   Wed Oct 14 14:29:41 2015 +0800
> 
>      x86/PCI/ACPI: Use common interface to support PCI host bridge
> 
>      Use common interface to simplify ACPI PCI host bridge implementation.
> 
>      Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
>      Reviewed-by: Hanjun Guo <hanjun.guo@linaro.org>
>      Acked-by: Bjorn Helgaas <bhelgaas@google.com>
>      Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> :040000 040000 a3447eea376b5a3e6f57deb35cf064c5481b45e3
> f64d8e49fd87b776933dfa3dfefcb33509004d3f M      arch
> 
> From the boot-up I get the message as shown in the images at:
> http://www.users.on.net/~arthur.marsh/20151107601.jpg and
> http://www.users.on.net/~arthur.marsh/20151107602.jpg
> 
> The boot-up suggests trying rebooting with pci=alloc but that didn't help.
> 
> The errors shown include
> "BAR 0: trying firmware assignment [io  size 0x0020]"
> "BAR 0: [io  size 0x0020] conflicts with PCI Bus #00 [io  0x0000-0xffff]
> "BAR 0: failed to assign [io  size 0x0020]
> 
> Applying the following patch on top of the patch above from 14 October
> 2015 worked for me:
> 
> 
> From 02818ba34bfa76d93f2a29c85660da0323b0b457 Mon Sep 17 00:00:00 2001
> From: Liu Jiang <jiang.liu@linux.intel.com>
> Date: Mon, 9 Nov 2015 13:36:48 +0800
> Subject: [PATCH]
> 
> 
> Signed-off-by: Liu Jiang <jiang.liu@linux.intel.com>
> ---
>  arch/x86/pci/bus_numa.c |    3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c
> index 7bcf06a7cd12..022d83158cdb 100644
> --- a/arch/x86/pci/bus_numa.c
> +++ b/arch/x86/pci/bus_numa.c
> @@ -51,6 +51,8 @@ void x86_pci_root_bus_resources(int bus, struct
> list_head *resources)
>          pci_add_resource(resources, &info->busn);
> 
>      list_for_each_entry(root_res, &info->resources, list) {
> +        pci_add_resource(resources, &root_res->res);
> +#if 0
>          struct resource *res;
>          struct resource *root;
> 
> @@ -61,6 +63,7 @@ void x86_pci_root_bus_resources(int bus, struct
> list_head *resources)
>          else
>              root = &iomem_resource;
>          insert_resource(root, res);
> +#endif
>      }
>      return;
> 
> ###
> 
> The patch postd by Jian Liu on 16 November 2015 "[Bugfix] x86/PCI: Fix
> regression caused by commit 4d6b4e69a245" had *not* been seen or tested
> by me before being posted to the linux-acpi list and when I did test it
> (after removing the patch above from 9 November 2015), things broke:
> http://www.users.on.net/~arthur.marsh/20151116611.jpg
> 
> So if "commit 4d6b4e69a245e9df4b84dba387596086cb66887d
> x86/PCI/ACPI: Use common interface to support PCI host bridge" stays,
> then the patch "16 November 2015 [Bugfix] x86/PCI: Fix regression caused
> by commit 4d6b4e69a245" would need to go and the patch above from 9
> November 2015 would need to be accepted into the mainline for my machine
> to boot from the mainline code.
Hi Arthur,
	Thanks for reminder again!
It's a little strange, the formal patch "[Bugfix] x86/PCI: Fix
regression caused by commit 4d6b4e69a245" is based on the debug patch
I sent to you at 9 November 2015.
	Could you please help to try the attached patch again?
Thanks,
Gerry

> 
> Arthur.

[-- Attachment #2: 0001-x86-PCI-Fix-regression-caused-by-commit-4d6b4e69a245.patch --]
[-- Type: text/x-patch, Size: 2533 bytes --]

>From 2f82bcfb3f8804197512e55259b57e6fbed6a913 Mon Sep 17 00:00:00 2001
From: Liu Jiang <jiang.liu@linux.intel.com>
Date: Mon, 9 Nov 2015 13:36:48 +0800
Subject: [PATCH] x86/PCI: Fix regression caused by commit 4d6b4e69a245

Commit 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support
PCI host bridge") converted x86 to use the common interface
acpi_pci_root_create, but the conversion missed on code piece in
arch/x86/pci/bus_numa.c, which causes regression on some legacy
AMD platforms as reported by Arthur Marsh <arthur.marsh@internode.on.net>.
The root causes is that acpi_pci_root_create() fails to insert
host bridge resources into iomem_resource/ioport_resource because
x86_pci_root_bus_resources() has already inserted those resources.
So change x86_pci_root_bus_resources() to not insert resources into
iomem_resource/ioport_resource.

Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Reported-and-tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
Cc: Keith Busch <keith.busch@intel.com>
Cc: Arthur Marsh <arthur.marsh@internode.on.net>
---
 arch/x86/pci/bus_numa.c |   13 ++-----------
 drivers/acpi/pci_root.c |    7 +++++++
 2 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c
index 7bcf06a7cd12..6eb3c8af96e2 100644
--- a/arch/x86/pci/bus_numa.c
+++ b/arch/x86/pci/bus_numa.c
@@ -50,18 +50,9 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources)
 	if (!found)
 		pci_add_resource(resources, &info->busn);
 
-	list_for_each_entry(root_res, &info->resources, list) {
-		struct resource *res;
-		struct resource *root;
+	list_for_each_entry(root_res, &info->resources, list)
+		pci_add_resource(resources, &root_res->res);
 
-		res = &root_res->res;
-		pci_add_resource(resources, res);
-		if (res->flags & IORESOURCE_IO)
-			root = &ioport_resource;
-		else
-			root = &iomem_resource;
-		insert_resource(root, res);
-	}
 	return;
 
 default_resources:
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
index 850d7bf0c873..ae3fe4e64203 100644
--- a/drivers/acpi/pci_root.c
+++ b/drivers/acpi/pci_root.c
@@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info)
 		else
 			continue;
 
+		/*
+		 * Some legacy x86 host bridge drivers use iomem_resource and
+		 * ioport_resource as default resource pool, skip it.
+		 */
+		if (res == root)
+			continue;
+
 		conflict = insert_resource_conflict(root, res);
 		if (conflict) {
 			dev_info(&info->bridge->dev,
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-11-25  8:27         ` Jiang Liu
@ 2015-11-25 10:12           ` Arthur Marsh
  0 siblings, 0 replies; 19+ messages in thread
From: Arthur Marsh @ 2015-11-25 10:12 UTC (permalink / raw)
  To: Jiang Liu, Keith Busch, Rafael J. Wysocki
  Cc: Bjorn Helgaas, Rafael J . Wysocki, Bjorn Helgaas,
	Linux Kernel Mailing List, Linux PCI, ACPI Devel Maling List,
	x86



Jiang Liu wrote on 25/11/15 18:57:

> Hi Arthur,
> 	Thanks for reminder again!
> It's a little strange, the formal patch "[Bugfix] x86/PCI: Fix
> regression caused by commit 4d6b4e69a245" is based on the debug patch
> I sent to you at 9 November 2015.
> 	Could you please help to try the attached patch again?
> Thanks,
> Gerry

OK, I'm booting alright now with git diff reporting the following (just 
the patch that Jiang Liu posted in the parent):

diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c
index 7bcf06a..6eb3c8a 100644
--- a/arch/x86/pci/bus_numa.c
+++ b/arch/x86/pci/bus_numa.c
@@ -50,18 +50,9 @@ void x86_pci_root_bus_resources(int bus, struct 
list_head *resources)
  	if (!found)
  		pci_add_resource(resources, &info->busn);

-	list_for_each_entry(root_res, &info->resources, list) {
-		struct resource *res;
-		struct resource *root;
+	list_for_each_entry(root_res, &info->resources, list)
+		pci_add_resource(resources, &root_res->res);

-		res = &root_res->res;
-		pci_add_resource(resources, res);
-		if (res->flags & IORESOURCE_IO)
-			root = &ioport_resource;
-		else
-			root = &iomem_resource;
-		insert_resource(root, res);
-	}
  	return;

  default_resources:
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
index 850d7bf..ae3fe4e 100644
--- a/drivers/acpi/pci_root.c
+++ b/drivers/acpi/pci_root.c
@@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct 
acpi_pci_root_info *info)
  		else
  			continue;

+		/*
+		 * Some legacy x86 host bridge drivers use iomem_resource and
+		 * ioport_resource as default resource pool, skip it.
+		 */
+		if (res == root)
+			continue;
+
  		conflict = insert_resource_conflict(root, res);
  		if (conflict) {
  			dev_info(&info->bridge->dev,
####


There have been at least two gcc-5 updates on this machine since 
originally reporting the problem so that may have affected results.

Thanks to all for help with this.

Arthur.

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-11-25  8:12     ` Jiang Liu
@ 2015-11-25 13:11       ` Rafael J. Wysocki
  2015-11-27  3:12         ` [PATCH] " Jiang Liu
  0 siblings, 1 reply; 19+ messages in thread
From: Rafael J. Wysocki @ 2015-11-25 13:11 UTC (permalink / raw)
  To: Jiang Liu, Rafael J. Wysocki, Bjorn Helgaas
  Cc: Bjorn Helgaas, Linux Kernel Mailing List, Linux PCI,
	ACPI Devel Maling List, x86, Keith Busch, Arthur Marsh

On 11/25/2015 9:12 AM, Jiang Liu wrote:
> On 2015/11/25 6:19, Rafael J. Wysocki wrote:
>> On Tue, Nov 24, 2015 at 5:49 PM, Bjorn Helgaas <helgaas@kernel.org> wrote:
>>> On Mon, Nov 16, 2015 at 12:27:37PM +0800, Jiang Liu wrote:
>>>> From: Liu Jiang <jiang.liu@linux.intel.com>
>>>>
>>>> Commit 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support
>>>> PCI host bridge") converted x86 to use the common interface
>>>> acpi_pci_root_create, but the conversion missed on code piece in
>>>> arch/x86/pci/bus_numa.c, which causes regression on some legacy
>>>> AMD platforms as reported by Arthur Marsh <arthur.marsh@internode.on.net>.
>>>> The root causes is that acpi_pci_root_create() fails to insert
>>>> host bridge resources into iomem_resource/ioport_resource because
>>>> x86_pci_root_bus_resources() has already inserted those resources.
>>>> So change x86_pci_root_bus_resources() to not insert resources into
>>>> iomem_resource/ioport_resource.
>>> Fixes: 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge")
>>>
>>>> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
>>>> Reported-and-tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
>>> What's the status of this?  It looks like a regression we need to fix
>>> for v4.4.
>>>
>>> AFAICT, Arthur did *not* test this patch (rather, his response says he
>>> did test it and the test failed).
>>>
>>> 4d6b4e69a245 was merged by Rafael, and I assume he'll merge the fix
>>> unless I hear otherwise.
>> Quite frankly, I'm more likely to revert the offending commit at this
>> point as that's not the only regression reported against it and the
>> fix only helps in one case (out of three known to me).
> Hi Rafael,
> 	I got regression report from Hans de Bruin<jmdebruin@xmsnet.nl>,
> Keith Busch <keith.busch@intel.com>, and Arthur Marsh
> <arthur.marsh@internode.on.net>. Hans and Keith also reports
> the patch fixes the regression. For Arthur's case, the debug
> patch works for him, but the formal patch based on the debug
> patch fails, so I need to do more investigation about this.
> Is there any other report related to commit 4d6b4e69a245 so
> I could help to investigate?

OK, so the proposed bug fix works for everybody, right?

In that case there's no reason not to apply it.

If there's anyone who can reproduce the problem and for whom that patch 
doesn't work, please let me know.

Thanks,
Rafael


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-11-25 13:11       ` Rafael J. Wysocki
@ 2015-11-27  3:12         ` Jiang Liu
  2015-11-27 16:06           ` Rafael J. Wysocki
  0 siblings, 1 reply; 19+ messages in thread
From: Jiang Liu @ 2015-11-27  3:12 UTC (permalink / raw)
  To: Bjorn Helgaas, Rafael J. Wysocki
  Cc: linux-pci, linux-kernel, linux-acpi, Liu Jiang, Keith Busch,
	Arthur Marsh, Hans de Bruin

From: Liu Jiang <jiang.liu@linux.intel.com>

Commit 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support
PCI host bridge") converted x86 to use the common interface
acpi_pci_root_create, but the conversion missed on code piece in
arch/x86/pci/bus_numa.c, which causes regression on some legacy
AMD platforms as reported by Arthur Marsh <arthur.marsh@internode.on.net>.
The root causes is that acpi_pci_root_create() fails to insert
host bridge resources into iomem_resource/ioport_resource because
x86_pci_root_bus_resources() has already inserted those resources.
So change x86_pci_root_bus_resources() to not insert resources into
iomem_resource/ioport_resource.

Fixes: 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge")
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Reported-and-tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
Cc: Keith Busch <keith.busch@intel.com>
Cc: Arthur Marsh <arthur.marsh@internode.on.net>
Cc: Hans de Bruin <jmdebruin@xmsnet.nl>
---
 arch/x86/pci/bus_numa.c |   13 ++-----------
 drivers/acpi/pci_root.c |    7 +++++++
 2 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c
index 7bcf06a7cd12..6eb3c8af96e2 100644
--- a/arch/x86/pci/bus_numa.c
+++ b/arch/x86/pci/bus_numa.c
@@ -50,18 +50,9 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources)
 	if (!found)
 		pci_add_resource(resources, &info->busn);
 
-	list_for_each_entry(root_res, &info->resources, list) {
-		struct resource *res;
-		struct resource *root;
+	list_for_each_entry(root_res, &info->resources, list)
+		pci_add_resource(resources, &root_res->res);
 
-		res = &root_res->res;
-		pci_add_resource(resources, res);
-		if (res->flags & IORESOURCE_IO)
-			root = &ioport_resource;
-		else
-			root = &iomem_resource;
-		insert_resource(root, res);
-	}
 	return;
 
 default_resources:
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
index 850d7bf0c873..ae3fe4e64203 100644
--- a/drivers/acpi/pci_root.c
+++ b/drivers/acpi/pci_root.c
@@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info)
 		else
 			continue;
 
+		/*
+		 * Some legacy x86 host bridge drivers use iomem_resource and
+		 * ioport_resource as default resource pool, skip it.
+		 */
+		if (res == root)
+			continue;
+
 		conflict = insert_resource_conflict(root, res);
 		if (conflict) {
 			dev_info(&info->bridge->dev,
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-11-27  3:12         ` [PATCH] " Jiang Liu
@ 2015-11-27 16:06           ` Rafael J. Wysocki
  2015-11-30  1:20             ` Jiang Liu
  0 siblings, 1 reply; 19+ messages in thread
From: Rafael J. Wysocki @ 2015-11-27 16:06 UTC (permalink / raw)
  To: Jiang Liu
  Cc: Bjorn Helgaas, linux-pci, linux-kernel, linux-acpi, Keith Busch,
	Arthur Marsh, Hans de Bruin

On Friday, November 27, 2015 11:12:33 AM Jiang Liu wrote:
> From: Liu Jiang <jiang.liu@linux.intel.com>
> 
> Commit 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support
> PCI host bridge") converted x86 to use the common interface
> acpi_pci_root_create, but the conversion missed on code piece in
> arch/x86/pci/bus_numa.c, which causes regression on some legacy
> AMD platforms as reported by Arthur Marsh <arthur.marsh@internode.on.net>.
> The root causes is that acpi_pci_root_create() fails to insert
> host bridge resources into iomem_resource/ioport_resource because
> x86_pci_root_bus_resources() has already inserted those resources.
> So change x86_pci_root_bus_resources() to not insert resources into
> iomem_resource/ioport_resource.
> 
> Fixes: 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge")
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> Reported-and-tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
> Cc: Keith Busch <keith.busch@intel.com>
> Cc: Arthur Marsh <arthur.marsh@internode.on.net>
> Cc: Hans de Bruin <jmdebruin@xmsnet.nl>

What exactly has changed between this version and the previous one?


> ---
>  arch/x86/pci/bus_numa.c |   13 ++-----------
>  drivers/acpi/pci_root.c |    7 +++++++
>  2 files changed, 9 insertions(+), 11 deletions(-)
> 
> diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c
> index 7bcf06a7cd12..6eb3c8af96e2 100644
> --- a/arch/x86/pci/bus_numa.c
> +++ b/arch/x86/pci/bus_numa.c
> @@ -50,18 +50,9 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources)
>  	if (!found)
>  		pci_add_resource(resources, &info->busn);
>  
> -	list_for_each_entry(root_res, &info->resources, list) {
> -		struct resource *res;
> -		struct resource *root;
> +	list_for_each_entry(root_res, &info->resources, list)
> +		pci_add_resource(resources, &root_res->res);
>  
> -		res = &root_res->res;
> -		pci_add_resource(resources, res);
> -		if (res->flags & IORESOURCE_IO)
> -			root = &ioport_resource;
> -		else
> -			root = &iomem_resource;
> -		insert_resource(root, res);
> -	}
>  	return;
>  
>  default_resources:
> diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
> index 850d7bf0c873..ae3fe4e64203 100644
> --- a/drivers/acpi/pci_root.c
> +++ b/drivers/acpi/pci_root.c
> @@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info)
>  		else
>  			continue;
>  
> +		/*
> +		 * Some legacy x86 host bridge drivers use iomem_resource and
> +		 * ioport_resource as default resource pool, skip it.
> +		 */
> +		if (res == root)
> +			continue;
> +
>  		conflict = insert_resource_conflict(root, res);
>  		if (conflict) {
>  			dev_info(&info->bridge->dev,
> 

-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-11-27 16:06           ` Rafael J. Wysocki
@ 2015-11-30  1:20             ` Jiang Liu
  2015-11-30  2:11               ` Rafael J. Wysocki
  0 siblings, 1 reply; 19+ messages in thread
From: Jiang Liu @ 2015-11-30  1:20 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Bjorn Helgaas, linux-pci, linux-kernel, linux-acpi, Keith Busch,
	Arthur Marsh, Hans de Bruin

On 2015/11/28 0:06, Rafael J. Wysocki wrote:
> On Friday, November 27, 2015 11:12:33 AM Jiang Liu wrote:
>> From: Liu Jiang <jiang.liu@linux.intel.com>
>>
>> Commit 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support
>> PCI host bridge") converted x86 to use the common interface
>> acpi_pci_root_create, but the conversion missed on code piece in
>> arch/x86/pci/bus_numa.c, which causes regression on some legacy
>> AMD platforms as reported by Arthur Marsh <arthur.marsh@internode.on.net>.
>> The root causes is that acpi_pci_root_create() fails to insert
>> host bridge resources into iomem_resource/ioport_resource because
>> x86_pci_root_bus_resources() has already inserted those resources.
>> So change x86_pci_root_bus_resources() to not insert resources into
>> iomem_resource/ioport_resource.
>>
>> Fixes: 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge")
>> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
>> Reported-and-tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
>> Cc: Keith Busch <keith.busch@intel.com>
>> Cc: Arthur Marsh <arthur.marsh@internode.on.net>
>> Cc: Hans de Bruin <jmdebruin@xmsnet.nl>
> 
> What exactly has changed between this version and the previous one?
Hi Rafael,
	I have removed following changes against the original patch
posted at Nov 16.
 	       bus);

 	/* already added by acpi ? */
-	resource_list_for_each_entry(window, resources)
+	resource_list_for_each_entry(window, &info->resources)
 		if (window->res->flags & IORESOURCE_BUS) {
 			found = true;
 			break;
 		}
-
 	if (!found)
 		pci_add_resource(resources, &info->busn);

And I only refined the commit message based on the test patch
I sent to Authur as an attachment at Nov 25.
Thanks,
Gerry
> 
> 
>> ---
>>  arch/x86/pci/bus_numa.c |   13 ++-----------
>>  drivers/acpi/pci_root.c |    7 +++++++
>>  2 files changed, 9 insertions(+), 11 deletions(-)
>>
>> diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c
>> index 7bcf06a7cd12..6eb3c8af96e2 100644
>> --- a/arch/x86/pci/bus_numa.c
>> +++ b/arch/x86/pci/bus_numa.c
>> @@ -50,18 +50,9 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources)
>>  	if (!found)
>>  		pci_add_resource(resources, &info->busn);
>>  
>> -	list_for_each_entry(root_res, &info->resources, list) {
>> -		struct resource *res;
>> -		struct resource *root;
>> +	list_for_each_entry(root_res, &info->resources, list)
>> +		pci_add_resource(resources, &root_res->res);
>>  
>> -		res = &root_res->res;
>> -		pci_add_resource(resources, res);
>> -		if (res->flags & IORESOURCE_IO)
>> -			root = &ioport_resource;
>> -		else
>> -			root = &iomem_resource;
>> -		insert_resource(root, res);
>> -	}
>>  	return;
>>  
>>  default_resources:
>> diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
>> index 850d7bf0c873..ae3fe4e64203 100644
>> --- a/drivers/acpi/pci_root.c
>> +++ b/drivers/acpi/pci_root.c
>> @@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info)
>>  		else
>>  			continue;
>>  
>> +		/*
>> +		 * Some legacy x86 host bridge drivers use iomem_resource and
>> +		 * ioport_resource as default resource pool, skip it.
>> +		 */
>> +		if (res == root)
>> +			continue;
>> +
>>  		conflict = insert_resource_conflict(root, res);
>>  		if (conflict) {
>>  			dev_info(&info->bridge->dev,
>>
> 

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-11-30  1:20             ` Jiang Liu
@ 2015-11-30  2:11               ` Rafael J. Wysocki
  2015-11-30 17:19                 ` Bjorn Helgaas
                                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Rafael J. Wysocki @ 2015-11-30  2:11 UTC (permalink / raw)
  To: Jiang Liu, Bjorn Helgaas, Keith Busch, Hans de Bruin
  Cc: linux-pci, linux-kernel, linux-acpi, Arthur Marsh

On Monday, November 30, 2015 09:20:06 AM Jiang Liu wrote:
> On 2015/11/28 0:06, Rafael J. Wysocki wrote:
> > On Friday, November 27, 2015 11:12:33 AM Jiang Liu wrote:
> >> From: Liu Jiang <jiang.liu@linux.intel.com>
> >>
> >> Commit 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support
> >> PCI host bridge") converted x86 to use the common interface
> >> acpi_pci_root_create, but the conversion missed on code piece in
> >> arch/x86/pci/bus_numa.c, which causes regression on some legacy
> >> AMD platforms as reported by Arthur Marsh <arthur.marsh@internode.on.net>.
> >> The root causes is that acpi_pci_root_create() fails to insert
> >> host bridge resources into iomem_resource/ioport_resource because
> >> x86_pci_root_bus_resources() has already inserted those resources.
> >> So change x86_pci_root_bus_resources() to not insert resources into
> >> iomem_resource/ioport_resource.
> >>
> >> Fixes: 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge")
> >> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> >> Reported-and-tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
> >> Cc: Keith Busch <keith.busch@intel.com>
> >> Cc: Arthur Marsh <arthur.marsh@internode.on.net>
> >> Cc: Hans de Bruin <jmdebruin@xmsnet.nl>
> > 
> > What exactly has changed between this version and the previous one?
> Hi Rafael,
> 	I have removed following changes against the original patch
> posted at Nov 16.
>  	       bus);
> 
>  	/* already added by acpi ? */
> -	resource_list_for_each_entry(window, resources)
> +	resource_list_for_each_entry(window, &info->resources)
>  		if (window->res->flags & IORESOURCE_BUS) {
>  			found = true;
>  			break;
>  		}
> -
>  	if (!found)
>  		pci_add_resource(resources, &info->busn);
> 
> And I only refined the commit message based on the test patch
> I sent to Authur as an attachment at Nov 25.

OK, thanks.

Keith, Hans, can you test this version too please?

Bjorn, any more comments from you on this one?

> >> ---
> >>  arch/x86/pci/bus_numa.c |   13 ++-----------
> >>  drivers/acpi/pci_root.c |    7 +++++++
> >>  2 files changed, 9 insertions(+), 11 deletions(-)
> >>
> >> diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c
> >> index 7bcf06a7cd12..6eb3c8af96e2 100644
> >> --- a/arch/x86/pci/bus_numa.c
> >> +++ b/arch/x86/pci/bus_numa.c
> >> @@ -50,18 +50,9 @@ void x86_pci_root_bus_resources(int bus, struct list_head *resources)
> >>  	if (!found)
> >>  		pci_add_resource(resources, &info->busn);
> >>  
> >> -	list_for_each_entry(root_res, &info->resources, list) {
> >> -		struct resource *res;
> >> -		struct resource *root;
> >> +	list_for_each_entry(root_res, &info->resources, list)
> >> +		pci_add_resource(resources, &root_res->res);
> >>  
> >> -		res = &root_res->res;
> >> -		pci_add_resource(resources, res);
> >> -		if (res->flags & IORESOURCE_IO)
> >> -			root = &ioport_resource;
> >> -		else
> >> -			root = &iomem_resource;
> >> -		insert_resource(root, res);
> >> -	}
> >>  	return;
> >>  
> >>  default_resources:
> >> diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
> >> index 850d7bf0c873..ae3fe4e64203 100644
> >> --- a/drivers/acpi/pci_root.c
> >> +++ b/drivers/acpi/pci_root.c
> >> @@ -768,6 +768,13 @@ static void pci_acpi_root_add_resources(struct acpi_pci_root_info *info)
> >>  		else
> >>  			continue;
> >>  
> >> +		/*
> >> +		 * Some legacy x86 host bridge drivers use iomem_resource and
> >> +		 * ioport_resource as default resource pool, skip it.
> >> +		 */
> >> +		if (res == root)
> >> +			continue;
> >> +
> >>  		conflict = insert_resource_conflict(root, res);
> >>  		if (conflict) {
> >>  			dev_info(&info->bridge->dev,
> >>
> > 

Thanks,
Rafael


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-11-30  2:11               ` Rafael J. Wysocki
@ 2015-11-30 17:19                 ` Bjorn Helgaas
  2015-11-30 17:39                 ` Keith Busch
  2015-12-01 19:00                 ` Hans de Bruin
  2 siblings, 0 replies; 19+ messages in thread
From: Bjorn Helgaas @ 2015-11-30 17:19 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Jiang Liu, Bjorn Helgaas, Keith Busch, Hans de Bruin, linux-pci,
	linux-kernel, linux-acpi, Arthur Marsh

On Mon, Nov 30, 2015 at 03:11:14AM +0100, Rafael J. Wysocki wrote:
> On Monday, November 30, 2015 09:20:06 AM Jiang Liu wrote:
> > On 2015/11/28 0:06, Rafael J. Wysocki wrote:
> > > On Friday, November 27, 2015 11:12:33 AM Jiang Liu wrote:
> > >> From: Liu Jiang <jiang.liu@linux.intel.com>
> > >>
> > >> Commit 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support
> > >> PCI host bridge") converted x86 to use the common interface
> > >> acpi_pci_root_create, but the conversion missed on code piece in
> > >> arch/x86/pci/bus_numa.c, which causes regression on some legacy
> > >> AMD platforms as reported by Arthur Marsh <arthur.marsh@internode.on.net>.
> > >> The root causes is that acpi_pci_root_create() fails to insert
> > >> host bridge resources into iomem_resource/ioport_resource because
> > >> x86_pci_root_bus_resources() has already inserted those resources.
> > >> So change x86_pci_root_bus_resources() to not insert resources into
> > >> iomem_resource/ioport_resource.
> > >>
> > >> Fixes: 4d6b4e69a245 ("x86/PCI/ACPI: Use common interface to support PCI host bridge")
> > >> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> > >> Reported-and-tested-by: Arthur Marsh <arthur.marsh@internode.on.net>
> > >> Cc: Keith Busch <keith.busch@intel.com>
> > >> Cc: Arthur Marsh <arthur.marsh@internode.on.net>
> > >> Cc: Hans de Bruin <jmdebruin@xmsnet.nl>
> > > 
> > > What exactly has changed between this version and the previous one?
> > Hi Rafael,
> > 	I have removed following changes against the original patch
> > posted at Nov 16.
> >  	       bus);
> > 
> >  	/* already added by acpi ? */
> > -	resource_list_for_each_entry(window, resources)
> > +	resource_list_for_each_entry(window, &info->resources)
> >  		if (window->res->flags & IORESOURCE_BUS) {
> >  			found = true;
> >  			break;
> >  		}
> > -
> >  	if (!found)
> >  		pci_add_resource(resources, &info->busn);
> > 
> > And I only refined the commit message based on the test patch
> > I sent to Authur as an attachment at Nov 25.
> 
> OK, thanks.
> 
> Keith, Hans, can you test this version too please?
> 
> Bjorn, any more comments from you on this one?

I haven't reviewed it in detail, but I don't have any objections to it.

Bjorn

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-11-30  2:11               ` Rafael J. Wysocki
  2015-11-30 17:19                 ` Bjorn Helgaas
@ 2015-11-30 17:39                 ` Keith Busch
  2015-12-01 19:00                 ` Hans de Bruin
  2 siblings, 0 replies; 19+ messages in thread
From: Keith Busch @ 2015-11-30 17:39 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Jiang Liu, Bjorn Helgaas, Hans de Bruin, linux-pci, linux-kernel,
	linux-acpi, Arthur Marsh

On Mon, Nov 30, 2015 at 03:11:14AM +0100, Rafael J. Wysocki wrote:
> On Monday, November 30, 2015 09:20:06 AM Jiang Liu wrote:
> > Hi Rafael,
> > 	I have removed following changes against the original patch
> > posted at Nov 16.
> >  	       bus);
> > 
> >  	/* already added by acpi ? */
> > -	resource_list_for_each_entry(window, resources)
> > +	resource_list_for_each_entry(window, &info->resources)
> >  		if (window->res->flags & IORESOURCE_BUS) {
> >  			found = true;
> >  			break;
> >  		}
> > -
> >  	if (!found)
> >  		pci_add_resource(resources, &info->busn);
> > 
> > And I only refined the commit message based on the test patch
> > I sent to Authur as an attachment at Nov 25.
> 
> OK, thanks.
> 
> Keith, Hans, can you test this version too please?

Thanks, works for me!

Tested-by: Keith Busch <keith.busch@intel.com>
 
> Bjorn, any more comments from you on this one?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-11-30  2:11               ` Rafael J. Wysocki
  2015-11-30 17:19                 ` Bjorn Helgaas
  2015-11-30 17:39                 ` Keith Busch
@ 2015-12-01 19:00                 ` Hans de Bruin
  2015-12-02  2:08                   ` Rafael J. Wysocki
  2 siblings, 1 reply; 19+ messages in thread
From: Hans de Bruin @ 2015-12-01 19:00 UTC (permalink / raw)
  To: Rafael J. Wysocki, Jiang Liu, Bjorn Helgaas, Keith Busch
  Cc: linux-pci, linux-kernel, linux-acpi, Arthur Marsh

On 11/30/2015 03:11 AM, Rafael J. Wysocki wrote:
> On Monday, November 30, 2015 09:20:06 AM Jiang Liu wrote:
>> On 2015/11/28 0:06, Rafael J. Wysocki wrote:
...
>>
>> And I only refined the commit message based on the test patch
>> I sent to Authur as an attachment at Nov 25.
>
> OK, thanks.
>
> Keith, Hans, can you test this version too please?
>

This version of the patch works on my laptop too.

-- 
Hans


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] x86/PCI: Fix regression caused by commit 4d6b4e69a245
  2015-12-01 19:00                 ` Hans de Bruin
@ 2015-12-02  2:08                   ` Rafael J. Wysocki
  0 siblings, 0 replies; 19+ messages in thread
From: Rafael J. Wysocki @ 2015-12-02  2:08 UTC (permalink / raw)
  To: Hans de Bruin, Keith Busch, Arthur Marsh
  Cc: Jiang Liu, Bjorn Helgaas, linux-pci, linux-kernel, linux-acpi

On Tuesday, December 01, 2015 08:00:50 PM Hans de Bruin wrote:
> On 11/30/2015 03:11 AM, Rafael J. Wysocki wrote:
> > On Monday, November 30, 2015 09:20:06 AM Jiang Liu wrote:
> >> On 2015/11/28 0:06, Rafael J. Wysocki wrote:
> ...
> >>
> >> And I only refined the commit message based on the test patch
> >> I sent to Authur as an attachment at Nov 25.
> >
> > OK, thanks.
> >
> > Keith, Hans, can you test this version too please?
> >
> 
> This version of the patch works on my laptop too.

Thank you all for verifying!

The patch is in my queue for 4.4-rc4.

Thanks,
Rafael


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2015-12-02  1:38 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-16  4:27 [Bugfix] x86/PCI: Fix regression caused by commit 4d6b4e69a245 Jiang Liu
2015-11-16  7:06 ` Arthur Marsh
2015-11-16 21:45   ` Hans de Bruin
2015-11-24 16:49 ` Bjorn Helgaas
2015-11-24 22:19   ` Rafael J. Wysocki
2015-11-24 23:04     ` Keith Busch
2015-11-25  0:32       ` Arthur Marsh
2015-11-25  8:27         ` Jiang Liu
2015-11-25 10:12           ` Arthur Marsh
2015-11-25  8:12     ` Jiang Liu
2015-11-25 13:11       ` Rafael J. Wysocki
2015-11-27  3:12         ` [PATCH] " Jiang Liu
2015-11-27 16:06           ` Rafael J. Wysocki
2015-11-30  1:20             ` Jiang Liu
2015-11-30  2:11               ` Rafael J. Wysocki
2015-11-30 17:19                 ` Bjorn Helgaas
2015-11-30 17:39                 ` Keith Busch
2015-12-01 19:00                 ` Hans de Bruin
2015-12-02  2:08                   ` Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).