Bug 9630
Summary: | PNP revert create dma performance degradation | ||
---|---|---|---|
Product: | Drivers | Reporter: | Alessandro Vietta (animainvendita) |
Component: | PNP | Assignee: | Adam Belay (ambx1) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | acpi-bugzilla, bjorn.helgaas |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.23.12 | Subsystem: | |
Regression: | Yes | Bisected commit-id: | |
Attachments: |
Kernel config
lspci -vvv add back ACPI motherboard driver increase PNP_MAX_PORT |
Description
Alessandro Vietta
2007-12-24 14:19:06 UTC
Created attachment 14171 [details]
Kernel config
Created attachment 14172 [details]
lspci -vvv
Sorry, i posted config and lspci in the wrong place. Reply-To: akpm@linux-foundation.org On Mon, 24 Dec 2007 14:19:09 -0800 (PST) bugme-daemon@bugzilla.kernel.org wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=9630 > > Summary: PNP regression create dma performance degradation > Product: Drivers > Version: 2.5 > KernelVersion: 2.6.23.12 > Platform: All > OS/Version: Linux > Tree: Mainline > Status: NEW > Severity: normal > Priority: P1 > Component: PNP > AssignedTo: ambx1@neo.rr.com > ReportedBy: animainvendita@gmail.com > > > Most recent kernel where this bug did not occur:2.6.23.11 Apparently a regression in -stable. In 2.6.23.11, we reserve up to 24 ioport and 12 mmio resources for each PNP device, and we warn if a device had more than that. In 2.6.23.12, because of http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.23.y.git;a=commitdiff;h=3adcc285eaca8de3e576a122c1824c293483af8b, we reserve up to 8 ioport and 4 mmio resources for each PNP device, and we silently ignore any excess resources. The 2.6.23.12 change was made to cure http://bugzilla.kernel.org/show_bug.cgi?id=9514. It apparently did that, but only by coincidence, and it is absolutely the wrong fix. There's an ongoing discussion at http://lkml.org/lkml/2007/12/4/466 about what the right fix should be. My opinion is that 1) 9630 should be fixed by reverting the 2.6.23.12 patch, and 2) 9514 should be fixed with a patch like http://lkml.org/lkml/2007/12/21/189, or possibly by some other it87-specific change. Created attachment 14422 [details]
add back ACPI motherboard driver
My current thought is that a better way to resolve this problem is by adding back the ACPI motherboard driver, which doesn't have a limit on the number of resources.
Here's a patch to do that. Can you try it out? Thanks!
It seems to work perfectly. Everything works as before the 2.6.23.12 PNP patch. I mark this bug as resolved with CODE_FIX. Thank you! Created attachment 14467 [details]
increase PNP_MAX_PORT
Thanks for trying the patch. With the 2.6.24 release being imminent, putting the ACPI motherboard driver in seems like too big a change, and it certainly seems too big for the stable series.
Len put this change in 2.6.24-rc, and it should also solve the problem for you. Sorry to ask for more testing, but could you double-check that this fixes your problem?
If so, this would be a reasonable change to also put in the 2.6.23-stable series.
I just applyed A patch, there's a little problem: values submitted are not the ones inside 2.6.23.12's include/pnp.h, do I have to patch another version? 2.6.23.11-12 diff patch [...] -#define PNP_MAX_PORT 24 -#define PNP_MAX_MEM 12 +#define PNP_MAX_PORT 8 +#define PNP_MAX_MEM 4 [...] suggested patch [...] -#define PNP_MAX_PORT 24 +#define PNP_MAX_PORT 40 #define PNP_MAX_MEM 12 [...] ? I decided to compile a 2.6.23.12 reverting this constants values as before 2.6.23.12: -#define PNP_MAX_PORT 8 -#define PNP_MAX_MEM 4 +#define PNP_MAX_PORT 24 +#define PNP_MAX_MEM 12 Tell me if I made a big mistake leaving PNP_MAX_PORT lower than suggested 40, or if I misunderstood something. My CPU is crunching the kernel now... I'll post the results soon. I can't reproduce the bug! January the 2nd it was still here (when I came back from holydays I accidentally booted this kernel after an update of the system and the pc was slow). I just booted this kernel before the patched one to compare performances, but it worked flawlessly... both the PNP_MAX_PORT=24 and the original with 8. During the last days I used only the kernel patched with the first fix suggested without troubles. I'm astonished. Since the 2nd of January my Debian SID had about 100 updates, involving libc6, sysvinit, init scripts and other fundamental packages, perhaps the problem was a bad dialogue between PNP patched kernel and something else, but I can't understand what happened... I tought for some hours before posting this presumed bug, to be sure that this problem involved only the kernel. I tried the last 2.6.24rc available and it had the same problem... I'm sorry for the wasted time and I close this bug. The idea was to make PNP_MAX_PORT 40, like it currently is in 2.6.24-rc. The value has been increased a couple times recently as we've tripped over problems. I think I'll suggest that Greg KH put that change into -stable, along with another one that works around an it87 problem exposed by the larger PNP_MAX_PORT. Thanks for all your testing. Sometimes there are heisenbugs that seem to go away when we look closer :-) |