2014-02-08 19:06:23

by Paul Bolle

[permalink] [raw]
Subject: agp/intel: can't ioremap flush page - no chipset flushing

0) Booting v3.14-rc1 on an (outdated) ThinkPad X41 triggers a kernel
error:
pci 0000:00:02.0: can't ioremap flush page - no chipset flushing

That is this pci device:
lspci | grep 00:02.0
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)

I can't remember seeing that error before. It is apparently printed by
drivers/char/agp/intel-gtt.c. (So I've sent this message to the people
touching that file between v3.13 and v3.14-rc1. No, I haven't yet
pinpointed a specific commit.)

1) What am I supposed to do to make this error go away?


Paul Bolle


2014-02-08 20:04:54

by Daniel Vetter

[permalink] [raw]
Subject: Re: agp/intel: can't ioremap flush page - no chipset flushing

On Sat, Feb 8, 2014 at 8:06 PM, Paul Bolle <[email protected]> wrote:
> 0) Booting v3.14-rc1 on an (outdated) ThinkPad X41 triggers a kernel
> error:
> pci 0000:00:02.0: can't ioremap flush page - no chipset flushing
>
> That is this pci device:
> lspci | grep 00:02.0
> 00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
>
> I can't remember seeing that error before. It is apparently printed by
> drivers/char/agp/intel-gtt.c. (So I've sent this message to the people
> touching that file between v3.13 and v3.14-rc1. No, I haven't yet
> pinpointed a specific commit.)
>
> 1) What am I supposed to do to make this error go away?

Hm, if this is really a regression between 3.13 and 3.14-rc1 then I
don't see any quick candidates - relevant functions in intel-gtt.c
seem unchanged.

So probably a bisect is what we need here. Note that this could also
be due to resource handling changes in the driver/pci core, so you
can't restrict the bisect really. But before going down this route it
would be worth to check out the resource allocations of both kernels.
Can you please attach /proc/iomem for both 3.13 and 3.14-rc1

Adding more mailing lists.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

2014-02-08 20:22:11

by Paul Bolle

[permalink] [raw]
Subject: Re: agp/intel: can't ioremap flush page - no chipset flushing

Daniel Vetter schreef op za 08-02-2014 om 20:59 [+0100]:
> Hm, if this is really a regression between 3.13 and 3.14-rc1 then I
> don't see any quick candidates - relevant functions in intel-gtt.c
> seem unchanged.
>
> So probably a bisect is what we need here. Note that this could also
> be due to resource handling changes in the driver/pci core, so you
> can't restrict the bisect really.

The last bisect on this machine took over 20 builds to pinpoint the
offending commit. So that's bad news ...

> But before going down this route it
> would be worth to check out the resource allocations of both kernels.
> Can you please attach /proc/iomem for both 3.13 and 3.14-rc1

The diff between /proc/iomem on v3.13.2 and v3.14-rc1 is:
--- iomem-3.13.2 2014-02-08 21:14:30.214030591 +0100
+++ iomem-3.14-rc1 2014-02-08 21:07:22.041189158 +0100
@@ -11,16 +11,13 @@
000e0000-000effff : Extension ROM
000f0000-000fffff : System ROM
00100000-7f6dffff : System RAM
- 00400000-009af63a : Kernel code
- 009af63b-00c932ff : Kernel data
- 00d4f000-00e4dfff : Kernel bss
+ 00400000-009c57bf : Kernel code
+ 009c57c0-00cb6aff : Kernel data
+ 00d78000-00e74fff : Kernel bss
7f6e0000-7f6f4fff : ACPI Tables
7f6f5000-7f6fffff : ACPI Non-volatile Storage
7f700000-7fffffff : reserved
7f800000-7fffffff : Graphics Stolen Memory
-80000000-801fffff : PCI Bus 0000:02
-80200000-8027ffff : 0000:00:02.1
-80280000-80280fff : Intel Flush Page
a0000000-a003ffff : 0000:00:02.0
a0040000-a00403ff : 0000:00:1d.7
a0040000-a00403ff : ehci_hcd

/proc/iomem for v3.13.2:
00000000-00000fff : reserved
00001000-0009efff : System RAM
0009f000-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000c8000-000cbfff : pnp 00:00
000cf800-000d3fff : reserved
000cf800-000d0dff : Adapter ROM
000d1000-000d1fff : Adapter ROM
000dc000-000fffff : reserved
000e0000-000effff : Extension ROM
000f0000-000fffff : System ROM
00100000-7f6dffff : System RAM
00400000-009af63a : Kernel code
009af63b-00c932ff : Kernel data
00d4f000-00e4dfff : Kernel bss
7f6e0000-7f6f4fff : ACPI Tables
7f6f5000-7f6fffff : ACPI Non-volatile Storage
7f700000-7fffffff : reserved
7f800000-7fffffff : Graphics Stolen Memory
80000000-801fffff : PCI Bus 0000:02
80200000-8027ffff : 0000:00:02.1
80280000-80280fff : Intel Flush Page
a0000000-a003ffff : 0000:00:02.0
a0040000-a00403ff : 0000:00:1d.7
a0040000-a00403ff : ehci_hcd
a0040400-a00404ff : 0000:00:1e.2
a0040400-a00404ff : Intel ICH6
a0040800-a00409ff : 0000:00:1e.2
a0040800-a00409ff : Intel ICH6
a0080000-a00fffff : 0000:00:02.0
a0100000-a01fffff : PCI Bus 0000:02
a0100000-a010ffff : 0000:02:00.0
a0100000-a010ffff : tg3
a0200000-afffffff : PCI Bus 0000:04
a0200000-a0200fff : 0000:04:00.0
a0200000-a0200fff : yenta_socket
a0201000-a02010ff : 0000:04:00.1
a0201000-a02010ff : mmc0
a0202000-a0202fff : 0000:04:02.0
a0202000-a0202fff : ipw2200
a4000000-a7ffffff : PCI CardBus 0000:05
c0000000-cfffffff : 0000:00:02.0
d0000000-d7ffffff : PCI Bus 0000:04
d0000000-d3ffffff : PCI CardBus 0000:05
e0000000-efffffff : PCI MMCONFIG 0000 [bus 00-ff]
e0000000-efffffff : reserved
e0000000-efffffff : pnp 00:01
f0008000-f000bfff : reserved
f0008000-f000bfff : pnp 00:01
f000b410-f000b414 : iTCO_wdt
f000b410-f000b414 : iTCO_wdt
fec00000-fec0ffff : reserved
fec00000-fec003ff : IOAPIC 0
fed14000-fed19fff : reserved
fed14000-fed17fff : pnp 00:01
fed18000-fed18fff : pnp 00:01
fed19000-fed19fff : pnp 00:01
fed20000-fed8ffff : reserved
fee00000-fee00fff : Local APIC
fee00000-fee00fff : reserved
ff000000-ffffffff : reserved

/proc/iomem for v3.14-rc1:
00000000-00000fff : reserved
00001000-0009efff : System RAM
0009f000-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000c8000-000cbfff : pnp 00:00
000cf800-000d3fff : reserved
000cf800-000d0dff : Adapter ROM
000d1000-000d1fff : Adapter ROM
000dc000-000fffff : reserved
000e0000-000effff : Extension ROM
000f0000-000fffff : System ROM
00100000-7f6dffff : System RAM
00400000-009c57bf : Kernel code
009c57c0-00cb6aff : Kernel data
00d78000-00e74fff : Kernel bss
7f6e0000-7f6f4fff : ACPI Tables
7f6f5000-7f6fffff : ACPI Non-volatile Storage
7f700000-7fffffff : reserved
7f800000-7fffffff : Graphics Stolen Memory
a0000000-a003ffff : 0000:00:02.0
a0040000-a00403ff : 0000:00:1d.7
a0040000-a00403ff : ehci_hcd
a0040400-a00404ff : 0000:00:1e.2
a0040400-a00404ff : Intel ICH6
a0040800-a00409ff : 0000:00:1e.2
a0040800-a00409ff : Intel ICH6
a0080000-a00fffff : 0000:00:02.0
a0100000-a01fffff : PCI Bus 0000:02
a0100000-a010ffff : 0000:02:00.0
a0100000-a010ffff : tg3
a0200000-afffffff : PCI Bus 0000:04
a0200000-a0200fff : 0000:04:00.0
a0200000-a0200fff : yenta_socket
a0201000-a02010ff : 0000:04:00.1
a0201000-a02010ff : mmc0
a0202000-a0202fff : 0000:04:02.0
a0202000-a0202fff : ipw2200
a4000000-a7ffffff : PCI CardBus 0000:05
c0000000-cfffffff : 0000:00:02.0
d0000000-d7ffffff : PCI Bus 0000:04
d0000000-d3ffffff : PCI CardBus 0000:05
e0000000-efffffff : PCI MMCONFIG 0000 [bus 00-ff]
e0000000-efffffff : reserved
e0000000-efffffff : pnp 00:01
f0008000-f000bfff : reserved
f0008000-f000bfff : pnp 00:01
f000b410-f000b414 : iTCO_wdt
f000b410-f000b414 : iTCO_wdt
fec00000-fec0ffff : reserved
fec00000-fec003ff : IOAPIC 0
fed14000-fed19fff : reserved
fed14000-fed17fff : pnp 00:01
fed18000-fed18fff : pnp 00:01
fed19000-fed19fff : pnp 00:01
fed20000-fed8ffff : reserved
fee00000-fee00fff : Local APIC
fee00000-fee00fff : reserved
ff000000-ffffffff : reserved

Thanks,


Paul Bolle

2014-02-09 00:02:08

by Daniel Vetter

[permalink] [raw]
Subject: Re: agp/intel: can't ioremap flush page - no chipset flushing

On Sat, Feb 8, 2014 at 9:22 PM, Paul Bolle <[email protected]> wrote:
> Daniel Vetter schreef op za 08-02-2014 om 20:59 [+0100]:
>> Hm, if this is really a regression between 3.13 and 3.14-rc1 then I
>> don't see any quick candidates - relevant functions in intel-gtt.c
>> seem unchanged.
>>
>> So probably a bisect is what we need here. Note that this could also
>> be due to resource handling changes in the driver/pci core, so you
>> can't restrict the bisect really.
>
> The last bisect on this machine took over 20 builds to pinpoint the
> offending commit. So that's bad news ...

Somehow we can't allocate the flush page resource any more, but I
don't have any idea what. There's nothing occupying the old spot (the
usual reason why resource management goes boom), so dunno why this
doesn't work any more. I think bisecting is the most fruitful avenue
here.
-Daniel


>
>> But before going down this route it
>> would be worth to check out the resource allocations of both kernels.
>> Can you please attach /proc/iomem for both 3.13 and 3.14-rc1
>
> The diff between /proc/iomem on v3.13.2 and v3.14-rc1 is:
> --- iomem-3.13.2 2014-02-08 21:14:30.214030591 +0100
> +++ iomem-3.14-rc1 2014-02-08 21:07:22.041189158 +0100
> @@ -11,16 +11,13 @@
> 000e0000-000effff : Extension ROM
> 000f0000-000fffff : System ROM
> 00100000-7f6dffff : System RAM
> - 00400000-009af63a : Kernel code
> - 009af63b-00c932ff : Kernel data
> - 00d4f000-00e4dfff : Kernel bss
> + 00400000-009c57bf : Kernel code
> + 009c57c0-00cb6aff : Kernel data
> + 00d78000-00e74fff : Kernel bss
> 7f6e0000-7f6f4fff : ACPI Tables
> 7f6f5000-7f6fffff : ACPI Non-volatile Storage
> 7f700000-7fffffff : reserved
> 7f800000-7fffffff : Graphics Stolen Memory
> -80000000-801fffff : PCI Bus 0000:02
> -80200000-8027ffff : 0000:00:02.1
> -80280000-80280fff : Intel Flush Page
> a0000000-a003ffff : 0000:00:02.0
> a0040000-a00403ff : 0000:00:1d.7
> a0040000-a00403ff : ehci_hcd
>
> /proc/iomem for v3.13.2:
> 00000000-00000fff : reserved
> 00001000-0009efff : System RAM
> 0009f000-0009ffff : reserved
> 000a0000-000bffff : Video RAM area
> 000c0000-000c7fff : Video ROM
> 000c8000-000cbfff : pnp 00:00
> 000cf800-000d3fff : reserved
> 000cf800-000d0dff : Adapter ROM
> 000d1000-000d1fff : Adapter ROM
> 000dc000-000fffff : reserved
> 000e0000-000effff : Extension ROM
> 000f0000-000fffff : System ROM
> 00100000-7f6dffff : System RAM
> 00400000-009af63a : Kernel code
> 009af63b-00c932ff : Kernel data
> 00d4f000-00e4dfff : Kernel bss
> 7f6e0000-7f6f4fff : ACPI Tables
> 7f6f5000-7f6fffff : ACPI Non-volatile Storage
> 7f700000-7fffffff : reserved
> 7f800000-7fffffff : Graphics Stolen Memory
> 80000000-801fffff : PCI Bus 0000:02
> 80200000-8027ffff : 0000:00:02.1
> 80280000-80280fff : Intel Flush Page
> a0000000-a003ffff : 0000:00:02.0
> a0040000-a00403ff : 0000:00:1d.7
> a0040000-a00403ff : ehci_hcd
> a0040400-a00404ff : 0000:00:1e.2
> a0040400-a00404ff : Intel ICH6
> a0040800-a00409ff : 0000:00:1e.2
> a0040800-a00409ff : Intel ICH6
> a0080000-a00fffff : 0000:00:02.0
> a0100000-a01fffff : PCI Bus 0000:02
> a0100000-a010ffff : 0000:02:00.0
> a0100000-a010ffff : tg3
> a0200000-afffffff : PCI Bus 0000:04
> a0200000-a0200fff : 0000:04:00.0
> a0200000-a0200fff : yenta_socket
> a0201000-a02010ff : 0000:04:00.1
> a0201000-a02010ff : mmc0
> a0202000-a0202fff : 0000:04:02.0
> a0202000-a0202fff : ipw2200
> a4000000-a7ffffff : PCI CardBus 0000:05
> c0000000-cfffffff : 0000:00:02.0
> d0000000-d7ffffff : PCI Bus 0000:04
> d0000000-d3ffffff : PCI CardBus 0000:05
> e0000000-efffffff : PCI MMCONFIG 0000 [bus 00-ff]
> e0000000-efffffff : reserved
> e0000000-efffffff : pnp 00:01
> f0008000-f000bfff : reserved
> f0008000-f000bfff : pnp 00:01
> f000b410-f000b414 : iTCO_wdt
> f000b410-f000b414 : iTCO_wdt
> fec00000-fec0ffff : reserved
> fec00000-fec003ff : IOAPIC 0
> fed14000-fed19fff : reserved
> fed14000-fed17fff : pnp 00:01
> fed18000-fed18fff : pnp 00:01
> fed19000-fed19fff : pnp 00:01
> fed20000-fed8ffff : reserved
> fee00000-fee00fff : Local APIC
> fee00000-fee00fff : reserved
> ff000000-ffffffff : reserved
>
> /proc/iomem for v3.14-rc1:
> 00000000-00000fff : reserved
> 00001000-0009efff : System RAM
> 0009f000-0009ffff : reserved
> 000a0000-000bffff : Video RAM area
> 000c0000-000c7fff : Video ROM
> 000c8000-000cbfff : pnp 00:00
> 000cf800-000d3fff : reserved
> 000cf800-000d0dff : Adapter ROM
> 000d1000-000d1fff : Adapter ROM
> 000dc000-000fffff : reserved
> 000e0000-000effff : Extension ROM
> 000f0000-000fffff : System ROM
> 00100000-7f6dffff : System RAM
> 00400000-009c57bf : Kernel code
> 009c57c0-00cb6aff : Kernel data
> 00d78000-00e74fff : Kernel bss
> 7f6e0000-7f6f4fff : ACPI Tables
> 7f6f5000-7f6fffff : ACPI Non-volatile Storage
> 7f700000-7fffffff : reserved
> 7f800000-7fffffff : Graphics Stolen Memory
> a0000000-a003ffff : 0000:00:02.0
> a0040000-a00403ff : 0000:00:1d.7
> a0040000-a00403ff : ehci_hcd
> a0040400-a00404ff : 0000:00:1e.2
> a0040400-a00404ff : Intel ICH6
> a0040800-a00409ff : 0000:00:1e.2
> a0040800-a00409ff : Intel ICH6
> a0080000-a00fffff : 0000:00:02.0
> a0100000-a01fffff : PCI Bus 0000:02
> a0100000-a010ffff : 0000:02:00.0
> a0100000-a010ffff : tg3
> a0200000-afffffff : PCI Bus 0000:04
> a0200000-a0200fff : 0000:04:00.0
> a0200000-a0200fff : yenta_socket
> a0201000-a02010ff : 0000:04:00.1
> a0201000-a02010ff : mmc0
> a0202000-a0202fff : 0000:04:02.0
> a0202000-a0202fff : ipw2200
> a4000000-a7ffffff : PCI CardBus 0000:05
> c0000000-cfffffff : 0000:00:02.0
> d0000000-d7ffffff : PCI Bus 0000:04
> d0000000-d3ffffff : PCI CardBus 0000:05
> e0000000-efffffff : PCI MMCONFIG 0000 [bus 00-ff]
> e0000000-efffffff : reserved
> e0000000-efffffff : pnp 00:01
> f0008000-f000bfff : reserved
> f0008000-f000bfff : pnp 00:01
> f000b410-f000b414 : iTCO_wdt
> f000b410-f000b414 : iTCO_wdt
> fec00000-fec0ffff : reserved
> fec00000-fec003ff : IOAPIC 0
> fed14000-fed19fff : reserved
> fed14000-fed17fff : pnp 00:01
> fed18000-fed18fff : pnp 00:01
> fed19000-fed19fff : pnp 00:01
> fed20000-fed8ffff : reserved
> fee00000-fee00fff : Local APIC
> fee00000-fee00fff : reserved
> ff000000-ffffffff : reserved
>
> Thanks,
>
>
> Paul Bolle
>



--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

2014-02-09 13:22:05

by Steven Newbury

[permalink] [raw]
Subject: Re: [Intel-gfx] agp/intel: can't ioremap flush page - no chipset flushing

On Sun, 2014-02-09 at 01:02 +0100, Daniel Vetter wrote:
> On Sat, Feb 8, 2014 at 9:22 PM, Paul Bolle <[email protected]> wrote:
> > Daniel Vetter schreef op za 08-02-2014 om 20:59 [+0100]:
> >> Hm, if this is really a regression between 3.13 and 3.14-rc1 then I
> >> don't see any quick candidates - relevant functions in intel-gtt.c
> >> seem unchanged.
> >>
> >> So probably a bisect is what we need here. Note that this could also
> >> be due to resource handling changes in the driver/pci core, so you
> >> can't restrict the bisect really.
> >
> > The last bisect on this machine took over 20 builds to pinpoint the
> > offending commit. So that's bad news ...
>
> Somehow we can't allocate the flush page resource any more, but I
> don't have any idea what. There's nothing occupying the old spot (the
> usual reason why resource management goes boom), so dunno why this
> doesn't work any more. I think bisecting is the most fruitful avenue
> here.
> -Daniel
>
>
> >
> >> But before going down this route it
> >> would be worth to check out the resource allocations of both kernels.
> >> Can you please attach /proc/iomem for both 3.13 and 3.14-rc1
> >
> > The diff between /proc/iomem on v3.13.2 and v3.14-rc1 is:
> > --- iomem-3.13.2 2014-02-08 21:14:30.214030591 +0100
> > +++ iomem-3.14-rc1 2014-02-08 21:07:22.041189158 +0100
> > @@ -11,16 +11,13 @@
> > 000e0000-000effff : Extension ROM
> > 000f0000-000fffff : System ROM
> > 00100000-7f6dffff : System RAM
> > - 00400000-009af63a : Kernel code
> > - 009af63b-00c932ff : Kernel data
> > - 00d4f000-00e4dfff : Kernel bss
> > + 00400000-009c57bf : Kernel code
> > + 009c57c0-00cb6aff : Kernel data
> > + 00d78000-00e74fff : Kernel bss
> > 7f6e0000-7f6f4fff : ACPI Tables
> > 7f6f5000-7f6fffff : ACPI Non-volatile Storage
> > 7f700000-7fffffff : reserved
> > 7f800000-7fffffff : Graphics Stolen Memory
> > -80000000-801fffff : PCI Bus 0000:02
> > -80200000-8027ffff : 0000:00:02.1
> > -80280000-80280fff : Intel Flush Page
> > a0000000-a003ffff : 0000:00:02.0
> > a0040000-a00403ff : 0000:00:1d.7
> > a0040000-a00403ff : ehci_hcd
> >
> > /proc/iomem for v3.13.2:
> > 00000000-00000fff : reserved
> > 00001000-0009efff : System RAM
> > 0009f000-0009ffff : reserved
> > 000a0000-000bffff : Video RAM area
> > 000c0000-000c7fff : Video ROM
> > 000c8000-000cbfff : pnp 00:00
> > 000cf800-000d3fff : reserved
> > 000cf800-000d0dff : Adapter ROM
> > 000d1000-000d1fff : Adapter ROM
> > 000dc000-000fffff : reserved
> > 000e0000-000effff : Extension ROM
> > 000f0000-000fffff : System ROM
> > 00100000-7f6dffff : System RAM
> > 00400000-009af63a : Kernel code
> > 009af63b-00c932ff : Kernel data
> > 00d4f000-00e4dfff : Kernel bss
> > 7f6e0000-7f6f4fff : ACPI Tables
> > 7f6f5000-7f6fffff : ACPI Non-volatile Storage
> > 7f700000-7fffffff : reserved
> > 7f800000-7fffffff : Graphics Stolen Memory
> > 80000000-801fffff : PCI Bus 0000:02
> > 80200000-8027ffff : 0000:00:02.1
> > 80280000-80280fff : Intel Flush Page
> > a0000000-a003ffff : 0000:00:02.0
> > a0040000-a00403ff : 0000:00:1d.7
> > a0040000-a00403ff : ehci_hcd
> > a0040400-a00404ff : 0000:00:1e.2
> > a0040400-a00404ff : Intel ICH6
> > a0040800-a00409ff : 0000:00:1e.2
> > a0040800-a00409ff : Intel ICH6
> > a0080000-a00fffff : 0000:00:02.0
> > a0100000-a01fffff : PCI Bus 0000:02
> > a0100000-a010ffff : 0000:02:00.0
> > a0100000-a010ffff : tg3
> > a0200000-afffffff : PCI Bus 0000:04
> > a0200000-a0200fff : 0000:04:00.0
> > a0200000-a0200fff : yenta_socket
> > a0201000-a02010ff : 0000:04:00.1
> > a0201000-a02010ff : mmc0
> > a0202000-a0202fff : 0000:04:02.0
> > a0202000-a0202fff : ipw2200
> > a4000000-a7ffffff : PCI CardBus 0000:05
> > c0000000-cfffffff : 0000:00:02.0
> > d0000000-d7ffffff : PCI Bus 0000:04
> > d0000000-d3ffffff : PCI CardBus 0000:05
> > e0000000-efffffff : PCI MMCONFIG 0000 [bus 00-ff]
> > e0000000-efffffff : reserved
> > e0000000-efffffff : pnp 00:01
> > f0008000-f000bfff : reserved
> > f0008000-f000bfff : pnp 00:01
> > f000b410-f000b414 : iTCO_wdt
> > f000b410-f000b414 : iTCO_wdt
> > fec00000-fec0ffff : reserved
> > fec00000-fec003ff : IOAPIC 0
> > fed14000-fed19fff : reserved
> > fed14000-fed17fff : pnp 00:01
> > fed18000-fed18fff : pnp 00:01
> > fed19000-fed19fff : pnp 00:01
> > fed20000-fed8ffff : reserved
> > fee00000-fee00fff : Local APIC
> > fee00000-fee00fff : reserved
> > ff000000-ffffffff : reserved
> >
> > /proc/iomem for v3.14-rc1:
> > 00000000-00000fff : reserved
> > 00001000-0009efff : System RAM
> > 0009f000-0009ffff : reserved
> > 000a0000-000bffff : Video RAM area
> > 000c0000-000c7fff : Video ROM
> > 000c8000-000cbfff : pnp 00:00
> > 000cf800-000d3fff : reserved
> > 000cf800-000d0dff : Adapter ROM
> > 000d1000-000d1fff : Adapter ROM
> > 000dc000-000fffff : reserved
> > 000e0000-000effff : Extension ROM
> > 000f0000-000fffff : System ROM
> > 00100000-7f6dffff : System RAM
> > 00400000-009c57bf : Kernel code
> > 009c57c0-00cb6aff : Kernel data
> > 00d78000-00e74fff : Kernel bss
> > 7f6e0000-7f6f4fff : ACPI Tables
> > 7f6f5000-7f6fffff : ACPI Non-volatile Storage
> > 7f700000-7fffffff : reserved
> > 7f800000-7fffffff : Graphics Stolen Memory
> > a0000000-a003ffff : 0000:00:02.0
> > a0040000-a00403ff : 0000:00:1d.7
> > a0040000-a00403ff : ehci_hcd
> > a0040400-a00404ff : 0000:00:1e.2
> > a0040400-a00404ff : Intel ICH6
> > a0040800-a00409ff : 0000:00:1e.2
> > a0040800-a00409ff : Intel ICH6
> > a0080000-a00fffff : 0000:00:02.0
> > a0100000-a01fffff : PCI Bus 0000:02
> > a0100000-a010ffff : 0000:02:00.0
> > a0100000-a010ffff : tg3
> > a0200000-afffffff : PCI Bus 0000:04
> > a0200000-a0200fff : 0000:04:00.0
> > a0200000-a0200fff : yenta_socket
> > a0201000-a02010ff : 0000:04:00.1
> > a0201000-a02010ff : mmc0
> > a0202000-a0202fff : 0000:04:02.0
> > a0202000-a0202fff : ipw2200
> > a4000000-a7ffffff : PCI CardBus 0000:05
> > c0000000-cfffffff : 0000:00:02.0
> > d0000000-d7ffffff : PCI Bus 0000:04
> > d0000000-d3ffffff : PCI CardBus 0000:05
> > e0000000-efffffff : PCI MMCONFIG 0000 [bus 00-ff]
> > e0000000-efffffff : reserved
> > e0000000-efffffff : pnp 00:01
> > f0008000-f000bfff : reserved
> > f0008000-f000bfff : pnp 00:01
> > f000b410-f000b414 : iTCO_wdt
> > f000b410-f000b414 : iTCO_wdt
> > fec00000-fec0ffff : reserved
> > fec00000-fec003ff : IOAPIC 0
> > fed14000-fed19fff : reserved
> > fed14000-fed17fff : pnp 00:01
> > fed18000-fed18fff : pnp 00:01
> > fed19000-fed19fff : pnp 00:01
> > fed20000-fed8ffff : reserved
> > fee00000-fee00fff : Local APIC
> > fee00000-fee00fff : reserved
> > ff000000-ffffffff : reserved
> >
> > Thanks,
> >
> >
> > Paul Bolle
> >
>
>
>

PCI resource allocation is undergoing some changes at the moment, it's
definitely a bug if the Flush Page isn't getting allocated. I'm looking
forward to hopefully getting pci_bus_alloc_resource_fit() behaviour in
mainline, it will provide much better resource allocation in the 32 bit
PCI address space, and prevent problems like this from cropping up.

See Yinghai Lu's for-pci-res-alloc branch.

I've been carrying the changes in my local tree, but right now the
upstream PCI changes are quite extensive. He's planning on rebasing the
branch soon.


2014-02-09 13:25:47

by Paul Bolle

[permalink] [raw]
Subject: Re: [Intel-gfx] agp/intel: can't ioremap flush page - no chipset flushing

On Sun, 2014-02-09 at 13:15 +0000, Steven Newbury wrote:
> PCI resource allocation is undergoing some changes at the moment, it's
> definitely a bug if the Flush Page isn't getting allocated. I'm looking
> forward to hopefully getting pci_bus_alloc_resource_fit() behaviour in
> mainline, it will provide much better resource allocation in the 32 bit
> PCI address space, and prevent problems like this from cropping up.
>
> See Yinghai Lu's for-pci-res-alloc branch.
>
> I've been carrying the changes in my local tree, but right now the
> upstream PCI changes are quite extensive. He's planning on rebasing the
> branch soon.

Does this mean I might be better of not bisecting this just yet? Or are
these changes targeted at v3.15 (or later)?


Paul Bolle

2014-02-09 13:32:57

by Steven Newbury

[permalink] [raw]
Subject: Re: [Intel-gfx] agp/intel: can't ioremap flush page - no chipset flushing

On Sun, 2014-02-09 at 14:25 +0100, Paul Bolle wrote:
> On Sun, 2014-02-09 at 13:15 +0000, Steven Newbury wrote:
> > PCI resource allocation is undergoing some changes at the moment, it's
> > definitely a bug if the Flush Page isn't getting allocated. I'm looking
> > forward to hopefully getting pci_bus_alloc_resource_fit() behaviour in
> > mainline, it will provide much better resource allocation in the 32 bit
> > PCI address space, and prevent problems like this from cropping up.
> >
> > See Yinghai Lu's for-pci-res-alloc branch.
> >
> > I've been carrying the changes in my local tree, but right now the
> > upstream PCI changes are quite extensive. He's planning on rebasing the
> > branch soon.
>
> Does this mean I might be better of not bisecting this just yet? Or are
> these changes targeted at v3.15 (or later)?
>
>
> Paul Bolle
>

It's an aside really for now. The bug has probably been introduced by
the recent pci allocation changes so it should be easier for you to
bisect, hopefully.

2014-02-10 21:34:00

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [Intel-gfx] agp/intel: can't ioremap flush page - no chipset flushing

On Sun, Feb 9, 2014 at 6:25 AM, Paul Bolle <[email protected]> wrote:
> On Sun, 2014-02-09 at 13:15 +0000, Steven Newbury wrote:
>> PCI resource allocation is undergoing some changes at the moment, it's
>> definitely a bug if the Flush Page isn't getting allocated. I'm looking
>> forward to hopefully getting pci_bus_alloc_resource_fit() behaviour in
>> mainline, it will provide much better resource allocation in the 32 bit
>> PCI address space, and prevent problems like this from cropping up.
>>
>> See Yinghai Lu's for-pci-res-alloc branch.
>>
>> I've been carrying the changes in my local tree, but right now the
>> upstream PCI changes are quite extensive. He's planning on rebasing the
>> branch soon.
>
> Does this mean I might be better of not bisecting this just yet? Or are
> these changes targeted at v3.15 (or later)?

Yinghai's changes would probably be in v3.15 or later.

Can you open a kernel.org bugzilla report and attach complete dmesg
logs of the working and broken kernels to it? There might be more
useful resource-related messages from the PCI core.

I wouldn't start bisecting yet, but if you're in the mood, this
commit: 96702be56037 "Merge branch 'pci/resource' into next" looks
like a good place to start, so you could try the pre-merge commit:
04f982beb900 "Merge branch 'pci/msi' into next". If 04f982beb900 is
good, there are only about 15 commits on the pci/resource branch to
look at.

Thanks for the report!

Bjorn