* 2.6.21-rc1: known regressions (part 1) [not found] <Pine.LNX.4.64.0702202043280.4043@woody.linux-foundation.org> @ 2007-02-25 17:52 ` Adrian Bunk 2007-02-28 18:16 ` Karasyov, Konstantin A 2007-02-25 17:55 ` 2.6.21-rc1: known regressions (part 2) Adrian Bunk 2007-02-26 22:01 ` 2.6.21-rc1: known regressions (v2) (part 1) Adrian Bunk 2 siblings, 1 reply; 104+ messages in thread From: Adrian Bunk @ 2007-02-25 17:52 UTC (permalink / raw) To: Linus Torvalds, Andrew Morton Cc: Linux Kernel Mailing List, Pavel Machek, Marcel Holtmann, linux-pm, Michael S. Tsirkin, Ingo Molnar, lenb, linux-acpi, luming.yu, Arkadiusz Miskiewicz, Konstantin Karasyov, linux-usb-devel, Thomas Meyer, Andrew, Janosch Machowinski, vladimir.p.lebedev, Lukas Hejtmanek, jgarzik, linux-ide, Meelis Roos, Alan Cox, Fabio Comolli, Jean-Luc Coulon, Markus Trippelsdorf, Tejun Heo, Rafae This email lists some known regressions in 2.6.21-rc1 compared to 2.6.20 that are not yet fixed in Linus' tree. If you find your name in the Cc header, you are either submitter of one of the bugs, maintainer of an affectected subsystem or driver, a patch of you caused a breakage or I'm considering you in any other way possibly involved with one or more of these issues. Due to the huge amount of recipients, please trim the Cc when answering. Subject : resume: slab error in verify_redzone_free(): cache `size-512': memory outside object was overwritten References : http://lkml.org/lkml/2007/2/24/41 Submitter : Pavel Machek <pavel@ucw.cz> Handled-By : Marcel Holtmann <marcel@holtmann.org> Status : unknown Subject : ThinkPad T60: no screen after suspend to RAM References : http://lkml.org/lkml/2007/2/22/391 Submitter : Michael S. Tsirkin <mst@mellanox.co.il> Handled-By : Ingo Molnar <mingo@elte.hu> Status : unknown Subject : HP nx6325 notebook: usb mouse stops working after suspend to ram References : http://lkml.org/lkml/2007/2/21/413 Submitter : Arkadiusz Miskiewicz <arekm@maven.pl> Caused-By : Konstantin Karasyov <konstantin.a.karasyov@intel.com> commit 0a6139027f3986162233adc17285151e78b39cac Status : unknown Subject : MacBook: AE_NOT_FOUND ACPI messages References : http://bugzilla.kernel.org/show_bug.cgi?id=8066 Submitter : Thomas Meyer <thomas.mey@web.de> Status : unknown Subject : Asus A8N-VM motherboard: boot failure (ACPI related) References : http://lkml.org/lkml/2007/2/23/132 Submitter : Andrew <andrew@nelless.net> Status : unknown Subject : Asus M6Ne notebook: ACPI: First battery is not detected References : http://bugzilla.kernel.org/show_bug.cgi?id=8080 Submitter : Janosch Machowinski <jmachowinski@gmx.de> Status : unknown Subject : Asus M6Ne/M6A notebooks: SATA_ACPI errors during kernel boot References : http://bugzilla.kernel.org/show_bug.cgi?id=8080 http://bugzilla.kernel.org/show_bug.cgi?id=8046 Submitter : Janosch Machowinski <jmachowinski@gmx.de> Lukas Hejtmanek <xhejtman@fi.muni.cz> Status : unknown Subject : ata-piix ACPI errors (40/80 pin cable mix) References : http://lkml.org/lkml/2007/2/22/159 Submitter : Meelis Roos <mroos@linux.ee> Handled-By : Alan Cox <alan@lxorguk.ukuu.org.uk> Status : unknown Subject : ata_piix: PATA UDMA/100 configured as UDMA/33 References : http://lkml.org/lkml/2007/2/20/294 Submitter : Fabio Comolli <fabio.comolli@gmail.com> Status : unknown Subject : sata_via failure References : http://bugzilla.kernel.org/show_bug.cgi?id=8025 Submitter : Jean-Luc Coulon <jean.luc.coulon@gmail.com> Markus Trippelsdorf <markus@trippelsdorf.de> Handled-By : Tejun Heo <htejun@gmail.com> Patch : http://www.mail-archive.com/linux-ide@vger.kernel.org/msg03945.html Status : patch available Subject : BUG: at drivers/pci/pci.c:817 pcim_enable_device() (suspend, ata) References : http://lkml.org/lkml/2007/2/14/275 http://lkml.org/lkml/2007/2/22/367 Submitter : Rafael J. Wysocki <rjw@sisk.pl> Lukas Hejtmanek <xhejtman@mail.muni.cz> Handled-By : Tejun Heo <htejun@gmail.com> Patch : http://lkml.org/lkml/2007/2/25/102 Status : patch available ^ permalink raw reply [flat|nested] 104+ messages in thread
* RE: 2.6.21-rc1: known regressions (part 1) 2007-02-25 17:52 ` 2.6.21-rc1: known regressions (part 1) Adrian Bunk @ 2007-02-28 18:16 ` Karasyov, Konstantin A 0 siblings, 0 replies; 104+ messages in thread From: Karasyov, Konstantin A @ 2007-02-28 18:16 UTC (permalink / raw) To: Adrian Bunk, Linus Torvalds, Andrew Morton Cc: Linux Kernel Mailing List, Pavel Machek, linux-pm, Ingo Molnar, lenb, linux-acpi, Arkadiusz Miskiewicz, linux-usb-devel, Rafael J. Wysocki [-- Attachment #1: Type: text/plain, Size: 1706 bytes --] Arkadiusz, Could try the attached patch to see if it solves the problem? If not, please send the output of acpidump command and log. Regards. Konstantin. >-----Original Message----- >From: Adrian Bunk [mailto:bunk@stusta.de] >Sent: Sunday, February 25, 2007 8:53 PM >To: Linus Torvalds; Andrew Morton >Cc: Linux Kernel Mailing List; Pavel Machek; Marcel Holtmann; linux- >pm@lists.osdl.org; Michael S. Tsirkin; Ingo Molnar; lenb@kernel.org; linux- >acpi@vger.kernel.org; Yu, Luming; Arkadiusz Miskiewicz; Karasyov, >Konstantin A; linux-usb-devel@lists.sourceforge.net; Thomas Meyer; Andrew; >Janosch Machowinski; Lebedev, Vladimir P; Lukas Hejtmanek; >jgarzik@pobox.com; linux-ide@vger.kernel.org; Meelis Roos; Alan Cox; Fabio >Comolli; Jean-Luc Coulon; Markus Trippelsdorf; Tejun Heo; Rafael J. Wysocki >Subject: 2.6.21-rc1: known regressions (part 1) > >This email lists some known regressions in 2.6.21-rc1 compared to 2.6.20 >that are not yet fixed in Linus' tree. > >If you find your name in the Cc header, you are either submitter of one >of the bugs, maintainer of an affectected subsystem or driver, a patch >of you caused a breakage or I'm considering you in any other way possibly >involved with one or more of these issues. > >Due to the huge amount of recipients, please trim the Cc when answering. > > >Subject : HP nx6325 notebook: usb mouse stops working after suspend to >ram >References : http://lkml.org/lkml/2007/2/21/413 >Submitter : Arkadiusz Miskiewicz <arekm@maven.pl> >Caused-By : Konstantin Karasyov <konstantin.a.karasyov@intel.com> > commit 0a6139027f3986162233adc17285151e78b39cac >Status : unknown > > [-- Attachment #2: usb_power.patch --] [-- Type: application/octet-stream, Size: 1443 bytes --] diff --git a/drivers/acpi/power.c b/drivers/acpi/power.c index 1ef3385..866c8e7 100644 --- a/drivers/acpi/power.c +++ b/drivers/acpi/power.c @@ -436,8 +436,6 @@ int acpi_power_transition(struct acpi_device *device, int state) cl = &device->power.states[device->power.state].resources; tl = &device->power.states[state].resources; - device->power.state = ACPI_STATE_UNKNOWN; - if (!cl->count && !tl->count) { result = -ENODEV; goto end; @@ -468,12 +466,15 @@ int acpi_power_transition(struct acpi_device *device, int state) goto end; } - /* We shouldn't change the state till all above operations succeed */ - device->power.state = state; - end: - if (result) + end: + if (result) { + device->power.state = ACPI_STATE_UNKNOWN; printk(KERN_WARNING PREFIX "Transitioning device [%s] to D%d\n", device->pnp.bus_id, state); + } else { + /* We shouldn't change the state till all above operations succeed */ + device->power.state = state; + } return result; } @@ -690,7 +691,8 @@ static int acpi_power_resume(struct acpi_device *device) if ((resource->state == ACPI_POWER_RESOURCE_STATE_ON) && list_empty(&resource->reference)) { mutex_unlock(&resource->resource_lock); - result = acpi_power_off_device(device->handle, NULL); +// result = acpi_power_off_device(device->handle, NULL); +printk("RESUME: power resource %s found to be OFF\n", device->pnp.bus_id); return result; } ^ permalink raw reply related [flat|nested] 104+ messages in thread
* 2.6.21-rc1: known regressions (part 2) [not found] <Pine.LNX.4.64.0702202043280.4043@woody.linux-foundation.org> 2007-02-25 17:52 ` 2.6.21-rc1: known regressions (part 1) Adrian Bunk @ 2007-02-25 17:55 ` Adrian Bunk 2007-02-27 10:02 ` Jens Axboe 2007-02-26 22:01 ` 2.6.21-rc1: known regressions (v2) (part 1) Adrian Bunk 2 siblings, 1 reply; 104+ messages in thread From: Adrian Bunk @ 2007-02-25 17:55 UTC (permalink / raw) To: Linus Torvalds, Andrew Morton Cc: Daniel Walker, Michal Piotrowski, Michael S. Tsirkin, Thomas Gleixner, linux-pm, Ingo Molnar, Linux Kernel Mailing List This email lists some known regressions in 2.6.21-rc1 compared to 2.6.20 that are not yet fixed in Linus' tree. If you find your name in the Cc header, you are either submitter of one of the bugs, maintainer of an affectected subsystem or driver, a patch of you caused a breakage or I'm considering you in any other way possibly involved with one or more of these issues. Due to the huge amount of recipients, please trim the Cc when answering. Subject : ThinkPad T60: system doesn't come out of suspend to RAM (CONFIG_NO_HZ) References : http://lkml.org/lkml/2007/2/22/391 Submitter : Michael S. Tsirkin <mst@mellanox.co.il> Thomas Gleixner <tglx@linutronix.de> Handled-By : Ingo Molnar <mingo@elte.hu> Status : unknown Subject : kernel BUG at kernel/time/tick-sched.c:168 (CONFIG_NO_HZ) References : http://lkml.org/lkml/2007/2/16/346 Submitter : Michal Piotrowski <michal.k.k.piotrowski@gmail.com> Handled-By : Thomas Gleixner <tglx@linutronix.de> Status : problem is being debugged Subject : BUG: soft lockup detected on CPU#0 NOHZ: local_softirq_pending 20 References : http://lkml.org/lkml/2007/2/20/257 Submitter : Michal Piotrowski <michal.k.k.piotrowski@gmail.com> Handled-By : Thomas Gleixner <tglx@linutronix.de> Ingo Molnar <mingo@elte.hu> Status : problem is being debugged Subject : i386: no boot with nmi_watchdog=1 (clockevents) References : http://lkml.org/lkml/2007/2/21/208 Submitter : Daniel Walker <dwalker@mvista.com> Caused-By : Thomas Gleixner <tglx@linutronix.de> commit e9e2cdb412412326c4827fc78ba27f410d837e6e Handled-By : Thomas Gleixner <tglx@linutronix.de> Status : problem is being debugged ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-02-25 17:55 ` 2.6.21-rc1: known regressions (part 2) Adrian Bunk @ 2007-02-27 10:02 ` Jens Axboe 2007-02-27 10:21 ` Pavel Machek 2007-02-27 22:09 ` Adrian Bunk 0 siblings, 2 replies; 104+ messages in thread From: Jens Axboe @ 2007-02-27 10:02 UTC (permalink / raw) To: Adrian Bunk Cc: linux-pm, Thomas Gleixner, Michal Piotrowski, Daniel Walker, Michael S. Tsirkin, Andrew Morton, Linus Torvalds, Ingo Molnar, Linux Kernel Mailing List On Sun, Feb 25 2007, Adrian Bunk wrote: > This email lists some known regressions in 2.6.21-rc1 compared to 2.6.20 > that are not yet fixed in Linus' tree. > > If you find your name in the Cc header, you are either submitter of one > of the bugs, maintainer of an affectected subsystem or driver, a patch > of you caused a breakage or I'm considering you in any other way possibly > involved with one or more of these issues. > > Due to the huge amount of recipients, please trim the Cc when answering. > > > Subject : ThinkPad T60: system doesn't come out of suspend to RAM > (CONFIG_NO_HZ) > References : http://lkml.org/lkml/2007/2/22/391 > Submitter : Michael S. Tsirkin <mst@mellanox.co.il> > Thomas Gleixner <tglx@linutronix.de> > Handled-By : Ingo Molnar <mingo@elte.hu> > Status : unknown x60 doesn't resume from S2R either, it doesn't matter if CONFIG_NO_HZ is set or not though. 2.6.20 worked fine. -- Jens Axboe ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-02-27 10:02 ` Jens Axboe @ 2007-02-27 10:21 ` Pavel Machek 2007-02-27 10:30 ` Jens Axboe 2007-02-27 22:09 ` Adrian Bunk 1 sibling, 1 reply; 104+ messages in thread From: Pavel Machek @ 2007-02-27 10:21 UTC (permalink / raw) To: Jens Axboe Cc: linux-pm, Thomas Gleixner, Michal Piotrowski, Daniel Walker, Michael S. Tsirkin, Andrew Morton, Ingo Molnar, Linus Torvalds, Linux Kernel Mailing List, Adrian Bunk Hi! > > This email lists some known regressions in 2.6.21-rc1 compared to 2.6.20 > > that are not yet fixed in Linus' tree. > > > > If you find your name in the Cc header, you are either submitter of one > > of the bugs, maintainer of an affectected subsystem or driver, a patch > > of you caused a breakage or I'm considering you in any other way possibly > > involved with one or more of these issues. > > > > Due to the huge amount of recipients, please trim the Cc when answering. > > > > > > Subject : ThinkPad T60: system doesn't come out of suspend to RAM > > (CONFIG_NO_HZ) > > References : http://lkml.org/lkml/2007/2/22/391 > > Submitter : Michael S. Tsirkin <mst@mellanox.co.il> > > Thomas Gleixner <tglx@linutronix.de> > > Handled-By : Ingo Molnar <mingo@elte.hu> > > Status : unknown > > x60 doesn't resume from S2R either, it doesn't matter if CONFIG_NO_HZ is > set or not though. 2.6.20 worked fine. It somehow works for me. As long as I do not play with bluetooth and suspend to disk... Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-02-27 10:21 ` Pavel Machek @ 2007-02-27 10:30 ` Jens Axboe 2007-02-27 10:34 ` Ingo Molnar 0 siblings, 1 reply; 104+ messages in thread From: Jens Axboe @ 2007-02-27 10:30 UTC (permalink / raw) To: Pavel Machek Cc: linux-pm, Thomas Gleixner, Michal Piotrowski, Daniel Walker, Michael S. Tsirkin, Andrew Morton, Ingo Molnar, Linus Torvalds, Linux Kernel Mailing List, Adrian Bunk On Tue, Feb 27 2007, Pavel Machek wrote: > Hi! > > > > This email lists some known regressions in 2.6.21-rc1 compared to 2.6.20 > > > that are not yet fixed in Linus' tree. > > > > > > If you find your name in the Cc header, you are either submitter of one > > > of the bugs, maintainer of an affectected subsystem or driver, a patch > > > of you caused a breakage or I'm considering you in any other way possibly > > > involved with one or more of these issues. > > > > > > Due to the huge amount of recipients, please trim the Cc when answering. > > > > > > > > > Subject : ThinkPad T60: system doesn't come out of suspend to RAM > > > (CONFIG_NO_HZ) > > > References : http://lkml.org/lkml/2007/2/22/391 > > > Submitter : Michael S. Tsirkin <mst@mellanox.co.il> > > > Thomas Gleixner <tglx@linutronix.de> > > > Handled-By : Ingo Molnar <mingo@elte.hu> > > > Status : unknown > > > > x60 doesn't resume from S2R either, it doesn't matter if CONFIG_NO_HZ is > > set or not though. 2.6.20 worked fine. > > It somehow works for me. As long as I do not play with bluetooth and > suspend to disk... It locks solid here on resume, going back to 2.6.20 makes it work perfectly again. In between 2.6.20 and 2.6.21-rc1 some ACPI change broke resume, but that got fixed. Some other change later snuck in that broke it AGAIN for me, sigh. I don't use bluetooth nor suspend to disk. -- Jens Axboe ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-02-27 10:30 ` Jens Axboe @ 2007-02-27 10:34 ` Ingo Molnar 2007-02-27 10:59 ` Jens Axboe 0 siblings, 1 reply; 104+ messages in thread From: Ingo Molnar @ 2007-02-27 10:34 UTC (permalink / raw) To: Jens Axboe Cc: linux-pm, Thomas Gleixner, Michal Piotrowski, Pavel Machek, Daniel Walker, Michael S. Tsirkin, Andrew Morton, Linus Torvalds, Linux Kernel Mailing List, Adrian Bunk * Jens Axboe <jens.axboe@oracle.com> wrote: > > > x60 doesn't resume from S2R either, it doesn't matter if > > > CONFIG_NO_HZ is set or not though. 2.6.20 worked fine. > > > > It somehow works for me. As long as I do not play with bluetooth and > > suspend to disk... > > It locks solid here on resume, going back to 2.6.20 makes it work > perfectly again. In between 2.6.20 and 2.6.21-rc1 some ACPI change > broke resume, but that got fixed. Some other change later snuck in > that broke it AGAIN for me, sigh. > > I don't use bluetooth nor suspend to disk. resume is stock on my T60 too. So you mean v2.6.21-rc1 vanilla works fine? Do you know a commit ID that works for sure? I'd like to bisect this, but this way i might just find that ACPI change that got already fixed later on (and then got re-broken). Ingo ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-02-27 10:34 ` Ingo Molnar @ 2007-02-27 10:59 ` Jens Axboe 2007-02-27 11:15 ` Jens Axboe 0 siblings, 1 reply; 104+ messages in thread From: Jens Axboe @ 2007-02-27 10:59 UTC (permalink / raw) To: Ingo Molnar Cc: linux-pm, Thomas Gleixner, Michal Piotrowski, Pavel Machek, Daniel Walker, Michael S. Tsirkin, Andrew Morton, Linus Torvalds, Linux Kernel Mailing List, Adrian Bunk On Tue, Feb 27 2007, Ingo Molnar wrote: > > * Jens Axboe <jens.axboe@oracle.com> wrote: > > > > > x60 doesn't resume from S2R either, it doesn't matter if > > > > CONFIG_NO_HZ is set or not though. 2.6.20 worked fine. > > > > > > It somehow works for me. As long as I do not play with bluetooth and > > > suspend to disk... > > > > It locks solid here on resume, going back to 2.6.20 makes it work > > perfectly again. In between 2.6.20 and 2.6.21-rc1 some ACPI change > > broke resume, but that got fixed. Some other change later snuck in > > that broke it AGAIN for me, sigh. > > > > I don't use bluetooth nor suspend to disk. > > resume is stock on my T60 too. So you mean v2.6.21-rc1 vanilla works > fine? Do you know a commit ID that works for sure? I'd like to bisect Nope, 2.6.21-rc1 vanilla does not work. 2.6.20 works. 2.6.20-gitX worked until some acpi change broke it, the below patch fixed that for me. That got merged in a later 2.6.20-gitY, but then some other patch broke it again so that 2.6.21-rc1 is broken. Not much luck there :-) So it looks like: - c5a7156959e89b32260ad6072bbf5077bcdfbeee broke 2.6.20-git - f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 should fix that. - Something later than f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 broke it again. > this, but this way i might just find that ACPI change that got already > fixed later on (and then got re-broken). Yeah, it gets trickier. I'll try f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 now and see if that works, then bisect to 2.6.21-rc1 to find the other offender. I hope the other offender didn't get added before f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38, we'll see :-) -- Jens Axboe ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-02-27 10:59 ` Jens Axboe @ 2007-02-27 11:15 ` Jens Axboe 2007-02-27 13:09 ` Jens Axboe 2007-03-01 9:34 ` Ingo Molnar 0 siblings, 2 replies; 104+ messages in thread From: Jens Axboe @ 2007-02-27 11:15 UTC (permalink / raw) To: Ingo Molnar Cc: linux-pm, Thomas Gleixner, Michal Piotrowski, Pavel Machek, Daniel Walker, Michael S. Tsirkin, Andrew Morton, Linus Torvalds, Linux Kernel Mailing List, Adrian Bunk On Tue, Feb 27 2007, Jens Axboe wrote: > On Tue, Feb 27 2007, Ingo Molnar wrote: > > > > * Jens Axboe <jens.axboe@oracle.com> wrote: > > > > > > > x60 doesn't resume from S2R either, it doesn't matter if > > > > > CONFIG_NO_HZ is set or not though. 2.6.20 worked fine. > > > > > > > > It somehow works for me. As long as I do not play with bluetooth and > > > > suspend to disk... > > > > > > It locks solid here on resume, going back to 2.6.20 makes it work > > > perfectly again. In between 2.6.20 and 2.6.21-rc1 some ACPI change > > > broke resume, but that got fixed. Some other change later snuck in > > > that broke it AGAIN for me, sigh. > > > > > > I don't use bluetooth nor suspend to disk. > > > > resume is stock on my T60 too. So you mean v2.6.21-rc1 vanilla works > > fine? Do you know a commit ID that works for sure? I'd like to bisect > > Nope, 2.6.21-rc1 vanilla does not work. 2.6.20 works. 2.6.20-gitX worked > until some acpi change broke it, the below patch fixed that for me. That > got merged in a later 2.6.20-gitY, but then some other patch broke it > again so that 2.6.21-rc1 is broken. Not much luck there :-) > > So it looks like: > > - c5a7156959e89b32260ad6072bbf5077bcdfbeee broke 2.6.20-git > - f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 should fix that. > - Something later than f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 broke it > again. > > > this, but this way i might just find that ACPI change that got already > > fixed later on (and then got re-broken). > > Yeah, it gets trickier. I'll try > f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 now and see if that works, then > bisect to 2.6.21-rc1 to find the other offender. I hope the other > offender didn't get added before > f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38, we'll see :-) f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 works for me, starting bisect. -- Jens Axboe ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-02-27 11:15 ` Jens Axboe @ 2007-02-27 13:09 ` Jens Axboe 2007-03-01 9:34 ` Ingo Molnar 1 sibling, 0 replies; 104+ messages in thread From: Jens Axboe @ 2007-02-27 13:09 UTC (permalink / raw) To: Ingo Molnar Cc: linux-pm, Thomas Gleixner, Michal Piotrowski, Pavel Machek, Daniel Walker, Michael S. Tsirkin, Andrew Morton, Linus Torvalds, Linux Kernel Mailing List, Adrian Bunk On Tue, Feb 27 2007, Jens Axboe wrote: > On Tue, Feb 27 2007, Jens Axboe wrote: > > On Tue, Feb 27 2007, Ingo Molnar wrote: > > > > > > * Jens Axboe <jens.axboe@oracle.com> wrote: > > > > > > > > > x60 doesn't resume from S2R either, it doesn't matter if > > > > > > CONFIG_NO_HZ is set or not though. 2.6.20 worked fine. > > > > > > > > > > It somehow works for me. As long as I do not play with bluetooth and > > > > > suspend to disk... > > > > > > > > It locks solid here on resume, going back to 2.6.20 makes it work > > > > perfectly again. In between 2.6.20 and 2.6.21-rc1 some ACPI change > > > > broke resume, but that got fixed. Some other change later snuck in > > > > that broke it AGAIN for me, sigh. > > > > > > > > I don't use bluetooth nor suspend to disk. > > > > > > resume is stock on my T60 too. So you mean v2.6.21-rc1 vanilla works > > > fine? Do you know a commit ID that works for sure? I'd like to bisect > > > > Nope, 2.6.21-rc1 vanilla does not work. 2.6.20 works. 2.6.20-gitX worked > > until some acpi change broke it, the below patch fixed that for me. That > > got merged in a later 2.6.20-gitY, but then some other patch broke it > > again so that 2.6.21-rc1 is broken. Not much luck there :-) > > > > So it looks like: > > > > - c5a7156959e89b32260ad6072bbf5077bcdfbeee broke 2.6.20-git > > - f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 should fix that. > > - Something later than f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 broke it > > again. > > > > > this, but this way i might just find that ACPI change that got already > > > fixed later on (and then got re-broken). > > > > Yeah, it gets trickier. I'll try > > f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 now and see if that works, then > > bisect to 2.6.21-rc1 to find the other offender. I hope the other > > offender didn't get added before > > f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38, we'll see :-) > > f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 works for me, starting bisect. Which got me nowhere, after bisecting down from 1213 revisions to nothing. f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 certainly works, just verified again. Trying only acpi related changes now... -- Jens Axboe ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-02-27 11:15 ` Jens Axboe 2007-02-27 13:09 ` Jens Axboe @ 2007-03-01 9:34 ` Ingo Molnar 2007-03-01 10:41 ` Ingo Molnar ` (2 more replies) 1 sibling, 3 replies; 104+ messages in thread From: Ingo Molnar @ 2007-03-01 9:34 UTC (permalink / raw) To: Jens Axboe Cc: linux-pm, Thomas Gleixner, Michal Piotrowski, Pavel Machek, Daniel Walker, Michael S. Tsirkin, Andrew Morton, Linus Torvalds, Linux Kernel Mailing List, Adrian Bunk * Jens Axboe <jens.axboe@oracle.com> wrote: > f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 works for me, [...] update: f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 works for me too, and 01363220f5d23ef68276db8974e46a502e43d01d is broken. I too will attempt to bisect this. Ingo ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-01 9:34 ` Ingo Molnar @ 2007-03-01 10:41 ` Ingo Molnar 2007-03-01 14:52 ` Ingo Molnar 2007-03-01 23:36 ` Linus Torvalds 2007-03-02 10:07 ` Pavel Machek 2007-03-05 15:34 ` Michael S. Tsirkin 2 siblings, 2 replies; 104+ messages in thread From: Ingo Molnar @ 2007-03-01 10:41 UTC (permalink / raw) To: Jens Axboe Cc: linux-pm, Thomas Gleixner, Michal Piotrowski, Pavel Machek, Daniel Walker, Michael S. Tsirkin, Andrew Morton, Linus Torvalds, Linux Kernel Mailing List, Adrian Bunk * Ingo Molnar <mingo@elte.hu> wrote: > update: f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 works for me too, and > 01363220f5d23ef68276db8974e46a502e43d01d is broken. I too will attempt > to bisect this. hm. There's some weird bisection artifact here. Here are the commits i tested, in git-log order: #1 commit 01363220f5d23ef68276db8974e46a502e43d01d bad #2 commit ee404566f97f9254433399fbbcfa05390c7c55f7 bad #3 commit f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 good #4 commit c827ba4cb49a30ce581201fd0ba2be77cde412c7 bad if i tell git-bisect that #1 is bad and #3 is good, then it offers me #2 - that's OK. But when i tell it that #2 is bad, it offers #4 - which is out of order! The bisection goes off into la-la land after that and never gets back to a commit that is /after/ the good commit. How is this possible? (I upgraded from git-1.4.4 to 1.5.0 to make sure this isnt some git bug that's already fixed.) i'll try to straighten this out manually, perhaps #3 is in some merge branch that confuses bisection. Or maybe i misunderstood how git-bisect works. Ingo ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-01 10:41 ` Ingo Molnar @ 2007-03-01 14:52 ` Ingo Molnar 2007-03-01 16:12 ` Rafael J. Wysocki 2007-03-02 0:26 ` Linus Torvalds 2007-03-01 23:36 ` Linus Torvalds 1 sibling, 2 replies; 104+ messages in thread From: Ingo Molnar @ 2007-03-01 14:52 UTC (permalink / raw) To: Jens Axboe Cc: Pavel Machek, Adrian Bunk, Linus Torvalds, Andrew Morton, Linux Kernel Mailing List, Michael S. Tsirkin, Thomas Gleixner, linux-pm, Michal Piotrowski, Daniel Walker * Ingo Molnar <mingo@elte.hu> wrote: > hm. There's some weird bisection artifact here. Here are the commits i > tested, in git-log order: > > #1 commit 01363220f5d23ef68276db8974e46a502e43d01d bad > #2 commit ee404566f97f9254433399fbbcfa05390c7c55f7 bad > #3 commit f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 good > #4 commit c827ba4cb49a30ce581201fd0ba2be77cde412c7 bad > > if i tell git-bisect that #1 is bad and #3 is good, then it offers me > #2 - that's OK. But when i tell it that #2 is bad, it offers #4 - > which is out of order! The bisection goes off into la-la land after > that and never gets back to a commit that is /after/ the good commit. > How is this possible? (I upgraded from git-1.4.4 to 1.5.0 to make sure > this isnt some git bug that's already fixed.) > > i'll try to straighten this out manually, perhaps #3 is in some merge > branch that confuses bisection. Or maybe i misunderstood how > git-bisect works. git-bisect gets royally confused on those ACPI merge branches around commit c0cd79d11412969b6b8fa1624cdc1277db82e2fe. Here are my test results so far: commit 01363220f5d23ef68276db8974e46a502e43d01d: bad commit 255f0385c8e0d6b9005c0e09fffb5bd852f3b506: bad commit c0cd79d11412969b6b8fa1624cdc1277db82e2fe: bad commit c24e912b61b1ab2301c59777134194066b06465c: good commit e9e2cdb412412326c4827fc78ba27f410d837e6e: bad commit 79bf2bb335b85db25d27421c798595a2fa2a0e82: bad commit fc955f670c0a66aca965605dae797e747b2bef7d: good commit 70c0846e430881967776582e13aefb81407919f1: good commit 414f827c46973ba39320cfb43feb55a0eeb9b4e8: bad commit f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38: good commit 5f0b1437e0708772b6fecae5900c01c3b5f9b512: bad commit b878ca5d37953ad1c4578b225a13a3c3e7e743b7: bad commit c2902c8ae06762d941fab64198467f78cab6f8cd: bad commit 12e74f7d430655f541b85018ea62bcd669094bd7: bad commit 3388c37e04ec0e35ebc1b4c732fdefc9ea938f3b: bad commit 9f4bd5dde81b5cb94e4f52f2f05825aa0422f1ff: bad the results are totally reproducible (i re-tried a few of both the good and the bad commits), i.e. it's not a sporadic condition. Also, a number of the 'bad' commits have no dynticks stuff in them at all, so i'd exclude dynticks. could someone suggest a sane way to go with this? Perhaps suggest specific commit IDs to test? Ingo ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-01 14:52 ` Ingo Molnar @ 2007-03-01 16:12 ` Rafael J. Wysocki 2007-03-02 0:26 ` Linus Torvalds 1 sibling, 0 replies; 104+ messages in thread From: Rafael J. Wysocki @ 2007-03-01 16:12 UTC (permalink / raw) To: Ingo Molnar Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Andrew Morton On Thursday, 1 March 2007 15:52, Ingo Molnar wrote: > > * Ingo Molnar <mingo@elte.hu> wrote: > > > hm. There's some weird bisection artifact here. Here are the commits i > > tested, in git-log order: > > > > #1 commit 01363220f5d23ef68276db8974e46a502e43d01d bad > > #2 commit ee404566f97f9254433399fbbcfa05390c7c55f7 bad > > #3 commit f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 good > > #4 commit c827ba4cb49a30ce581201fd0ba2be77cde412c7 bad > > > > if i tell git-bisect that #1 is bad and #3 is good, then it offers me > > #2 - that's OK. But when i tell it that #2 is bad, it offers #4 - > > which is out of order! The bisection goes off into la-la land after > > that and never gets back to a commit that is /after/ the good commit. > > How is this possible? (I upgraded from git-1.4.4 to 1.5.0 to make sure > > this isnt some git bug that's already fixed.) > > > > i'll try to straighten this out manually, perhaps #3 is in some merge > > branch that confuses bisection. Or maybe i misunderstood how > > git-bisect works. > > git-bisect gets royally confused on those ACPI merge branches around > commit c0cd79d11412969b6b8fa1624cdc1277db82e2fe. Here are my test > results so far: > > commit 01363220f5d23ef68276db8974e46a502e43d01d: bad > commit 255f0385c8e0d6b9005c0e09fffb5bd852f3b506: bad > commit c0cd79d11412969b6b8fa1624cdc1277db82e2fe: bad > commit c24e912b61b1ab2301c59777134194066b06465c: good > commit e9e2cdb412412326c4827fc78ba27f410d837e6e: bad > commit 79bf2bb335b85db25d27421c798595a2fa2a0e82: bad > commit fc955f670c0a66aca965605dae797e747b2bef7d: good > commit 70c0846e430881967776582e13aefb81407919f1: good > commit 414f827c46973ba39320cfb43feb55a0eeb9b4e8: bad > commit f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38: good > commit 5f0b1437e0708772b6fecae5900c01c3b5f9b512: bad > commit b878ca5d37953ad1c4578b225a13a3c3e7e743b7: bad > commit c2902c8ae06762d941fab64198467f78cab6f8cd: bad > commit 12e74f7d430655f541b85018ea62bcd669094bd7: bad > commit 3388c37e04ec0e35ebc1b4c732fdefc9ea938f3b: bad > commit 9f4bd5dde81b5cb94e4f52f2f05825aa0422f1ff: bad > > the results are totally reproducible (i re-tried a few of both the good > and the bad commits), i.e. it's not a sporadic condition. Also, a number > of the 'bad' commits have no dynticks stuff in them at all, so i'd > exclude dynticks. > > could someone suggest a sane way to go with this? Perhaps suggest > specific commit IDs to test? Hm, does 2.6.20-mm2 work? If not, you can bisect the broken-out sereis with quilt. Rafael ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-01 14:52 ` Ingo Molnar 2007-03-01 16:12 ` Rafael J. Wysocki @ 2007-03-02 0:26 ` Linus Torvalds 2007-03-02 0:41 ` Linus Torvalds ` (2 more replies) 1 sibling, 3 replies; 104+ messages in thread From: Linus Torvalds @ 2007-03-02 0:26 UTC (permalink / raw) To: Ingo Molnar Cc: Daniel Walker, Thomas Gleixner, Michal Piotrowski, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Andrew Morton, linux-pm, Linux Kernel Mailing List, Adrian Bunk On Thu, 1 Mar 2007, Ingo Molnar wrote: > > git-bisect gets royally confused on those ACPI merge branches around > commit c0cd79d11412969b6b8fa1624cdc1277db82e2fe. Here are my test > results so far: Looks like git bisect worked for you, and wasn't confused at all. You started out with 2931 commits between your first known-bad and known-good commits, which means that you usually end up having to check "log2(n)+1" kernels, ie I'd have expected you to have to do 12-13 bisection attempts to cut it down to one. You seem to have done 14 (you list 16 commits, two of which are the starting points), which is right in that range. The reason you sometimes get more is: - you "help" git bisect by choosing other commits than the optimal ones. - with bad luck, it can be hard to get really close to "half the commits" in the reachability analysis, especially if you have lots of merges (and *especially* if you have octopus merges that merge more than two branches of development). For example, say that you have something like a | +---+---+---+---+ | | | | | b c d e f where you have six commits - you can't test any "combinations" at all, since they are all independent, so "git bisect" cannot test them three and three to cut down the time, so if you don't know which one is bad, you'll basically end up testing them all. The bad luck case never really happens to that extreme in practice, and even when it does you can sometimes be lucky and just hit on the bug early (so "bad luck" may end up being "good luck" after all), but it explains why you can get more - or less - than log2(n)+1 attempts. More commonly one more. A much *bigger* problem is if you mark something good or bad that isn't really. Ie if the bug comes and goes (it might be timing-dependent, for example), the problem will be that you'll always narrow things down (that's what bisection does), but you may not narrow it down to the right thing! We've had that happen several times. If the bug (for example) means that suspend *often* breaks, but sometimes works just by luck, you might mark a kernel "good" when it really wasn't and then "git bisect" will *really* go out in the weeds, and won't even try to test the commits that may have introduced the bug, because you told it that those commits resulted in a good kernel.. > commit 01363220f5d23ef68276db8974e46a502e43d01d: bad > commit 255f0385c8e0d6b9005c0e09fffb5bd852f3b506: bad > commit c0cd79d11412969b6b8fa1624cdc1277db82e2fe: bad > commit c24e912b61b1ab2301c59777134194066b06465c: good > commit e9e2cdb412412326c4827fc78ba27f410d837e6e: bad > commit 79bf2bb335b85db25d27421c798595a2fa2a0e82: bad > commit fc955f670c0a66aca965605dae797e747b2bef7d: good > commit 70c0846e430881967776582e13aefb81407919f1: good > commit 414f827c46973ba39320cfb43feb55a0eeb9b4e8: bad > commit f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38: good > commit 5f0b1437e0708772b6fecae5900c01c3b5f9b512: bad > commit b878ca5d37953ad1c4578b225a13a3c3e7e743b7: bad > commit c2902c8ae06762d941fab64198467f78cab6f8cd: bad > commit 12e74f7d430655f541b85018ea62bcd669094bd7: bad > commit 3388c37e04ec0e35ebc1b4c732fdefc9ea938f3b: bad > commit 9f4bd5dde81b5cb94e4f52f2f05825aa0422f1ff: bad Looks like it's claiming that 9f4bd5dde81b5cb94e4f52f2f05825aa0422f1ff is the bad commit. Which is extremely unlikely, since it only seems to affect the emu10k sound driver, which I don't think even exists on any ThinkPad laptops (correct me if I'm wrong). Btw, you seem to have re-ordered the commits - the above is not the order you did the bisection in. The known-good commit (f3ccb06..) is in the middle. That's totally bogus. Please use the git bisection log (see .git/BISECT_LOG), and don't think that you know some "better" order. You really don't. > the results are totally reproducible (i re-tried a few of both the good > and the bad commits), i.e. it's not a sporadic condition. Also, a number > of the 'bad' commits have no dynticks stuff in them at all, so i'd > exclude dynticks. > > could someone suggest a sane way to go with this? Perhaps suggest > specific commit IDs to test? You claim that 9f4bd5dd is bad, but you indirectly claim that its direct parent (5986a2ec) is good by saying that f3ccb06f is good. This is why "git bisect" will claim that 9f4bd5dd must be the bad commit. I would suggest testing commit 5986a2ec explicitly. If that one is good, then, since you claim that 9f4bd5dd is bad, then yes, 9f4bd5dd *is* the bad commit (because 5986a2ec is its direct parent). But most likely, 9f4bd5dd is actually already bad, and what you are seeing is two *different* bugs that just have the same symptoms ("suspend doesn't work"). What happens is that you've chased them *both*, and you cannot bisect that kind of behaviour totally automatically and mindlessly, simply because when you say "git bisect bad", that means that *one* of the bugs is active, but not necessarily both of them. So you may well be marking kernels that are "good" (as far as the other bug is concerned) as bad - and that just means that bisection won't even test them. When that happens, you need to basically - be able to separate the bugs out some way (so that you can still mark a non-working kernel "good" if it's good *with*respect*to* the particular bug you're chasing) This is often practically impossible, _especially_ with suspend, where the behaviour is so unhelpful that it's usually not possible to separate out "ACPI is broken" from "one particular device driver is broken", because they both have exactly the same symptoms: the machine doesn't resume. HOWEVER. Even if you can't actually separate the bugs out, you can usually find where *one* of the bugs starts, and that point you can generally find the fix for it too. In this case, we already know one of the bugs: it's the ACPI bug that was apparently fixed by f3ccb06f3 (or maybe another one in that series). Once you have that, you now actually have a way to "correct" for that known bug, and by correcting for the known bug, you now *can* separate the behaviour of the two bugs: - You can now re-do a totally mindless git bisection for the *other* bug, but what you now need to do is that at each bisection step, you look at whether the bisection point has the known bug, and if so, you apply the known fix for that known bug, and thus you can test the kernel *without* the interaction of the bug you already found. This makes bisection a lot less automated (you have to apply the "fix" for the other bug at each step), but it still allows "total automation" in the sense that you don't actually need to know at all what you're looking for: you're just following a known pattern, and you're basically just correcting for the effects of another bug that you're no longer interested in, since you already know what the fix for that bug was. The other alternative is to actually have a clue what you're searching for, and/or look deeply at where the fix was merged, and trying to narrow things down by actually understanding the problem. But at that point, bisection won't much help you, except perhaps as a way to find a mid-way point to test out theories with ("which drivers that I actually use have changed in between" kinds of experiments where you simply undo part of the changes entirely, and bisection ends up being just a way to pick points that are hopefully "interestingly far apart"). Linus ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-02 0:26 ` Linus Torvalds @ 2007-03-02 0:41 ` Linus Torvalds 2007-03-02 7:14 ` Ingo Molnar 2007-03-02 7:21 ` Ingo Molnar 2 siblings, 0 replies; 104+ messages in thread From: Linus Torvalds @ 2007-03-02 0:41 UTC (permalink / raw) To: Ingo Molnar Cc: Daniel Walker, Thomas Gleixner, Michal Piotrowski, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Andrew Morton, linux-pm, Linux Kernel Mailing List, Adrian Bunk On Thu, 1 Mar 2007, Linus Torvalds wrote: > > Once you have that, you now actually have a way to "correct" for that > known bug, and by correcting for the known bug, you now *can* separate the > behaviour of the two bugs: > > - You can now re-do a totally mindless git bisection for the *other* bug, > but what you now need to do is that at each bisection step, you look at > whether the bisection point has the known bug, and if so, you apply the > known fix for that known bug, and thus you can test the kernel > *without* the interaction of the bug you already found. > > This makes bisection a lot less automated (you have to apply the "fix" for > the other bug at each step) Side note: it's still usually fairly easy. Especially if you have a known fix for the other bug, you can usually just do the equivalent of git cherry-pick <fixcommit> at each point during this bisect (or just have a known patch that you keep applying and un-applying), and you're largely done. Of course, if the area with the fix keeps changing, or if the fix is really intrusive and nasty, this gets hairy, but at least in this case the patch is fairly trivial and it shouldn't cause any trouble at all to do this. The only real down-side is just the mindless extra work, and the possible added confusion you get from modifying the history at the points you're testing. "git bisect" is not necessarily happy about auto-picking a new bisection point with a dirty tree, for example, so before you mark something "good" or "bad", you should generally try to do so with a clean git tree (ie if you apply a patch at each stage, do "git reset --hard" to remove the patch before you do the "git bisect bad/good" stage). Similarly, especially at the end of the bisection run, if you actually use "git cherry-pick" to *add* a commit, the bisection will now take that added commit into account when trying to pick the next commit to check, which is not what you really want. It probably doesn't matter that much during the early stages (when bisection is really jumping around wildly anyway, and one commit more or less doesn't really matter), but again, it might be a good idea to make a habit of undoing the cherry-pick, the same way you'd undo a patch (eg "git reset --hard HEAD^" would do it, if you have exactly one cherry-pick that you tested). Linus ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-02 0:26 ` Linus Torvalds 2007-03-02 0:41 ` Linus Torvalds @ 2007-03-02 7:14 ` Ingo Molnar 2007-03-02 7:21 ` Ingo Molnar 2 siblings, 0 replies; 104+ messages in thread From: Ingo Molnar @ 2007-03-02 7:14 UTC (permalink / raw) To: Linus Torvalds Cc: Daniel Walker, Thomas Gleixner, Michal Piotrowski, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Andrew Morton, linux-pm, Linux Kernel Mailing List, Adrian Bunk * Linus Torvalds <torvalds@linux-foundation.org> wrote: > Btw, you seem to have re-ordered the commits - the above is not the > order you did the bisection in. The known-good commit (f3ccb06..) is > in the middle. [...] no - i simply picked them by hand, based on looking at gittk output, because bisection did not appear to find anything useful: 9f4bd5dde81b5cb94e4f52f2f05825aa0422f1ff is first bad commit And via that method i found a couple of more 'good' points - which git-bisect never picked up by itself. (and i did 3-4 separate git-bisect sessions, one of them was a "git-bisect start drivers/acpi/" - which is the main area of suspicion). I looked at git-bisect visualize more than once, and i've attached one of the bisection logs below. i also think i know what happens. Firstly, my testing is reliable, as i mentioned it in the other mail i frequently re-visited commits to make sure that none of my bad/good decisions is spurios - but no, the test results are extremely reproducable: either the laptop resumes properly after flashing its disk light or it does not. the problem i think is that i simply took git-bisect's behavior for granted (i used it many times already) but forgot about a very basic precondition: git-bisect will find only a /single/ good->bad transition. If there is a bad->good transition combined with a good->bad transition then git-bisect will think it's the same 'badness', while it's a /former/ badness that it is honing in on - totally sending the bisection off into la-la-land. so as i mentioned it in the first mail: i /know/ that this commit is a bad->good transition point: f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 /and i only want to test commits that include this commit/ - because i know that without this commit git-bisect confuses the /other/ breakage with the new breakage. In the bisection log below, this choice of git-bisect: ee404566f97f9254433399fbbcfa05390c7c55f7 is 'bad' according to testing, but that's 'another' badness - and i missed it. Now, having slept on it, the solution is very simple: whenever git-bisect picks a commit for which the following command comes up empty: git-log | grep f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 then i'll mark it "git-bisect good" - artificially marking the older badness as a 'good' area. That way git-bisect will find the right good->bad transition point. btw., that's why i tried to pick up commits by hand, making sure that commit f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 is always included - but got lost in the maze of the commit graph, and didnt realize that there is a simple solution. Nevertheless i wanted to dump the information i already gathered. Those commits were totally out of order, etc. - they were picked by a poor human who is much worse at walking graphs than git-bisect ;-) Ingo git-bisect start # bad: [01363220f5d23ef68276db8974e46a502e43d01d] [PARISC] clocksource: Move update_cr16_clocksource later in boot git-bisect bad 01363220f5d23ef68276db8974e46a502e43d01d # good: [f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38] ACPI: Disable wake GPEs only once. git-bisect good f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 # bad: [ee404566f97f9254433399fbbcfa05390c7c55f7] sysctl: mips/au1000: remove sys_sysctl support git-bisect bad ee404566f97f9254433399fbbcfa05390c7c55f7 # bad: [c827ba4cb49a30ce581201fd0ba2be77cde412c7] Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 git-bisect bad c827ba4cb49a30ce581201fd0ba2be77cde412c7 # bad: [68a696a01f482859a9fe937249e8b3d44252b610] Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-tc git-bisect bad 68a696a01f482859a9fe937249e8b3d44252b610 # bad: [1c433fbda4896a6455d97b66a4f2646cbdd52a8c] [ALSA] soc - 0.13 ASoC headers git-bisect bad 1c433fbda4896a6455d97b66a4f2646cbdd52a8c # bad: [048b945077bdc7e8dff5d5810ff2a0ced3590ca9] [ALSA] echoaudio, add TLV support git-bisect bad 048b945077bdc7e8dff5d5810ff2a0ced3590ca9 # bad: [c07584c83287ae5a13cc836f69a1d824ad068c66] [ALSA] hda-codec - Add support for Medion laptops git-bisect bad c07584c83287ae5a13cc836f69a1d824ad068c66 # bad: [dbc6b6ad767c86907db373e85139b0e975ba7599] [ALSA] ASoC codecs: generic AC97 support git-bisect bad dbc6b6ad767c86907db373e85139b0e975ba7599 # bad: [b66b3cfe6c2f6560f351278883a325b6ebc478f5] [ALSA] hda_intel: increase maximum DMA buffer size to 1024MB git-bisect bad b66b3cfe6c2f6560f351278883a325b6ebc478f5 # bad: [12b131c4cf3eb1dc8a60082a434b7b100774c2e7] [ALSA] allow registering an alsa device with struct device pointer git-bisect bad 12b131c4cf3eb1dc8a60082a434b7b100774c2e7 # bad: [e4f8e656d8c152c08cd44d0e3c21f009fab09952] [ALSA] usb-audio: allow pausing git-bisect bad e4f8e656d8c152c08cd44d0e3c21f009fab09952 # bad: [1700f3080d98323e91864d67cb9f6d46f818ccf0] [ALSA] usb-audio: merge playback/capture hardware information structs git-bisect bad 1700f3080d98323e91864d67cb9f6d46f818ccf0 # bad: [9f4bd5dde81b5cb94e4f52f2f05825aa0422f1ff] [ALSA] snd-emu10k1: Added support for emu1010, including E-Mu 1212m and E-Mu 1820m git-bisect bad 9f4bd5dde81b5cb94e4f52f2f05825aa0422f1ff ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-02 0:26 ` Linus Torvalds 2007-03-02 0:41 ` Linus Torvalds 2007-03-02 7:14 ` Ingo Molnar @ 2007-03-02 7:21 ` Ingo Molnar 2007-03-02 8:04 ` Ingo Molnar 2 siblings, 1 reply; 104+ messages in thread From: Ingo Molnar @ 2007-03-02 7:21 UTC (permalink / raw) To: Linus Torvalds Cc: Daniel Walker, Thomas Gleixner, Michal Piotrowski, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Andrew Morton, linux-pm, Linux Kernel Mailing List, Adrian Bunk * Linus Torvalds <torvalds@linux-foundation.org> wrote: > But most likely, 9f4bd5dd is actually already bad, and what you are > seeing is two *different* bugs that just have the same symptoms > ("suspend doesn't work"). the situation is simpler than that: there is a /known/ bug, and i marked the bugfix commit as 'good'. I never met such a multiple-bugs scenario before and forgot that git-bisect could easily pick a tree without this essential bugfix and would not be able to make a distinction between the two types of badness. I'll try what i've described in the previous mail: mark all bisection points that do not include f3ccb06f as 'good' - thus 'merging' the known-bad area with the first known-good commit, and thus eliminating it from the bisection space. (but it might also be useful to have a "git-bisect must-include" kind of command that would allow this to be automated: mark a particular tree as an essential component of the search space.) Ingo ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-02 7:21 ` Ingo Molnar @ 2007-03-02 8:04 ` Ingo Molnar 2007-03-02 10:20 ` Ingo Molnar ` (2 more replies) 0 siblings, 3 replies; 104+ messages in thread From: Ingo Molnar @ 2007-03-02 8:04 UTC (permalink / raw) To: Linus Torvalds Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Andrew Morton, git * Ingo Molnar <mingo@elte.hu> wrote: > I'll try what i've described in the previous mail: mark all bisection > points that do not include f3ccb06f as 'good' - thus 'merging' the > known-bad area with the first known-good commit, and thus eliminating > it from the bisection space. this got me quite a bit further: git-bisect start git-bisect bad 01363220f5d23ef68276db8974e46a502e43d01d git-bisect good f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 git-bisect fake-good ee404566f97f9254433399fbbcfa05390c7c55f7 git-bisect bad d43a338e395371733a80ec473b40baac5f74d768 git-bisect bad 255f0385c8e0d6b9005c0e09fffb5bd852f3b506 git-bisect fake-good f99c6bb6e2e9c35bd3dc0b1d0faa28bd6970930d git-bisect fake-good 0187f221e96e3436d552c0c7143f183eb82fb658 git-bisect bad 81450b73dde07f473a4a7208b209b4c8b7251d90 git-bisect fake-good ef29498655b18d2bfd69048e20835d19333981ab git-bisect fake-good 8a03d9a498eaf02c8a118752050a5154852c13bf git-bisect good 5c95d3f5783ab184f64b7848f0a871352c35c3cf git-bisect good ecb5f7521a309cb9c5fc0832b9705cd2a03d7d45 git-bisect good 0539771d7236b425f285652f6f297cc7939c8f9a 81450b73dde07f473a4a7208b209b4c8b7251d90 is first bad commit [ note: by having the "git-bisect must-have-bugfix f3ccb06f" functionality i mentioned in the previous mail git-bisect could have eliminated the fake-good steps. ] it's not a resolution of this regression yet, because this commit is a merge with upstream: | commit 81450b73dde07f473a4a7208b209b4c8b7251d90 | Merge: 8a03d9a... 0539771... | Author: Len Brown <len.brown@intel.com> | Date: Fri Feb 16 18:52:41 2007 -0500 | | Pull misc-for-upstream into release branch which means that the fix in Len's tree got broken by merging with upstream. Note: this 'upstream' in isolation is broken too, due to not having that essential fix from Len's tree! So we quite likely have /two/ bugs, any of which breaks resume (which breakage looks the same, so no way to isolate them via testing). I'll now try the following: i'll try to manually apply Len's fix to every tree that git-bisect offers me, in the hope of being able to isolate the /other/ bug. [ But really, i'm not expecting any miracles because this is way out of league for git-bisect which really depends on only having a binary space to search for. ] Ingo ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-02 8:04 ` Ingo Molnar @ 2007-03-02 10:20 ` Ingo Molnar 2007-03-02 10:22 ` [patch] KVM: T60 resume fix Ingo Molnar 2007-03-05 15:44 ` 2.6.21-rc1: known regressions (part 2) Michael S. Tsirkin 2007-03-05 16:14 ` Michael S. Tsirkin 2 siblings, 1 reply; 104+ messages in thread From: Ingo Molnar @ 2007-03-02 10:20 UTC (permalink / raw) To: Linus Torvalds Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Andrew Morton, git * Ingo Molnar <mingo@elte.hu> wrote: > I'll now try the following: i'll try to manually apply Len's fix to > every tree that git-bisect offers me, in the hope of being able to > isolate the /other/ bug. > > [ But really, i'm not expecting any miracles because this is way out of > league for git-bisect which really depends on only having a binary > space to search for. ] this method pointed out the real bug that we are interested in: | 774c47f1d78e373a6bd2964f4e278d1ce26c21cb is first bad commit | commit 774c47f1d78e373a6bd2964f4e278d1ce26c21cb | Author: Avi Kivity <avi@qumranet.com> | Date: Mon Feb 12 00:54:47 2007 -0800 | [PATCH] KVM: cpu hotplug support undoing the 774c47f1 patch from HEAD gave me a working resume. I'll send a fix for this KVM breakage in a separate mail. here's how the bisection went: bad: [01363220f5d23ef68276db8974e46a502e43d01d] [PARISC] clocksource: good: [fa285a3d7924a0e3782926e51f16865c5129a2f7] Linux 2.6.20 +good: [bcdb81ae29091f6a66369aabfd8324e4a53d05dc] knfsd: SUNRPC: add a bad: [920841d8d1d61bc12b43f95a579a5374f6d98f81] Merge branch 'for-linus' +bad: [86a71dbd3e81e8870d0f0e56b87875f57e58222b] sysctl: hide the sysctl +bad: [719c91ccadd3ed26570dbb29d54166914832eee9] [POWERPC] Use udbg_early +bad: [ebaf0c6032f525ddb0158fb59848d41899dce8cd] Merge branch 'for-linus' +good: [8cd133073f9b5cd335c0b2e4740aceb025d50ca9] kvm: Fix mismatch between +bad: [5b8e8ee6c65a34d8aafaeb8e2eaa97e496c2567c] ps3: add shutdown to +bad: [a524d946bdced73c5fbe60170fb33611491c4211] tgafb: sync-on-green +bad: [a268422de8bf1b4c0cb97987b6c329c9f6a3da4b] fbdev driver for S3 +good: [8d0be2b3bf4a55606967d7d84e56c52521e94333] KVM: VMX: add vcpu_clear() +bad: [59ae6c6b87711ceb2d1ea5f9e08bb13aee947a29] KVM: Host suspend/resume +bad: [774c47f1d78e373a6bd2964f4e278d1ce26c21cb] KVM: cpu hotplug support the commits prefixed with '+' were the ones where i had to hand-merge the f3ccb06f commit to. Near the end of the bisection it nicely honed in on the group of KVM changes that included the bad commit. but the conclusion is clear: if multiple bugs are present in the search area then it gets quite difficult to sort it out via git-bisect - but it's not impossible either. The following git-bisect enhancement could have made things easier for me: git-bisect mark-must-have <tree> which would mark <tree> as a must-have fix and would attempt to merge it to whatever bisection point it ends up with - if that bisection point does not have <tree> included already. (Maybe not even the full tree but only one particular commit ID.) In this particular case that merge, when it had to be done, was always 'clean'. Ingo ^ permalink raw reply [flat|nested] 104+ messages in thread
* [patch] KVM: T60 resume fix 2007-03-02 10:20 ` Ingo Molnar @ 2007-03-02 10:22 ` Ingo Molnar 2007-03-02 11:39 ` Michael S. Tsirkin ` (2 more replies) 0 siblings, 3 replies; 104+ messages in thread From: Ingo Molnar @ 2007-03-02 10:22 UTC (permalink / raw) To: Linus Torvalds Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Avi Kivity, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Andrew Morton, git Subject: [patch] KVM: T60 resume fix From: Ingo Molnar <mingo@elte.hu> my T60 laptop does not resume correctly due to KVM attempting to send an IPI to a CPU that might be down (or not up yet). (Doing so also triggers the send_IPI_mask_bitmask() warning in arch/i386/kernel/smp.c, line 732.) with this fix applied my laptop does not hang during resume. [ KVM will have to disable/enable virtualization on the CPU itself that goes down / comes up, not via an IPI sent from the requesting CPU. ] Signed-off-by: Ingo Molnar <mingo@elte.hu> --- drivers/kvm/kvm_main.c | 6 ------ 1 file changed, 6 deletions(-) Index: linux/drivers/kvm/kvm_main.c =================================================================== --- linux.orig/drivers/kvm/kvm_main.c +++ linux/drivers/kvm/kvm_main.c @@ -2083,12 +2083,6 @@ static int kvm_cpu_hotplug(struct notifi case CPU_DEAD: case CPU_UP_CANCELED: decache_vcpus_on_cpu(cpu); - smp_call_function_single(cpu, kvm_arch_ops->hardware_disable, - NULL, 0, 1); - break; - case CPU_UP_PREPARE: - smp_call_function_single(cpu, kvm_arch_ops->hardware_enable, - NULL, 0, 1); break; } return NOTIFY_OK; ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-02 10:22 ` [patch] KVM: T60 resume fix Ingo Molnar @ 2007-03-02 11:39 ` Michael S. Tsirkin 2007-03-03 8:22 ` Avi Kivity 2007-03-03 8:21 ` Avi Kivity 2007-03-05 10:23 ` Michael S. Tsirkin 2 siblings, 1 reply; 104+ messages in thread From: Michael S. Tsirkin @ 2007-03-02 11:39 UTC (permalink / raw) To: Ingo Molnar Cc: Linus Torvalds, Jens Axboe, Pavel Machek, Adrian Bunk, Andrew Morton, Linux Kernel Mailing List, Thomas Gleixner, linux-pm, Michal Piotrowski, Daniel Walker, Len Brown, git, Avi Kivity > Quoting Ingo Molnar <mingo@elte.hu>: > Subject: [patch] KVM: T60 resume fix > From: Ingo Molnar <mingo@elte.hu> > > my T60 laptop does not resume correctly due to KVM attempting to send an > IPI to a CPU that might be down (or not up yet). (Doing so also triggers > the send_IPI_mask_bitmask() warning in arch/i386/kernel/smp.c, line > 732.) > > with this fix applied my laptop does not hang during resume. > > [ KVM will have to disable/enable virtualization on the CPU itself that > goes down / comes up, not via an IPI sent from the requesting CPU. ] > > Signed-off-by: Ingo Molnar <mingo@elte.hu> Since I don't normally have kvm loaded, this patch is unlikely to help me, is that right? -- MST ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-02 11:39 ` Michael S. Tsirkin @ 2007-03-03 8:22 ` Avi Kivity 0 siblings, 0 replies; 104+ messages in thread From: Avi Kivity @ 2007-03-03 8:22 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Andrew Morton, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Ingo Molnar, git Michael S. Tsirkin wrote: >> Quoting Ingo Molnar <mingo@elte.hu>: >> Subject: [patch] KVM: T60 resume fix >> From: Ingo Molnar <mingo@elte.hu> >> >> my T60 laptop does not resume correctly due to KVM attempting to send an >> IPI to a CPU that might be down (or not up yet). (Doing so also triggers >> the send_IPI_mask_bitmask() warning in arch/i386/kernel/smp.c, line >> 732.) >> >> with this fix applied my laptop does not hang during resume. >> >> [ KVM will have to disable/enable virtualization on the CPU itself that >> goes down / comes up, not via an IPI sent from the requesting CPU. ] >> >> Signed-off-by: Ingo Molnar <mingo@elte.hu> >> > > Since I don't normally have kvm loaded, this patch is unlikely > to help me, is that right? > > That is correct. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-02 10:22 ` [patch] KVM: T60 resume fix Ingo Molnar 2007-03-02 11:39 ` Michael S. Tsirkin @ 2007-03-03 8:21 ` Avi Kivity 2007-03-03 11:57 ` Andrew Morton 2007-03-05 8:22 ` Ingo Molnar 2007-03-05 10:23 ` Michael S. Tsirkin 2 siblings, 2 replies; 104+ messages in thread From: Avi Kivity @ 2007-03-03 8:21 UTC (permalink / raw) To: Ingo Molnar Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Andrew Morton, git Ingo Molnar wrote: > Subject: [patch] KVM: T60 resume fix > From: Ingo Molnar <mingo@elte.hu> > > my T60 laptop does not resume correctly due to KVM attempting to send an > IPI to a CPU that might be down (or not up yet). (Doing so also triggers > the send_IPI_mask_bitmask() warning in arch/i386/kernel/smp.c, line > 732.) > > with this fix applied my laptop does not hang during resume. > > [ KVM will have to disable/enable virtualization on the CPU itself that > goes down / comes up, not via an IPI sent from the requesting CPU. ] > > Signed-off-by: Ingo Molnar <mingo@elte.hu> > --- > drivers/kvm/kvm_main.c | 6 ------ > 1 file changed, 6 deletions(-) > > Index: linux/drivers/kvm/kvm_main.c > =================================================================== > --- linux.orig/drivers/kvm/kvm_main.c > +++ linux/drivers/kvm/kvm_main.c > @@ -2083,12 +2083,6 @@ static int kvm_cpu_hotplug(struct notifi > case CPU_DEAD: > case CPU_UP_CANCELED: > decache_vcpus_on_cpu(cpu); > - smp_call_function_single(cpu, kvm_arch_ops->hardware_disable, > - NULL, 0, 1); > - break; > - case CPU_UP_PREPARE: > - smp_call_function_single(cpu, kvm_arch_ops->hardware_enable, > - NULL, 0, 1); > break; > } > return NOTIFY_OK; > That is already CPU_ONLINE in my tree (and in the pull request sent to Linus a couple of days ago). -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-03 8:21 ` Avi Kivity @ 2007-03-03 11:57 ` Andrew Morton 2007-03-03 12:07 ` Junio C Hamano 2007-03-05 8:22 ` Ingo Molnar 1 sibling, 1 reply; 104+ messages in thread From: Andrew Morton @ 2007-03-03 11:57 UTC (permalink / raw) To: Avi Kivity Cc: Jens Axboe, Daniel Walker, Michal Piotrowski, Pavel, linux-pm, List, Len, Adrian Bunk, Machek, Linux, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Ingo Molnar, git On Sat, 03 Mar 2007 10:21:38 +0200 Avi Kivity <avi@qumranet.com> wrote: > Ingo Molnar wrote: > > Subject: [patch] KVM: T60 resume fix > > From: Ingo Molnar <mingo@elte.hu> > > > > my T60 laptop does not resume correctly due to KVM attempting to send an > > IPI to a CPU that might be down (or not up yet). (Doing so also triggers > > the send_IPI_mask_bitmask() warning in arch/i386/kernel/smp.c, line > > 732.) > > > > with this fix applied my laptop does not hang during resume. > > > > [ KVM will have to disable/enable virtualization on the CPU itself that > > goes down / comes up, not via an IPI sent from the requesting CPU. ] > > > > Signed-off-by: Ingo Molnar <mingo@elte.hu> > > --- > > drivers/kvm/kvm_main.c | 6 ------ > > 1 file changed, 6 deletions(-) > > > > Index: linux/drivers/kvm/kvm_main.c > > =================================================================== > > --- linux.orig/drivers/kvm/kvm_main.c > > +++ linux/drivers/kvm/kvm_main.c > > @@ -2083,12 +2083,6 @@ static int kvm_cpu_hotplug(struct notifi > > case CPU_DEAD: > > case CPU_UP_CANCELED: > > decache_vcpus_on_cpu(cpu); > > - smp_call_function_single(cpu, kvm_arch_ops->hardware_disable, > > - NULL, 0, 1); > > - break; > > - case CPU_UP_PREPARE: > > - smp_call_function_single(cpu, kvm_arch_ops->hardware_enable, > > - NULL, 0, 1); > > break; > > } > > return NOTIFY_OK; > > > > That is already CPU_ONLINE in my tree I noticed ;) So this mean that Ingo's bug should already be fixed there. And in rc2-mm1. > (and in the pull request sent to > Linus a couple of days ago). Resend, please. ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-03 11:57 ` Andrew Morton @ 2007-03-03 12:07 ` Junio C Hamano 0 siblings, 0 replies; 104+ messages in thread From: Junio C Hamano @ 2007-03-03 12:07 UTC (permalink / raw) To: Andrew Morton Cc: Daniel Walker, Michael S. Tsirkin, Michal Piotrowski, linux-pm, Pavel, Avi Kivity, List, Linux, Machek, Jens Axboe, Len, Thomas Gleixner, Adrian Bunk, Linus Torvalds, Ingo Molnar Could you un-CC: git@vger.kernel.org from this thread, please? ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-03 8:21 ` Avi Kivity 2007-03-03 11:57 ` Andrew Morton @ 2007-03-05 8:22 ` Ingo Molnar 2007-03-05 8:50 ` Avi Kivity 1 sibling, 1 reply; 104+ messages in thread From: Ingo Molnar @ 2007-03-05 8:22 UTC (permalink / raw) To: Avi Kivity Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Andrew Morton, git * Avi Kivity <avi@qumranet.com> wrote: > > my T60 laptop does not resume correctly due to KVM attempting to > > send an IPI to a CPU that might be down (or not up yet). (Doing so > > also triggers the send_IPI_mask_bitmask() warning in > > arch/i386/kernel/smp.c, line 732.) > > > >with this fix applied my laptop does not hang during resume. > > > >[ KVM will have to disable/enable virtualization on the CPU itself > > that goes down / comes up, not via an IPI sent from the requesting > > CPU. ] > That is already CPU_ONLINE in my tree (and in the pull request sent to > Linus a couple of days ago). that solves the resume problem - but doesnt solve the CPU_DEAD issue of sending an IPI to an already offline CPU. Might be a better idea to do it in CPU_DOWN_PREPARE? (and then to also add a CPU_DOWN_FAILED branch?) Ingo ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-05 8:22 ` Ingo Molnar @ 2007-03-05 8:50 ` Avi Kivity 2007-03-05 8:44 ` Ingo Molnar 0 siblings, 1 reply; 104+ messages in thread From: Avi Kivity @ 2007-03-05 8:50 UTC (permalink / raw) To: Ingo Molnar Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Andrew Morton Ingo Molnar wrote: > * Avi Kivity <avi@qumranet.com> wrote: > > >>> my T60 laptop does not resume correctly due to KVM attempting to >>> send an IPI to a CPU that might be down (or not up yet). (Doing so >>> also triggers the send_IPI_mask_bitmask() warning in >>> arch/i386/kernel/smp.c, line 732.) >>> >>> with this fix applied my laptop does not hang during resume. >>> >>> [ KVM will have to disable/enable virtualization on the CPU itself >>> that goes down / comes up, not via an IPI sent from the requesting >>> CPU. ] >>> > > >> That is already CPU_ONLINE in my tree (and in the pull request sent to >> Linus a couple of days ago). >> > > that solves the resume problem - but doesnt solve the CPU_DEAD issue of > sending an IPI to an already offline CPU. Might be a better idea to do > it in CPU_DOWN_PREPARE? (and then to also add a CPU_DOWN_FAILED branch?) > > Mainline now has DOWN_PREPARE and UP_CANCELED calling ->hardware_disable(), and ONLINE calling ->hardware_enabled(). What tree are you looking at? [but I do see the need for DOWN_FAILED now. Off to find a resumable machine...] -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-05 8:50 ` Avi Kivity @ 2007-03-05 8:44 ` Ingo Molnar 2007-03-05 8:57 ` Ingo Molnar 0 siblings, 1 reply; 104+ messages in thread From: Ingo Molnar @ 2007-03-05 8:44 UTC (permalink / raw) To: Avi Kivity Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Andrew Morton * Avi Kivity <avi@qumranet.com> wrote: > >> That is already CPU_ONLINE in my tree (and in the pull request sent > >> to Linus a couple of days ago). > > > > that solves the resume problem - but doesnt solve the CPU_DEAD issue > > of sending an IPI to an already offline CPU. Might be a better idea > > to do it in CPU_DOWN_PREPARE? (and then to also add a > > CPU_DOWN_FAILED branch?) > > Mainline now has DOWN_PREPARE and UP_CANCELED calling > ->hardware_disable(), and ONLINE calling ->hardware_enabled(). What > tree are you looking at? oh, i just hand-fixed it. I'll check current-git now. > [but I do see the need for DOWN_FAILED now. Off to find a resumable > machine...] yeah, both DOWN_FAILED and UP_FAILED might trigger when some other bug prevents a resume. Ingo ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-05 8:44 ` Ingo Molnar @ 2007-03-05 8:57 ` Ingo Molnar 2007-03-05 9:27 ` Avi Kivity 2007-03-05 12:54 ` Michael S. Tsirkin 0 siblings, 2 replies; 104+ messages in thread From: Ingo Molnar @ 2007-03-05 8:57 UTC (permalink / raw) To: Avi Kivity Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Andrew Morton * Ingo Molnar <mingo@elte.hu> wrote: > > Mainline now has DOWN_PREPARE and UP_CANCELED calling > > ->hardware_disable(), and ONLINE calling ->hardware_enabled(). What > > tree are you looking at? > > oh, i just hand-fixed it. I'll check current-git now. suspend/resume works fine now and there are no warning messages whatsoever (with suspend simulation). Thanks Avi! Ingo ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-05 8:57 ` Ingo Molnar @ 2007-03-05 9:27 ` Avi Kivity 2007-03-05 10:05 ` Ingo Molnar 2007-03-05 12:54 ` Michael S. Tsirkin 1 sibling, 1 reply; 104+ messages in thread From: Avi Kivity @ 2007-03-05 9:27 UTC (permalink / raw) To: Ingo Molnar Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Andrew Morton Ingo Molnar wrote: > suspend/resume works fine now and there are no warning messages > whatsoever (with suspend simulation). Thanks Avi! > > Where do I find this suspend simulation? Sounds like a great suspend debugging tool. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-05 9:27 ` Avi Kivity @ 2007-03-05 10:05 ` Ingo Molnar 2007-03-05 10:33 ` Avi Kivity 0 siblings, 1 reply; 104+ messages in thread From: Ingo Molnar @ 2007-03-05 10:05 UTC (permalink / raw) To: Avi Kivity Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Andrew Morton * Avi Kivity <avi@qumranet.com> wrote: > > suspend/resume works fine now and there are no warning messages > > whatsoever (with suspend simulation). Thanks Avi! > > Where do I find this suspend simulation? Sounds like a great suspend > debugging tool. it's just the simple hack below. Ingo ------------------------> Subject: [patch] suspend debugging: simulate suspend-to-RAM From: Ingo Molnar <mingo@elte.hu> most resume bugs are due to the kernel hanging or crashing while trying to resume a specific device. It is extremely hard to debug such hangs because often when the hang happens there's no console available yet. Make debugging such bugs easier by offering a resume mode that does not actually call into the BIOS to turn off the machine. This, in combination with earlyprintk=serial,ttyS0,115200,keep , CONFIG_PM_DEBUG=y, CONFIG_DISABLE_CONSOLE_SUSPEND=y and /sys/power/filter enables me to have a fully functional serial console during the full suspend/resume cycle. I debugged two suspend bugs in the -rt kernel this way already, so it's pretty useful. Signed-off-by: Ingo Molnar <mingo@elte.hu> --- Documentation/kernel-parameters.txt | 4 ++++ drivers/acpi/sleep/main.c | 15 ++++++++++++++- include/linux/acpi.h | 1 + kernel/sysctl.c | 8 ++++++++ 4 files changed, 27 insertions(+), 1 deletion(-) Index: linux/Documentation/kernel-parameters.txt =================================================================== --- linux.orig/Documentation/kernel-parameters.txt +++ linux/Documentation/kernel-parameters.txt @@ -163,6 +163,10 @@ and is between 256 and 4096 characters. acpi_osi= [HW,ACPI] empty param disables _OSI + acpi_simulate_suspend_to_ram + [KNL] Do not call into BIOS to do suspend-to-RAM + Format: <0/1> + acpi_serialize [HW,ACPI] force serialization of AML methods acpi_skip_timer_override [HW,ACPI] Index: linux/drivers/acpi/sleep/main.c =================================================================== --- linux.orig/drivers/acpi/sleep/main.c +++ linux/drivers/acpi/sleep/main.c @@ -35,6 +35,14 @@ static u32 acpi_suspend_states[] = { static int init_8259A_after_S1; +/* + * simulate entry into the BIOS - this way the system will not + * be turned off for real, and the kernel's resume functionality + * can be debugged while still having some system capabilities + * left. This is especially useful in combination with /sys/power/filter. + */ +int acpi_simulate_suspend_to_ram; + /** * acpi_pm_prepare - Do preliminary suspend work. * @pm_state: suspend state we're entering. @@ -91,7 +99,12 @@ static int acpi_pm_enter(suspend_state_t break; case PM_SUSPEND_MEM: - do_suspend_lowlevel(); + if (unlikely(acpi_simulate_suspend_to_ram)) { + printk(KERN_INFO "ACPI: simulating suspend-to-RAM: " + "not calling BIOS.\n"); + } else { + do_suspend_lowlevel(); + } break; case PM_SUSPEND_DISK: Index: linux/include/linux/acpi.h =================================================================== --- linux.orig/include/linux/acpi.h +++ linux/include/linux/acpi.h @@ -123,6 +123,7 @@ extern int pci_mmcfg_config_num; extern int sbf_port; extern unsigned long acpi_video_flags; +extern int acpi_simulate_suspend_to_ram; #else /* !CONFIG_ACPI */ Index: linux/kernel/sysctl.c =================================================================== --- linux.orig/kernel/sysctl.c +++ linux/kernel/sysctl.c @@ -581,6 +581,14 @@ static ctl_table kern_table[] = { .mode = 0644, .proc_handler = &proc_doulongvec_minmax, }, + { + .ctl_name = CTL_UNNUMBERED, + .procname = "acpi_simulate_suspend_to_ram", + .data = &acpi_simulate_suspend_to_ram, + .maxlen = sizeof (int), + .mode = 0644, + .proc_handler = &proc_dointvec, + }, #endif #ifdef CONFIG_IA64 { ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-05 10:05 ` Ingo Molnar @ 2007-03-05 10:33 ` Avi Kivity 2007-03-05 10:33 ` Ingo Molnar 2007-03-05 10:40 ` Michael S. Tsirkin 0 siblings, 2 replies; 104+ messages in thread From: Avi Kivity @ 2007-03-05 10:33 UTC (permalink / raw) To: Ingo Molnar Cc: Linus Torvalds, Jens Axboe, Pavel Machek, Adrian Bunk, Andrew Morton, Linux Kernel Mailing List, Michael S. Tsirkin, Thomas Gleixner, linux-pm, Michal Piotrowski, Daniel Walker, Len Brown Ingo Molnar wrote: > * Avi Kivity <avi@qumranet.com> wrote: > > >>> suspend/resume works fine now and there are no warning messages >>> whatsoever (with suspend simulation). Thanks Avi! >>> >> Where do I find this suspend simulation? Sounds like a great suspend >> debugging tool. >> > > it's just the simple hack below. > > > Thanks, I'll put it to good use. Are you planning to upstream it? Not for 2.6.21, presumably ;) -- error compiling committee.c: too many arguments to function ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-05 10:33 ` Avi Kivity @ 2007-03-05 10:33 ` Ingo Molnar 2007-03-05 10:40 ` Michael S. Tsirkin 1 sibling, 0 replies; 104+ messages in thread From: Ingo Molnar @ 2007-03-05 10:33 UTC (permalink / raw) To: Avi Kivity Cc: Linus Torvalds, Jens Axboe, Pavel Machek, Adrian Bunk, Andrew Morton, Linux Kernel Mailing List, Michael S. Tsirkin, Thomas Gleixner, linux-pm, Michal Piotrowski, Daniel Walker, Len Brown * Avi Kivity <avi@qumranet.com> wrote: > >it's just the simple hack below. > > Thanks, I'll put it to good use. Are you planning to upstream it? > Not for 2.6.21, presumably ;) it needs an essential cleanup: instead of modifying 'mem' behavior, it should be a 'testmem' thing and no acpi_ flag. Ingo ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-05 10:33 ` Avi Kivity 2007-03-05 10:33 ` Ingo Molnar @ 2007-03-05 10:40 ` Michael S. Tsirkin 1 sibling, 0 replies; 104+ messages in thread From: Michael S. Tsirkin @ 2007-03-05 10:40 UTC (permalink / raw) To: Avi Kivity Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Andrew Morton, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Ingo Molnar > Quoting Avi Kivity <avi@qumranet.com>: > Subject: Re: [patch] KVM: T60 resume fix > > Ingo Molnar wrote: > > * Avi Kivity <avi@qumranet.com> wrote: > > > > > >>> suspend/resume works fine now and there are no warning messages > >>> whatsoever (with suspend simulation). Thanks Avi! > >>> > >> Where do I find this suspend simulation? Sounds like a great suspend > >> debugging tool. > >> > > > > it's just the simple hack below. > > > > > > > > Thanks, I'll put it to good use. Are you planning to upstream it? Not > for 2.6.21, presumably ;) I think Pavel wants it triggerable through /sys/power/state: http://lkml.org/lkml/2007/1/25/99 -- MST ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-05 8:57 ` Ingo Molnar 2007-03-05 9:27 ` Avi Kivity @ 2007-03-05 12:54 ` Michael S. Tsirkin 2007-03-05 12:50 ` Ingo Molnar 1 sibling, 1 reply; 104+ messages in thread From: Michael S. Tsirkin @ 2007-03-05 12:54 UTC (permalink / raw) To: Ingo Molnar Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Avi Kivity, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Andrew Morton > suspend/resume works fine now and there are no warning messages > whatsoever (with suspend simulation). Thanks Avi! I just tried Ingo's .config and it hangs on resume for me (with suspend to memory). -- MST ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-05 12:54 ` Michael S. Tsirkin @ 2007-03-05 12:50 ` Ingo Molnar 2007-03-05 13:26 ` Michael S. Tsirkin 0 siblings, 1 reply; 104+ messages in thread From: Ingo Molnar @ 2007-03-05 12:50 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Avi Kivity, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Andrew Morton * Michael S. Tsirkin <mst@mellanox.co.il> wrote: > > suspend/resume works fine now and there are no warning messages > > whatsoever (with suspend simulation). Thanks Avi! > > I just tried Ingo's .config and it hangs on resume for me (with > suspend to memory). could you try 's2ram' from http://suspend.sf.net ? It's basically equivalent to 'echo mem > /sys/power/state', but you can usually also see the reason why it doesnt resume, on the vga console. (by default the kernel doesnt resume the t60's vga properly) on my box resume works, but it's incredibly slow. Takes a few minutes to have total effect. Ingo ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-05 12:50 ` Ingo Molnar @ 2007-03-05 13:26 ` Michael S. Tsirkin 2007-03-05 13:32 ` Ingo Molnar 0 siblings, 1 reply; 104+ messages in thread From: Michael S. Tsirkin @ 2007-03-05 13:26 UTC (permalink / raw) To: Ingo Molnar Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Avi Kivity, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Andrew Morton > Quoting Ingo Molnar <mingo@elte.hu>: > Subject: Re: [patch] KVM: T60 resume fix > > > * Michael S. Tsirkin <mst@mellanox.co.il> wrote: > > > > suspend/resume works fine now and there are no warning messages > > > whatsoever (with suspend simulation). Thanks Avi! > > > > I just tried Ingo's .config and it hangs on resume for me (with > > suspend to memory). > > could you try 's2ram' from http://suspend.sf.net ? It's basically > equivalent to 'echo mem > /sys/power/state', but you can usually also > see the reason why it doesnt resume, on the vga console. (by default the > kernel doesnt resume the t60's vga properly) OK, I'll give it a try. Do I have to shut down X or is it enough to switch to another VT? > on my box resume works, but it's incredibly slow. I guess it is possible that what I mistook for a hang was actually an incredibly slow system, and that it would resume, eventually. I waited for 5 min and gave up. > Takes a few minutes to have total effect. I have same here with my old .config (2-3 min). However, after resume was completed, system would hang on the *next* suspend to ram. Ingo, do you see this behaviour, or can you suspend/resume any number of times? -- MST ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-05 13:26 ` Michael S. Tsirkin @ 2007-03-05 13:32 ` Ingo Molnar 0 siblings, 0 replies; 104+ messages in thread From: Ingo Molnar @ 2007-03-05 13:32 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Avi Kivity, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Andrew Morton * Michael S. Tsirkin <mst@mellanox.co.il> wrote: > > could you try 's2ram' from http://suspend.sf.net ? It's basically > > equivalent to 'echo mem > /sys/power/state', but you can usually also > > see the reason why it doesnt resume, on the vga console. (by default the > > kernel doesnt resume the t60's vga properly) > > OK, I'll give it a try. Do I have to shut down X or is it enough to > switch to another VT? s2ram takes care of that on your behalf. > > on my box resume works, but it's incredibly slow. > > I guess it is possible that what I mistook for a hang was actually an > incredibly slow system, and that it would resume, eventually. I waited > for 5 min and gave up. 5 min should be enough to have the box pingable again. > However, after resume was completed, system would hang on the *next* > suspend to ram. > > Ingo, do you see this behaviour, or can you suspend/resume any number > of times? havent tried that yet - first trying to figure out why the first resume misbehaves ;) Ingo ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-02 10:22 ` [patch] KVM: T60 resume fix Ingo Molnar 2007-03-02 11:39 ` Michael S. Tsirkin 2007-03-03 8:21 ` Avi Kivity @ 2007-03-05 10:23 ` Michael S. Tsirkin 2007-03-05 10:29 ` Ingo Molnar 2 siblings, 1 reply; 104+ messages in thread From: Michael S. Tsirkin @ 2007-03-05 10:23 UTC (permalink / raw) To: Ingo Molnar Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Avi Kivity, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Andrew Morton, git > with this fix applied my laptop does not hang during resume. On the off chance that this is relevant, could you post your .config please? -- MST ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [patch] KVM: T60 resume fix 2007-03-05 10:23 ` Michael S. Tsirkin @ 2007-03-05 10:29 ` Ingo Molnar 0 siblings, 0 replies; 104+ messages in thread From: Ingo Molnar @ 2007-03-05 10:29 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Linus Torvalds, Jens Axboe, Pavel Machek, Adrian Bunk, Andrew Morton, Linux Kernel Mailing List, Thomas Gleixner, linux-pm, Michal Piotrowski, Daniel Walker, Len Brown, git, Avi Kivity * Michael S. Tsirkin <mst@mellanox.co.il> wrote: > > with this fix applied my laptop does not hang during resume. > > On the off chance that this is relevant, could you post your .config > please? sure - find it below. Ingo # # Automatically generated make config: don't edit # Linux kernel version: 2.6.21 # Mon Mar 5 11:15:42 2007 # CONFIG_X86_32=y CONFIG_GENERIC_TIME=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_SEMAPHORE_SLEEPERS=y CONFIG_X86=y CONFIG_MMU=y CONFIG_ZONE_DMA=y CONFIG_ASYNC_SUPPORT=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_IOMAP=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_HWEIGHT=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_DMI=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" # # Code maturity level options # CONFIG_EXPERIMENTAL=y CONFIG_LOCK_KERNEL=y CONFIG_INIT_ENV_ARG_LIMIT=32 # # General setup # CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_SWAP=y CONFIG_SYSVIPC=y # CONFIG_IPC_NS is not set CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y CONFIG_BSD_PROCESS_ACCT=y # CONFIG_BSD_PROCESS_ACCT_V3 is not set CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y # CONFIG_TASK_XACCT is not set # CONFIG_UTS_NS is not set CONFIG_AUDIT=y CONFIG_AUDITSYSCALL=y # CONFIG_IKCONFIG is not set CONFIG_CPUSETS=y CONFIG_SYSFS_DEPRECATED=y CONFIG_RELAY=y CONFIG_INITRAMFS_SOURCE="" CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SYSCTL=y # CONFIG_EMBEDDED is not set CONFIG_UID16=y CONFIG_SYSCTL_SYSCALL=y CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_EXTRA_PASS=y CONFIG_HOTPLUG=y CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_EPOLL=y CONFIG_SHMEM=y CONFIG_SLAB=y CONFIG_VM_EVENT_COUNTERS=y CONFIG_RT_MUTEXES=y # CONFIG_TINY_SHMEM is not set CONFIG_BASE_SMALL=0 # CONFIG_SLOB is not set # # Loadable module support # CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y # CONFIG_MODULE_FORCE_UNLOAD is not set CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y CONFIG_KMOD=y CONFIG_STOP_MACHINE=y # # Block layer # CONFIG_BLOCK=y CONFIG_LBD=y CONFIG_BLK_DEV_IO_TRACE=y CONFIG_LSF=y # # IO Schedulers # CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=y # CONFIG_DEFAULT_AS is not set CONFIG_DEFAULT_DEADLINE=y # CONFIG_DEFAULT_CFQ is not set # CONFIG_DEFAULT_NOOP is not set CONFIG_DEFAULT_IOSCHED="deadline" # # Processor type and features # # CONFIG_TICK_ONESHOT is not set # CONFIG_NO_HZ is not set # CONFIG_HIGH_RES_TIMERS is not set CONFIG_SMP=y # CONFIG_X86_PC is not set # CONFIG_X86_ELAN is not set # CONFIG_X86_VOYAGER is not set # CONFIG_X86_NUMAQ is not set # CONFIG_X86_SUMMIT is not set # CONFIG_X86_BIGSMP is not set # CONFIG_X86_VISWS is not set CONFIG_X86_GENERICARCH=y # CONFIG_X86_ES7000 is not set CONFIG_PARAVIRT=y CONFIG_VMI=y CONFIG_X86_CYCLONE_TIMER=y # CONFIG_M386 is not set # CONFIG_M486 is not set # CONFIG_M586 is not set # CONFIG_M586TSC is not set # CONFIG_M586MMX is not set CONFIG_M686=y # CONFIG_MPENTIUMII is not set # CONFIG_MPENTIUMIII is not set # CONFIG_MPENTIUMM is not set # CONFIG_MCORE2 is not set # CONFIG_MPENTIUM4 is not set # CONFIG_MK6 is not set # CONFIG_MK7 is not set # CONFIG_MK8 is not set # CONFIG_MCRUSOE is not set # CONFIG_MEFFICEON is not set # CONFIG_MWINCHIPC6 is not set # CONFIG_MWINCHIP2 is not set # CONFIG_MWINCHIP3D is not set # CONFIG_MGEODEGX1 is not set # CONFIG_MGEODE_LX is not set # CONFIG_MCYRIXIII is not set # CONFIG_MVIAC3_2 is not set CONFIG_X86_GENERIC=y CONFIG_X86_CMPXCHG=y CONFIG_X86_L1_CACHE_SHIFT=7 CONFIG_RWSEM_XCHGADD_ALGORITHM=y # CONFIG_ARCH_HAS_ILOG2_U32 is not set # CONFIG_ARCH_HAS_ILOG2_U64 is not set CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_X86_PPRO_FENCE=y CONFIG_X86_WP_WORKS_OK=y CONFIG_X86_INVLPG=y CONFIG_X86_BSWAP=y CONFIG_X86_POPAD_OK=y CONFIG_X86_CMPXCHG64=y CONFIG_X86_GOOD_APIC=y CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_USE_PPRO_CHECKSUM=y CONFIG_X86_TSC=y CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y CONFIG_NR_CPUS=32 CONFIG_SCHED_SMT=y CONFIG_SCHED_MC=y # CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=y CONFIG_PREEMPT_BKL=y CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y CONFIG_X86_MCE=y # CONFIG_X86_MCE_NONFATAL is not set CONFIG_X86_MCE_P4THERMAL=y CONFIG_VM86=y CONFIG_TOSHIBA=m CONFIG_I8K=m # CONFIG_X86_REBOOTFIXUPS is not set CONFIG_MICROCODE=m CONFIG_MICROCODE_OLD_INTERFACE=y CONFIG_X86_MSR=m CONFIG_X86_CPUID=m # # Firmware Drivers # CONFIG_EDD=m CONFIG_EFI_VARS=y CONFIG_DELL_RBU=m CONFIG_DCDBAS=m # CONFIG_NOHIGHMEM is not set CONFIG_HIGHMEM4G=y # CONFIG_HIGHMEM64G is not set CONFIG_PAGE_OFFSET=0xC0000000 CONFIG_HIGHMEM=y CONFIG_ARCH_POPULATES_NODE_MAP=y CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y # CONFIG_DISCONTIGMEM_MANUAL is not set # CONFIG_SPARSEMEM_MANUAL is not set CONFIG_FLATMEM=y CONFIG_FLAT_NODE_MEM_MAP=y # CONFIG_SPARSEMEM_STATIC is not set CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_RESOURCES_64BIT=y CONFIG_ZONE_DMA_FLAG=1 # CONFIG_HIGHPTE is not set # CONFIG_MATH_EMULATION is not set CONFIG_MTRR=y CONFIG_EFI=y # CONFIG_IRQBALANCE is not set CONFIG_BOOT_IOREMAP=y # CONFIG_SECCOMP is not set # CONFIG_HZ_100 is not set # CONFIG_HZ_250 is not set # CONFIG_HZ_300 is not set CONFIG_HZ_1000=y CONFIG_HZ=1000 CONFIG_KEXEC=y # CONFIG_CRASH_DUMP is not set CONFIG_PHYSICAL_START=0x100000 # CONFIG_RELOCATABLE is not set CONFIG_PHYSICAL_ALIGN=0x100000 CONFIG_HOTPLUG_CPU=y CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y # # Power management options (ACPI, APM) # CONFIG_PM=y CONFIG_PM_LEGACY=y CONFIG_PM_DEBUG=y CONFIG_DISABLE_CONSOLE_SUSPEND=y CONFIG_PM_TRACE=y CONFIG_PM_SYSFS_DEPRECATED=y CONFIG_SOFTWARE_SUSPEND=y CONFIG_PM_STD_PARTITION="" CONFIG_SUSPEND_SMP=y # # ACPI (Advanced Configuration and Power Interface) Support # CONFIG_ACPI=y CONFIG_ACPI_SLEEP=y CONFIG_ACPI_SLEEP_PROC_FS=y # CONFIG_ACPI_SLEEP_PROC_SLEEP is not set CONFIG_ACPI_PROCFS=y CONFIG_ACPI_AC=m CONFIG_ACPI_BATTERY=m CONFIG_ACPI_BUTTON=m CONFIG_ACPI_VIDEO=m CONFIG_ACPI_FAN=y CONFIG_ACPI_DOCK=m # CONFIG_ACPI_BAY is not set CONFIG_ACPI_PROCESSOR=y CONFIG_ACPI_HOTPLUG_CPU=y CONFIG_ACPI_THERMAL=y CONFIG_ACPI_ASUS=m CONFIG_ACPI_IBM=m CONFIG_ACPI_TOSHIBA=m CONFIG_ACPI_BLACKLIST_YEAR=1999 # CONFIG_ACPI_DEBUG is not set CONFIG_ACPI_EC=y CONFIG_ACPI_POWER=y CONFIG_ACPI_SYSTEM=y CONFIG_X86_PM_TIMER=y CONFIG_ACPI_CONTAINER=y CONFIG_ACPI_SBS=m # # APM (Advanced Power Management) BIOS Support # CONFIG_APM=y # CONFIG_APM_IGNORE_USER_SUSPEND is not set # CONFIG_APM_DO_ENABLE is not set CONFIG_APM_CPU_IDLE=y # CONFIG_APM_DISPLAY_BLANK is not set CONFIG_APM_RTC_IS_GMT=y # CONFIG_APM_ALLOW_INTS is not set # CONFIG_APM_REAL_MODE_POWER_OFF is not set # # CPU Frequency scaling # CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_TABLE=y CONFIG_CPU_FREQ_DEBUG=y CONFIG_CPU_FREQ_STAT=m CONFIG_CPU_FREQ_STAT_DETAILS=y # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=m CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=m CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m # # CPUFreq processor drivers # CONFIG_X86_ACPI_CPUFREQ=m # CONFIG_X86_POWERNOW_K6 is not set CONFIG_X86_POWERNOW_K7=y CONFIG_X86_POWERNOW_K7_ACPI=y CONFIG_X86_POWERNOW_K8=y CONFIG_X86_POWERNOW_K8_ACPI=y # CONFIG_X86_GX_SUSPMOD is not set CONFIG_X86_SPEEDSTEP_CENTRINO=y CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y CONFIG_X86_SPEEDSTEP_ICH=y CONFIG_X86_SPEEDSTEP_SMI=y CONFIG_X86_P4_CLOCKMOD=m # CONFIG_X86_CPUFREQ_NFORCE2 is not set CONFIG_X86_LONGRUN=y # CONFIG_X86_LONGHAUL is not set # CONFIG_X86_E_POWERSAVER is not set # # shared options # # CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set CONFIG_X86_SPEEDSTEP_LIB=y # CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK is not set # # Bus options (PCI, PCMCIA, EISA, MCA, ISA) # CONFIG_PCI=y # CONFIG_PCI_GOBIOS is not set # CONFIG_PCI_GOMMCONFIG is not set # CONFIG_PCI_GODIRECT is not set CONFIG_PCI_GOANY=y CONFIG_PCI_BIOS=y CONFIG_PCI_DIRECT=y CONFIG_PCI_MMCONFIG=y CONFIG_PCIEPORTBUS=y CONFIG_HOTPLUG_PCI_PCIE=m # CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE is not set CONFIG_PCIEAER=y CONFIG_PCI_MSI=y # CONFIG_PCI_DEBUG is not set CONFIG_HT_IRQ=y CONFIG_ISA_DMA_API=y CONFIG_ISA=y # CONFIG_EISA is not set # CONFIG_MCA is not set # CONFIG_SCx200 is not set CONFIG_K8_NB=y # # PCCARD (PCMCIA/CardBus) support # CONFIG_PCCARD=y # CONFIG_PCMCIA_DEBUG is not set CONFIG_PCMCIA=y CONFIG_PCMCIA_LOAD_CIS=y CONFIG_PCMCIA_IOCTL=y CONFIG_CARDBUS=y # # PC-card bridges # CONFIG_YENTA=y CONFIG_YENTA_O2=y CONFIG_YENTA_RICOH=y CONFIG_YENTA_TI=y CONFIG_YENTA_ENE_TUNE=y CONFIG_YENTA_TOSHIBA=y CONFIG_PD6729=m CONFIG_I82092=m # CONFIG_I82365 is not set # CONFIG_TCIC is not set CONFIG_PCMCIA_PROBE=y CONFIG_PCCARD_NONSTATIC=y # # PCI Hotplug Support # CONFIG_HOTPLUG_PCI=y CONFIG_HOTPLUG_PCI_FAKE=m CONFIG_HOTPLUG_PCI_COMPAQ=m # CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set CONFIG_HOTPLUG_PCI_IBM=m CONFIG_HOTPLUG_PCI_ACPI=m CONFIG_HOTPLUG_PCI_ACPI_IBM=m # CONFIG_HOTPLUG_PCI_CPCI is not set # CONFIG_HOTPLUG_PCI_SHPC is not set # # Executable file formats # CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_AOUT is not set CONFIG_BINFMT_MISC=y # # Networking # CONFIG_NET=y # # Networking options # # CONFIG_NETDEBUG is not set CONFIG_PACKET=y CONFIG_PACKET_MMAP=y CONFIG_UNIX=y CONFIG_XFRM=y CONFIG_XFRM_USER=y # CONFIG_XFRM_SUB_POLICY is not set # CONFIG_XFRM_MIGRATE is not set CONFIG_NET_KEY=y # CONFIG_NET_KEY_MIGRATE is not set CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y CONFIG_ASK_IP_FIB_HASH=y # CONFIG_IP_FIB_TRIE is not set CONFIG_IP_FIB_HASH=y CONFIG_IP_MULTIPLE_TABLES=y CONFIG_IP_ROUTE_MULTIPATH=y # CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set CONFIG_IP_ROUTE_VERBOSE=y # CONFIG_IP_PNP is not set CONFIG_NET_IPIP=m CONFIG_NET_IPGRE=m CONFIG_NET_IPGRE_BROADCAST=y CONFIG_IP_MROUTE=y CONFIG_IP_PIMSM_V1=y CONFIG_IP_PIMSM_V2=y # CONFIG_ARPD is not set CONFIG_SYN_COOKIES=y CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=m CONFIG_INET_XFRM_TUNNEL=m CONFIG_INET_TUNNEL=m CONFIG_INET_XFRM_MODE_TRANSPORT=m CONFIG_INET_XFRM_MODE_TUNNEL=m CONFIG_INET_XFRM_MODE_BEET=m CONFIG_INET_DIAG=m CONFIG_INET_TCP_DIAG=m CONFIG_TCP_CONG_ADVANCED=y CONFIG_TCP_CONG_BIC=y CONFIG_TCP_CONG_CUBIC=m CONFIG_TCP_CONG_WESTWOOD=m CONFIG_TCP_CONG_HTCP=m CONFIG_TCP_CONG_HSTCP=m CONFIG_TCP_CONG_HYBLA=m CONFIG_TCP_CONG_VEGAS=m CONFIG_TCP_CONG_SCALABLE=m CONFIG_TCP_CONG_LP=m CONFIG_TCP_CONG_VENO=m CONFIG_DEFAULT_BIC=y # CONFIG_DEFAULT_CUBIC is not set # CONFIG_DEFAULT_HTCP is not set # CONFIG_DEFAULT_VEGAS is not set # CONFIG_DEFAULT_WESTWOOD is not set # CONFIG_DEFAULT_RENO is not set CONFIG_DEFAULT_TCP_CONG="bic" CONFIG_TCP_MD5SIG=y # # IP: Virtual Server Configuration # CONFIG_IP_VS=m # CONFIG_IP_VS_DEBUG is not set CONFIG_IP_VS_TAB_BITS=12 # # IPVS transport protocol load balancing support # CONFIG_IP_VS_PROTO_TCP=y CONFIG_IP_VS_PROTO_UDP=y CONFIG_IP_VS_PROTO_ESP=y CONFIG_IP_VS_PROTO_AH=y # # IPVS scheduler # CONFIG_IP_VS_RR=m CONFIG_IP_VS_WRR=m CONFIG_IP_VS_LC=m CONFIG_IP_VS_WLC=m CONFIG_IP_VS_LBLC=m CONFIG_IP_VS_LBLCR=m CONFIG_IP_VS_DH=m CONFIG_IP_VS_SH=m CONFIG_IP_VS_SED=m CONFIG_IP_VS_NQ=m # # IPVS application helper # CONFIG_IP_VS_FTP=m CONFIG_IPV6=m CONFIG_IPV6_PRIVACY=y CONFIG_IPV6_ROUTER_PREF=y CONFIG_IPV6_ROUTE_INFO=y CONFIG_INET6_AH=m CONFIG_INET6_ESP=m CONFIG_INET6_IPCOMP=m # CONFIG_IPV6_MIP6 is not set CONFIG_INET6_XFRM_TUNNEL=m CONFIG_INET6_TUNNEL=m CONFIG_INET6_XFRM_MODE_TRANSPORT=m CONFIG_INET6_XFRM_MODE_TUNNEL=m CONFIG_INET6_XFRM_MODE_BEET=m CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m CONFIG_IPV6_SIT=m CONFIG_IPV6_TUNNEL=m # CONFIG_IPV6_MULTIPLE_TABLES is not set CONFIG_NETLABEL=y CONFIG_NETWORK_SECMARK=y CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set CONFIG_BRIDGE_NETFILTER=y # # Core Netfilter Configuration # CONFIG_NETFILTER_NETLINK=y CONFIG_NETFILTER_NETLINK_QUEUE=y CONFIG_NETFILTER_NETLINK_LOG=y CONFIG_NF_CONNTRACK_ENABLED=m CONFIG_NF_CONNTRACK_SUPPORT=y # CONFIG_IP_NF_CONNTRACK_SUPPORT is not set CONFIG_NF_CONNTRACK=m CONFIG_NF_CT_ACCT=y CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_SECMARK=y CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CT_PROTO_GRE=m CONFIG_NF_CT_PROTO_SCTP=m CONFIG_NF_CONNTRACK_AMANDA=m CONFIG_NF_CONNTRACK_FTP=m CONFIG_NF_CONNTRACK_H323=m CONFIG_NF_CONNTRACK_IRC=m CONFIG_NF_CONNTRACK_NETBIOS_NS=m CONFIG_NF_CONNTRACK_PPTP=m # CONFIG_NF_CONNTRACK_SANE is not set CONFIG_NF_CONNTRACK_SIP=m CONFIG_NF_CONNTRACK_TFTP=m CONFIG_NF_CT_NETLINK=m CONFIG_NETFILTER_XTABLES=m CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m CONFIG_NETFILTER_XT_TARGET_CONNMARK=m CONFIG_NETFILTER_XT_TARGET_DSCP=m CONFIG_NETFILTER_XT_TARGET_MARK=m CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m CONFIG_NETFILTER_XT_TARGET_NFLOG=m CONFIG_NETFILTER_XT_TARGET_NOTRACK=m CONFIG_NETFILTER_XT_TARGET_SECMARK=m CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set CONFIG_NETFILTER_XT_MATCH_COMMENT=m CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m CONFIG_NETFILTER_XT_MATCH_CONNMARK=m CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m CONFIG_NETFILTER_XT_MATCH_DCCP=m CONFIG_NETFILTER_XT_MATCH_DSCP=m CONFIG_NETFILTER_XT_MATCH_ESP=m CONFIG_NETFILTER_XT_MATCH_HELPER=m CONFIG_NETFILTER_XT_MATCH_LENGTH=m CONFIG_NETFILTER_XT_MATCH_LIMIT=m CONFIG_NETFILTER_XT_MATCH_MAC=m CONFIG_NETFILTER_XT_MATCH_MARK=m CONFIG_NETFILTER_XT_MATCH_POLICY=m CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m CONFIG_NETFILTER_XT_MATCH_QUOTA=m CONFIG_NETFILTER_XT_MATCH_REALM=m CONFIG_NETFILTER_XT_MATCH_SCTP=m CONFIG_NETFILTER_XT_MATCH_STATE=m CONFIG_NETFILTER_XT_MATCH_STATISTIC=m CONFIG_NETFILTER_XT_MATCH_STRING=m CONFIG_NETFILTER_XT_MATCH_TCPMSS=m CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m # # IP: Netfilter Configuration # CONFIG_NF_CONNTRACK_IPV4=m CONFIG_NF_CONNTRACK_PROC_COMPAT=y CONFIG_IP_NF_QUEUE=m CONFIG_IP_NF_IPTABLES=m CONFIG_IP_NF_MATCH_IPRANGE=m CONFIG_IP_NF_MATCH_TOS=m CONFIG_IP_NF_MATCH_RECENT=m CONFIG_IP_NF_MATCH_ECN=m CONFIG_IP_NF_MATCH_AH=m CONFIG_IP_NF_MATCH_TTL=m CONFIG_IP_NF_MATCH_OWNER=m CONFIG_IP_NF_MATCH_ADDRTYPE=m CONFIG_IP_NF_FILTER=m CONFIG_IP_NF_TARGET_REJECT=m CONFIG_IP_NF_TARGET_LOG=m CONFIG_IP_NF_TARGET_ULOG=m CONFIG_NF_NAT=m CONFIG_NF_NAT_NEEDED=y CONFIG_IP_NF_TARGET_MASQUERADE=m CONFIG_IP_NF_TARGET_REDIRECT=m CONFIG_IP_NF_TARGET_NETMAP=m CONFIG_IP_NF_TARGET_SAME=m CONFIG_NF_NAT_SNMP_BASIC=m CONFIG_NF_NAT_PROTO_GRE=m CONFIG_NF_NAT_FTP=m CONFIG_NF_NAT_IRC=m CONFIG_NF_NAT_TFTP=m CONFIG_NF_NAT_AMANDA=m CONFIG_NF_NAT_PPTP=m CONFIG_NF_NAT_H323=m CONFIG_NF_NAT_SIP=m CONFIG_IP_NF_MANGLE=m CONFIG_IP_NF_TARGET_TOS=m CONFIG_IP_NF_TARGET_ECN=m CONFIG_IP_NF_TARGET_TTL=m CONFIG_IP_NF_TARGET_CLUSTERIP=m CONFIG_IP_NF_RAW=m CONFIG_IP_NF_ARPTABLES=m CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARP_MANGLE=m # # IPv6: Netfilter Configuration (EXPERIMENTAL) # CONFIG_NF_CONNTRACK_IPV6=m CONFIG_IP6_NF_QUEUE=m CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_RT=m CONFIG_IP6_NF_MATCH_OPTS=m CONFIG_IP6_NF_MATCH_FRAG=m CONFIG_IP6_NF_MATCH_HL=m CONFIG_IP6_NF_MATCH_OWNER=m CONFIG_IP6_NF_MATCH_IPV6HEADER=m CONFIG_IP6_NF_MATCH_AH=m # CONFIG_IP6_NF_MATCH_MH is not set CONFIG_IP6_NF_MATCH_EUI64=m CONFIG_IP6_NF_FILTER=m CONFIG_IP6_NF_TARGET_LOG=m CONFIG_IP6_NF_TARGET_REJECT=m CONFIG_IP6_NF_MANGLE=m CONFIG_IP6_NF_TARGET_HL=m CONFIG_IP6_NF_RAW=m # # DECnet: Netfilter Configuration # # CONFIG_DECNET_NF_GRABULATOR is not set # # Bridge: Netfilter Configuration # CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m CONFIG_BRIDGE_EBT_T_FILTER=m CONFIG_BRIDGE_EBT_T_NAT=m CONFIG_BRIDGE_EBT_802_3=m CONFIG_BRIDGE_EBT_AMONG=m CONFIG_BRIDGE_EBT_ARP=m CONFIG_BRIDGE_EBT_IP=m CONFIG_BRIDGE_EBT_LIMIT=m CONFIG_BRIDGE_EBT_MARK=m CONFIG_BRIDGE_EBT_PKTTYPE=m CONFIG_BRIDGE_EBT_STP=m CONFIG_BRIDGE_EBT_VLAN=m CONFIG_BRIDGE_EBT_ARPREPLY=m CONFIG_BRIDGE_EBT_DNAT=m CONFIG_BRIDGE_EBT_MARK_T=m CONFIG_BRIDGE_EBT_REDIRECT=m CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_LOG=m CONFIG_BRIDGE_EBT_ULOG=m # # DCCP Configuration (EXPERIMENTAL) # CONFIG_IP_DCCP=m CONFIG_INET_DCCP_DIAG=m CONFIG_IP_DCCP_ACKVEC=y # # DCCP CCIDs Configuration (EXPERIMENTAL) # CONFIG_IP_DCCP_CCID2=m # CONFIG_IP_DCCP_CCID2_DEBUG is not set CONFIG_IP_DCCP_CCID3=m CONFIG_IP_DCCP_TFRC_LIB=m # CONFIG_IP_DCCP_CCID3_DEBUG is not set CONFIG_IP_DCCP_CCID3_RTO=100 # # DCCP Kernel Hacking # # CONFIG_IP_DCCP_DEBUG is not set # CONFIG_NET_DCCPPROBE is not set # # SCTP Configuration (EXPERIMENTAL) # CONFIG_IP_SCTP=m # CONFIG_SCTP_DBG_MSG is not set # CONFIG_SCTP_DBG_OBJCNT is not set # CONFIG_SCTP_HMAC_NONE is not set # CONFIG_SCTP_HMAC_SHA1 is not set CONFIG_SCTP_HMAC_MD5=y # # TIPC Configuration (EXPERIMENTAL) # CONFIG_TIPC=m # CONFIG_TIPC_ADVANCED is not set # CONFIG_TIPC_DEBUG is not set CONFIG_ATM=m CONFIG_ATM_CLIP=m # CONFIG_ATM_CLIP_NO_ICMP is not set CONFIG_ATM_LANE=m # CONFIG_ATM_MPOA is not set CONFIG_ATM_BR2684=m # CONFIG_ATM_BR2684_IPFILTER is not set CONFIG_BRIDGE=m CONFIG_VLAN_8021Q=m CONFIG_DECNET=m CONFIG_DECNET_ROUTER=y CONFIG_LLC=y # CONFIG_LLC2 is not set CONFIG_IPX=m # CONFIG_IPX_INTERN is not set CONFIG_ATALK=m CONFIG_DEV_APPLETALK=m # CONFIG_LTPC is not set # CONFIG_COPS is not set CONFIG_IPDDP=m CONFIG_IPDDP_ENCAP=y CONFIG_IPDDP_DECAP=y # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_ECONET is not set CONFIG_WAN_ROUTER=m # # QoS and/or fair queueing # CONFIG_NET_SCHED=y CONFIG_NET_SCH_FIFO=y # CONFIG_NET_SCH_CLK_JIFFIES is not set CONFIG_NET_SCH_CLK_GETTIMEOFDAY=y # CONFIG_NET_SCH_CLK_CPU is not set # # Queueing/Scheduling # CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_HTB=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_ATM=m CONFIG_NET_SCH_PRIO=m CONFIG_NET_SCH_RED=m CONFIG_NET_SCH_SFQ=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCH_NETEM=m CONFIG_NET_SCH_INGRESS=m # # Classification # CONFIG_NET_CLS=y CONFIG_NET_CLS_BASIC=m CONFIG_NET_CLS_TCINDEX=m CONFIG_NET_CLS_ROUTE4=m CONFIG_NET_CLS_ROUTE=y CONFIG_NET_CLS_FW=m CONFIG_NET_CLS_U32=m CONFIG_CLS_U32_PERF=y CONFIG_CLS_U32_MARK=y CONFIG_NET_CLS_RSVP=m CONFIG_NET_CLS_RSVP6=m CONFIG_NET_EMATCH=y CONFIG_NET_EMATCH_STACK=32 CONFIG_NET_EMATCH_CMP=m CONFIG_NET_EMATCH_NBYTE=m CONFIG_NET_EMATCH_U32=m CONFIG_NET_EMATCH_META=m CONFIG_NET_EMATCH_TEXT=m CONFIG_NET_CLS_ACT=y CONFIG_NET_ACT_POLICE=m CONFIG_NET_ACT_GACT=m CONFIG_GACT_PROB=y CONFIG_NET_ACT_MIRRED=m CONFIG_NET_ACT_IPT=m CONFIG_NET_ACT_PEDIT=m CONFIG_NET_ACT_SIMP=m CONFIG_NET_CLS_IND=y CONFIG_NET_ESTIMATOR=y # # Network testing # CONFIG_NET_PKTGEN=m # CONFIG_NET_TCPPROBE is not set # CONFIG_HAMRADIO is not set CONFIG_IRDA=m # # IrDA protocols # CONFIG_IRLAN=m CONFIG_IRNET=m CONFIG_IRCOMM=m # CONFIG_IRDA_ULTRA is not set # # IrDA options # CONFIG_IRDA_CACHE_LAST_LSAP=y CONFIG_IRDA_FAST_RR=y # CONFIG_IRDA_DEBUG is not set # # Infrared-port device drivers # # # SIR device drivers # CONFIG_IRTTY_SIR=m # # Dongle support # CONFIG_DONGLE=y CONFIG_ESI_DONGLE=m CONFIG_ACTISYS_DONGLE=m CONFIG_TEKRAM_DONGLE=m CONFIG_TOIM3232_DONGLE=m CONFIG_LITELINK_DONGLE=m CONFIG_MA600_DONGLE=m CONFIG_GIRBIL_DONGLE=m CONFIG_MCP2120_DONGLE=m CONFIG_OLD_BELKIN_DONGLE=m CONFIG_ACT200L_DONGLE=m # # Old SIR device drivers # # # Old Serial dongle support # # # FIR device drivers # CONFIG_USB_IRDA=m CONFIG_SIGMATEL_FIR=m CONFIG_NSC_FIR=m CONFIG_WINBOND_FIR=m CONFIG_TOSHIBA_FIR=m CONFIG_SMC_IRCC_FIR=m CONFIG_ALI_FIR=m CONFIG_VLSI_FIR=m CONFIG_VIA_FIR=m CONFIG_MCS_FIR=m CONFIG_BT=m CONFIG_BT_L2CAP=m CONFIG_BT_SCO=m CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM_TTY=y CONFIG_BT_BNEP=m CONFIG_BT_BNEP_MC_FILTER=y CONFIG_BT_BNEP_PROTO_FILTER=y CONFIG_BT_CMTP=m CONFIG_BT_HIDP=m # # Bluetooth device drivers # CONFIG_BT_HCIUSB=m CONFIG_BT_HCIUSB_SCO=y CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_H4=y CONFIG_BT_HCIUART_BCSP=y CONFIG_BT_HCIBCM203X=m CONFIG_BT_HCIBPA10X=m CONFIG_BT_HCIBFUSB=m CONFIG_BT_HCIDTL1=m CONFIG_BT_HCIBT3C=m CONFIG_BT_HCIBLUECARD=m CONFIG_BT_HCIBTUART=m CONFIG_BT_HCIVHCI=m CONFIG_IEEE80211=m # CONFIG_IEEE80211_DEBUG is not set CONFIG_IEEE80211_CRYPT_WEP=m CONFIG_IEEE80211_CRYPT_CCMP=m CONFIG_IEEE80211_CRYPT_TKIP=m CONFIG_IEEE80211_SOFTMAC=m CONFIG_IEEE80211_SOFTMAC_DEBUG=y CONFIG_WIRELESS_EXT=y CONFIG_FIB_RULES=y # # Device Drivers # # # Generic Driver Options # CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set # CONFIG_SYS_HYPERVISOR is not set # # Connector - unified userspace <-> kernelspace linker # CONFIG_CONNECTOR=y CONFIG_PROC_EVENTS=y # # Memory Technology Devices (MTD) # CONFIG_MTD=m # CONFIG_MTD_DEBUG is not set CONFIG_MTD_CONCAT=m CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=m CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set # CONFIG_MTD_REDBOOT_PARTS_READONLY is not set # # User Modules And Translation Layers # CONFIG_MTD_CHAR=m CONFIG_MTD_BLKDEVS=m CONFIG_MTD_BLOCK=m CONFIG_MTD_BLOCK_RO=m CONFIG_FTL=m CONFIG_NFTL=m CONFIG_NFTL_RW=y CONFIG_INFTL=m CONFIG_RFD_FTL=m # CONFIG_SSFDC is not set # # RAM/ROM/Flash chip drivers # CONFIG_MTD_CFI=m CONFIG_MTD_JEDECPROBE=m CONFIG_MTD_GEN_PROBE=m # CONFIG_MTD_CFI_ADV_OPTIONS is not set CONFIG_MTD_MAP_BANK_WIDTH_1=y CONFIG_MTD_MAP_BANK_WIDTH_2=y CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set CONFIG_MTD_CFI_I1=y CONFIG_MTD_CFI_I2=y # CONFIG_MTD_CFI_I4 is not set # CONFIG_MTD_CFI_I8 is not set CONFIG_MTD_CFI_INTELEXT=m CONFIG_MTD_CFI_AMDSTD=m CONFIG_MTD_CFI_STAA=m CONFIG_MTD_CFI_UTIL=m CONFIG_MTD_RAM=m CONFIG_MTD_ROM=m CONFIG_MTD_ABSENT=m # CONFIG_MTD_OBSOLETE_CHIPS is not set # # Mapping drivers for chip access # CONFIG_MTD_COMPLEX_MAPPINGS=y # CONFIG_MTD_PHYSMAP is not set # CONFIG_MTD_PNC2000 is not set CONFIG_MTD_SC520CDP=m CONFIG_MTD_NETSC520=m CONFIG_MTD_TS5500=m # CONFIG_MTD_SBC_GXX is not set # CONFIG_MTD_AMD76XROM is not set # CONFIG_MTD_ICHXROM is not set # CONFIG_MTD_ESB2ROM is not set # CONFIG_MTD_CK804XROM is not set CONFIG_MTD_SCB2_FLASH=m # CONFIG_MTD_NETtel is not set # CONFIG_MTD_DILNETPC is not set # CONFIG_MTD_L440GX is not set CONFIG_MTD_PCI=m # CONFIG_MTD_PLATRAM is not set # # Self-contained MTD device drivers # CONFIG_MTD_PMC551=m # CONFIG_MTD_PMC551_BUGFIX is not set # CONFIG_MTD_PMC551_DEBUG is not set # CONFIG_MTD_SLRAM is not set # CONFIG_MTD_PHRAM is not set CONFIG_MTD_MTDRAM=m CONFIG_MTDRAM_TOTAL_SIZE=4096 CONFIG_MTDRAM_ERASE_SIZE=128 CONFIG_MTD_BLOCK2MTD=m # # Disk-On-Chip Device Drivers # # CONFIG_MTD_DOC2000 is not set # CONFIG_MTD_DOC2001 is not set # CONFIG_MTD_DOC2001PLUS is not set # # NAND Flash Device Drivers # CONFIG_MTD_NAND=m # CONFIG_MTD_NAND_VERIFY_WRITE is not set CONFIG_MTD_NAND_ECC_SMC=y CONFIG_MTD_NAND_IDS=m CONFIG_MTD_NAND_DISKONCHIP=m # CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 # CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set # CONFIG_MTD_NAND_CAFE is not set CONFIG_MTD_NAND_CS553X=m CONFIG_MTD_NAND_NANDSIM=m # # OneNAND Flash Device Drivers # # CONFIG_MTD_ONENAND is not set # # Parallel port support # CONFIG_PARPORT=m CONFIG_PARPORT_PC=m CONFIG_PARPORT_SERIAL=m # CONFIG_PARPORT_PC_FIFO is not set # CONFIG_PARPORT_PC_SUPERIO is not set CONFIG_PARPORT_PC_PCMCIA=m # CONFIG_PARPORT_GSC is not set # CONFIG_PARPORT_AX88796 is not set CONFIG_PARPORT_1284=y CONFIG_PARPORT_NOT_PC=y # # Plug and Play support # CONFIG_PNP=y # CONFIG_PNP_DEBUG is not set # # Protocols # CONFIG_ISAPNP=y # CONFIG_PNPBIOS is not set CONFIG_PNPACPI=y # # Block devices # CONFIG_BLK_DEV_FD=m # CONFIG_BLK_DEV_XD is not set CONFIG_PARIDE=m # # Parallel IDE high-level drivers # CONFIG_PARIDE_PD=m CONFIG_PARIDE_PCD=m CONFIG_PARIDE_PF=m CONFIG_PARIDE_PT=m CONFIG_PARIDE_PG=m # # Parallel IDE protocol modules # CONFIG_PARIDE_ATEN=m CONFIG_PARIDE_BPCK=m CONFIG_PARIDE_BPCK6=m CONFIG_PARIDE_COMM=m CONFIG_PARIDE_DSTR=m CONFIG_PARIDE_FIT2=m CONFIG_PARIDE_FIT3=m CONFIG_PARIDE_EPAT=m CONFIG_PARIDE_EPATC8=y CONFIG_PARIDE_EPIA=m CONFIG_PARIDE_FRIQ=m CONFIG_PARIDE_FRPW=m CONFIG_PARIDE_KBIC=m CONFIG_PARIDE_KTTI=m CONFIG_PARIDE_ON20=m CONFIG_PARIDE_ON26=m CONFIG_BLK_CPQ_DA=m CONFIG_BLK_CPQ_CISS_DA=m CONFIG_CISS_SCSI_TAPE=y CONFIG_BLK_DEV_DAC960=m CONFIG_BLK_DEV_UMEM=m # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_CRYPTOLOOP=y CONFIG_BLK_DEV_NBD=m CONFIG_BLK_DEV_SX8=m CONFIG_BLK_DEV_UB=m CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=16384 CONFIG_BLK_DEV_RAM_BLOCKSIZE=4096 CONFIG_BLK_DEV_INITRD=y CONFIG_CDROM_PKTCDVD=m CONFIG_CDROM_PKTCDVD_BUFFERS=8 # CONFIG_CDROM_PKTCDVD_WCACHE is not set CONFIG_ATA_OVER_ETH=m # # Misc devices # CONFIG_IBM_ASM=m # CONFIG_SGI_IOC4 is not set CONFIG_TIFM_CORE=m CONFIG_TIFM_7XX1=m # CONFIG_ASUS_LAPTOP is not set CONFIG_MSI_LAPTOP=m # CONFIG_SONY_LAPTOP is not set # # ATA/ATAPI/MFM/RLL support # CONFIG_IDE=y CONFIG_BLK_DEV_IDE=y # # Please see Documentation/ide.txt for help/info on IDE drives # # CONFIG_BLK_DEV_IDE_SATA is not set # CONFIG_BLK_DEV_HD_IDE is not set CONFIG_BLK_DEV_IDEDISK=y CONFIG_IDEDISK_MULTI_MODE=y CONFIG_BLK_DEV_IDECS=m # CONFIG_BLK_DEV_DELKIN is not set CONFIG_BLK_DEV_IDECD=m # CONFIG_BLK_DEV_IDETAPE is not set CONFIG_BLK_DEV_IDEFLOPPY=y CONFIG_BLK_DEV_IDESCSI=m # CONFIG_BLK_DEV_IDEACPI is not set CONFIG_IDE_TASK_IOCTL=y # # IDE chipset support/bugfixes # CONFIG_IDE_GENERIC=y CONFIG_BLK_DEV_CMD640=y CONFIG_BLK_DEV_CMD640_ENHANCED=y CONFIG_BLK_DEV_IDEPNP=y CONFIG_BLK_DEV_IDEPCI=y CONFIG_IDEPCI_SHARE_IRQ=y # CONFIG_BLK_DEV_OFFBOARD is not set CONFIG_BLK_DEV_GENERIC=y # CONFIG_BLK_DEV_OPTI621 is not set CONFIG_BLK_DEV_RZ1000=y CONFIG_BLK_DEV_IDEDMA_PCI=y # CONFIG_BLK_DEV_IDEDMA_FORCED is not set CONFIG_IDEDMA_PCI_AUTO=y # CONFIG_IDEDMA_ONLYDISK is not set CONFIG_BLK_DEV_AEC62XX=y CONFIG_BLK_DEV_ALI15X3=y # CONFIG_WDC_ALI15X3 is not set CONFIG_BLK_DEV_AMD74XX=y CONFIG_BLK_DEV_ATIIXP=y CONFIG_BLK_DEV_CMD64X=y CONFIG_BLK_DEV_TRIFLEX=y # CONFIG_BLK_DEV_CY82C693 is not set CONFIG_BLK_DEV_CS5520=y CONFIG_BLK_DEV_CS5530=y CONFIG_BLK_DEV_CS5535=y CONFIG_BLK_DEV_HPT34X=y # CONFIG_HPT34X_AUTODMA is not set CONFIG_BLK_DEV_HPT366=y CONFIG_BLK_DEV_JMICRON=m # CONFIG_BLK_DEV_SC1200 is not set CONFIG_BLK_DEV_PIIX=y # CONFIG_BLK_DEV_IT8213 is not set CONFIG_BLK_DEV_IT821X=y # CONFIG_BLK_DEV_NS87415 is not set CONFIG_BLK_DEV_PDC202XX_OLD=y # CONFIG_PDC202XX_BURST is not set CONFIG_BLK_DEV_PDC202XX_NEW=y CONFIG_BLK_DEV_SVWKS=y CONFIG_BLK_DEV_SIIMAGE=y CONFIG_BLK_DEV_SIS5513=y # CONFIG_BLK_DEV_SLC90E66 is not set # CONFIG_BLK_DEV_TRM290 is not set CONFIG_BLK_DEV_VIA82CXXX=y # CONFIG_BLK_DEV_TC86C001 is not set # CONFIG_IDE_ARM is not set # CONFIG_IDE_CHIPSETS is not set CONFIG_BLK_DEV_IDEDMA=y # CONFIG_IDEDMA_IVB is not set CONFIG_IDEDMA_AUTO=y # CONFIG_BLK_DEV_HD is not set # # SCSI device support # CONFIG_RAID_ATTRS=m CONFIG_SCSI=y CONFIG_SCSI_TGT=m CONFIG_SCSI_NETLINK=y CONFIG_SCSI_PROC_FS=y # # SCSI support type (disk, tape, CD-ROM) # CONFIG_BLK_DEV_SD=y CONFIG_CHR_DEV_ST=m CONFIG_CHR_DEV_OSST=m CONFIG_BLK_DEV_SR=m CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_CHR_DEV_SG=y CONFIG_CHR_DEV_SCH=m # # Some SCSI devices (e.g. CD jukebox) support multiple LUNs # CONFIG_SCSI_MULTI_LUN=y CONFIG_SCSI_CONSTANTS=y CONFIG_SCSI_LOGGING=y # CONFIG_SCSI_SCAN_ASYNC is not set # # SCSI Transports # CONFIG_SCSI_SPI_ATTRS=y CONFIG_SCSI_FC_ATTRS=m CONFIG_SCSI_ISCSI_ATTRS=m CONFIG_SCSI_SAS_ATTRS=y CONFIG_SCSI_SAS_LIBSAS=y # CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set # # SCSI low-level drivers # CONFIG_ISCSI_TCP=m CONFIG_BLK_DEV_3W_XXXX_RAID=m CONFIG_SCSI_3W_9XXX=m # CONFIG_SCSI_7000FASST is not set CONFIG_SCSI_ACARD=m CONFIG_SCSI_AHA152X=m CONFIG_SCSI_AHA1542=m CONFIG_SCSI_AACRAID=m CONFIG_SCSI_AIC7XXX=y CONFIG_AIC7XXX_CMDS_PER_DEVICE=4 CONFIG_AIC7XXX_RESET_DELAY_MS=1000 # CONFIG_AIC7XXX_DEBUG_ENABLE is not set CONFIG_AIC7XXX_DEBUG_MASK=0 # CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set CONFIG_SCSI_AIC7XXX_OLD=m CONFIG_SCSI_AIC79XX=y CONFIG_AIC79XX_CMDS_PER_DEVICE=4 CONFIG_AIC79XX_RESET_DELAY_MS=1000 # CONFIG_AIC79XX_ENABLE_RD_STRM is not set # CONFIG_AIC79XX_DEBUG_ENABLE is not set CONFIG_AIC79XX_DEBUG_MASK=0 # CONFIG_AIC79XX_REG_PRETTY_PRINT is not set CONFIG_SCSI_AIC94XX=y # CONFIG_AIC94XX_DEBUG is not set # CONFIG_SCSI_DPT_I2O is not set CONFIG_SCSI_ADVANSYS=m # CONFIG_SCSI_IN2000 is not set CONFIG_SCSI_ARCMSR=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_MM=m CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_LEGACY=m CONFIG_MEGARAID_SAS=m CONFIG_SCSI_HPTIOP=m CONFIG_SCSI_BUSLOGIC=m # CONFIG_SCSI_OMIT_FLASHPOINT is not set # CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_DTC3280 is not set # CONFIG_SCSI_EATA is not set CONFIG_SCSI_FUTURE_DOMAIN=m CONFIG_SCSI_GDTH=m # CONFIG_SCSI_GENERIC_NCR5380 is not set # CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set CONFIG_SCSI_IPS=m CONFIG_SCSI_INITIO=m CONFIG_SCSI_INIA100=m CONFIG_SCSI_PPA=m CONFIG_SCSI_IMM=m # CONFIG_SCSI_IZIP_EPP16 is not set # CONFIG_SCSI_IZIP_SLOW_CTR is not set # CONFIG_SCSI_NCR53C406A is not set CONFIG_SCSI_STEX=m CONFIG_SCSI_SYM53C8XX_2=m CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 CONFIG_SCSI_SYM53C8XX_MMIO=y # CONFIG_SCSI_IPR is not set # CONFIG_SCSI_PAS16 is not set # CONFIG_SCSI_PSI240I is not set # CONFIG_SCSI_QLOGIC_FAS is not set CONFIG_SCSI_QLOGIC_1280=m CONFIG_SCSI_QLA_FC=m CONFIG_SCSI_QLA_ISCSI=m CONFIG_SCSI_LPFC=m # CONFIG_SCSI_SEAGATE is not set # CONFIG_SCSI_SYM53C416 is not set CONFIG_SCSI_DC395x=m CONFIG_SCSI_DC390T=m # CONFIG_SCSI_T128 is not set # CONFIG_SCSI_U14_34F is not set # CONFIG_SCSI_ULTRASTOR is not set # CONFIG_SCSI_NSP32 is not set # CONFIG_SCSI_DEBUG is not set CONFIG_SCSI_SRP=m # # PCMCIA SCSI adapter support # CONFIG_PCMCIA_AHA152X=m CONFIG_PCMCIA_FDOMAIN=m CONFIG_PCMCIA_NINJA_SCSI=m CONFIG_PCMCIA_QLOGIC=m CONFIG_PCMCIA_SYM53C500=m # # Serial ATA (prod) and Parallel ATA (experimental) drivers # CONFIG_ATA=y # CONFIG_ATA_NONSTANDARD is not set CONFIG_SATA_AHCI=y CONFIG_SATA_SVW=y CONFIG_ATA_PIIX=y CONFIG_SATA_MV=y CONFIG_SATA_NV=y CONFIG_PDC_ADMA=y CONFIG_SATA_QSTOR=y CONFIG_SATA_PROMISE=y CONFIG_SATA_SX4=y CONFIG_SATA_SIL=y CONFIG_SATA_SIL24=y CONFIG_SATA_SIS=y CONFIG_SATA_ULI=y CONFIG_SATA_VIA=y CONFIG_SATA_VITESSE=y # CONFIG_SATA_INIC162X is not set CONFIG_SATA_INTEL_COMBINED=y CONFIG_SATA_ACPI=y CONFIG_PATA_ALI=y CONFIG_PATA_AMD=y CONFIG_PATA_ARTOP=y CONFIG_PATA_ATIIXP=y CONFIG_PATA_CMD64X=y CONFIG_PATA_CS5520=y CONFIG_PATA_CS5530=y CONFIG_PATA_CS5535=y CONFIG_PATA_CYPRESS=y CONFIG_PATA_EFAR=y CONFIG_ATA_GENERIC=y CONFIG_PATA_HPT366=y CONFIG_PATA_HPT37X=y CONFIG_PATA_HPT3X2N=y CONFIG_PATA_HPT3X3=y CONFIG_PATA_ISAPNP=y CONFIG_PATA_IT821X=y # CONFIG_PATA_IT8213 is not set CONFIG_PATA_JMICRON=y CONFIG_PATA_LEGACY=m CONFIG_PATA_TRIFLEX=y CONFIG_PATA_MARVELL=y CONFIG_PATA_MPIIX=y CONFIG_PATA_OLDPIIX=y CONFIG_PATA_NETCELL=y CONFIG_PATA_NS87410=y CONFIG_PATA_OPTI=y CONFIG_PATA_OPTIDMA=y CONFIG_PATA_PCMCIA=y CONFIG_PATA_PDC_OLD=y CONFIG_PATA_QDI=y CONFIG_PATA_RADISYS=y CONFIG_PATA_RZ1000=y CONFIG_PATA_SC1200=y CONFIG_PATA_SERVERWORKS=y CONFIG_PATA_PDC2027X=y CONFIG_PATA_SIL680=y CONFIG_PATA_SIS=y CONFIG_PATA_VIA=y CONFIG_PATA_WINBOND=y CONFIG_PATA_WINBOND_VLB=y # # Old CD-ROM drivers (not SCSI, not IDE) # # CONFIG_CD_NO_IDESCSI is not set # # Multi-device support (RAID and LVM) # CONFIG_MD=y CONFIG_BLK_DEV_MD=y CONFIG_MD_LINEAR=m CONFIG_MD_RAID0=m CONFIG_MD_RAID1=m CONFIG_MD_RAID10=m CONFIG_MD_RAID456=m CONFIG_MD_RAID5_RESHAPE=y CONFIG_MD_MULTIPATH=m CONFIG_MD_FAULTY=m CONFIG_BLK_DEV_DM=m # CONFIG_DM_DEBUG is not set CONFIG_DM_CRYPT=m CONFIG_DM_SNAPSHOT=m CONFIG_DM_MIRROR=m CONFIG_DM_ZERO=m CONFIG_DM_MULTIPATH=m CONFIG_DM_MULTIPATH_EMC=m # # Fusion MPT device support # CONFIG_FUSION=y CONFIG_FUSION_SPI=m CONFIG_FUSION_FC=m CONFIG_FUSION_SAS=m CONFIG_FUSION_MAX_SGE=40 CONFIG_FUSION_CTL=m CONFIG_FUSION_LAN=m # # IEEE 1394 (FireWire) support # CONFIG_IEEE1394=m # # Subsystem Options # # CONFIG_IEEE1394_VERBOSEDEBUG is not set CONFIG_IEEE1394_EXTRA_CONFIG_ROMS=y CONFIG_IEEE1394_CONFIG_ROM_IP1394=y # # Device Drivers # CONFIG_IEEE1394_PCILYNX=m CONFIG_IEEE1394_OHCI1394=m # # Protocol Drivers # CONFIG_IEEE1394_VIDEO1394=m CONFIG_IEEE1394_SBP2=m # CONFIG_IEEE1394_SBP2_PHYS_DMA is not set CONFIG_IEEE1394_ETH1394=m CONFIG_IEEE1394_DV1394=m CONFIG_IEEE1394_RAWIO=m # # I2O device support # CONFIG_I2O=m # CONFIG_I2O_LCT_NOTIFY_ON_CHANGES is not set CONFIG_I2O_EXT_ADAPTEC=y CONFIG_I2O_CONFIG=m CONFIG_I2O_CONFIG_OLD_IOCTL=y CONFIG_I2O_BUS=m CONFIG_I2O_BLOCK=m CONFIG_I2O_SCSI=m CONFIG_I2O_PROC=m # # Macintosh device drivers # # CONFIG_MAC_EMUMOUSEBTN is not set # # Network device support # CONFIG_NETDEVICES=y CONFIG_IFB=m CONFIG_DUMMY=m CONFIG_BONDING=m CONFIG_EQUALIZER=m CONFIG_TUN=m CONFIG_NET_SB1000=m # # ARCnet devices # # CONFIG_ARCNET is not set # # PHY device support # CONFIG_PHYLIB=m # # MII PHY device drivers # CONFIG_MARVELL_PHY=m CONFIG_DAVICOM_PHY=m CONFIG_QSEMI_PHY=m CONFIG_LXT_PHY=m CONFIG_CICADA_PHY=m CONFIG_VITESSE_PHY=m CONFIG_SMSC_PHY=m CONFIG_BROADCOM_PHY=m CONFIG_FIXED_PHY=m CONFIG_FIXED_MII_10_FDX=y CONFIG_FIXED_MII_100_FDX=y # # Ethernet (10 or 100Mbit) # CONFIG_NET_ETHERNET=y CONFIG_MII=y CONFIG_HAPPYMEAL=m CONFIG_SUNGEM=m CONFIG_CASSINI=m CONFIG_NET_VENDOR_3COM=y # CONFIG_EL1 is not set # CONFIG_EL2 is not set # CONFIG_ELPLUS is not set # CONFIG_EL16 is not set CONFIG_EL3=m # CONFIG_3C515 is not set CONFIG_VORTEX=m CONFIG_TYPHOON=m # CONFIG_LANCE is not set CONFIG_NET_VENDOR_SMC=y # CONFIG_WD80x3 is not set CONFIG_ULTRA=m # CONFIG_SMC9194 is not set # CONFIG_NET_VENDOR_RACAL is not set # # Tulip family network device support # CONFIG_NET_TULIP=y CONFIG_DE2104X=m CONFIG_TULIP=m # CONFIG_TULIP_MWI is not set CONFIG_TULIP_MMIO=y # CONFIG_TULIP_NAPI is not set CONFIG_DE4X5=m CONFIG_WINBOND_840=m CONFIG_DM9102=m CONFIG_ULI526X=m CONFIG_PCMCIA_XIRCOM=m # CONFIG_AT1700 is not set # CONFIG_DEPCA is not set # CONFIG_HP100 is not set CONFIG_NET_ISA=y # CONFIG_E2100 is not set CONFIG_EWRK3=m # CONFIG_EEXPRESS is not set # CONFIG_EEXPRESS_PRO is not set # CONFIG_HPLAN_PLUS is not set # CONFIG_HPLAN is not set # CONFIG_LP486E is not set # CONFIG_ETH16I is not set CONFIG_NE2000=m # CONFIG_ZNET is not set # CONFIG_SEEQ8005 is not set CONFIG_NET_PCI=y CONFIG_PCNET32=m CONFIG_PCNET32_NAPI=y CONFIG_AMD8111_ETH=m CONFIG_AMD8111E_NAPI=y CONFIG_ADAPTEC_STARFIRE=m CONFIG_ADAPTEC_STARFIRE_NAPI=y # CONFIG_AC3200 is not set # CONFIG_APRICOT is not set CONFIG_B44=m CONFIG_FORCEDETH=y CONFIG_FORCEDETH_NAPI=y # CONFIG_CS89x0 is not set # CONFIG_DGRS is not set # CONFIG_EEPRO100 is not set CONFIG_E100=y CONFIG_FEALNX=m CONFIG_NATSEMI=m CONFIG_NE2K_PCI=m CONFIG_8139CP=y CONFIG_8139TOO=y CONFIG_8139TOO_PIO=y # CONFIG_8139TOO_TUNE_TWISTER is not set # CONFIG_8139TOO_8129 is not set # CONFIG_8139_OLD_RX_RESET is not set CONFIG_SIS900=m CONFIG_EPIC100=m CONFIG_SUNDANCE=m # CONFIG_SUNDANCE_MMIO is not set CONFIG_TLAN=m CONFIG_VIA_RHINE=m CONFIG_VIA_RHINE_MMIO=y CONFIG_VIA_RHINE_NAPI=y # CONFIG_SC92031 is not set CONFIG_NET_POCKET=y CONFIG_ATP=m CONFIG_DE600=m CONFIG_DE620=m # # Ethernet (1000 Mbit) # CONFIG_ACENIC=m # CONFIG_ACENIC_OMIT_TIGON_I is not set CONFIG_DL2K=m CONFIG_E1000=y CONFIG_E1000_NAPI=y # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set CONFIG_NS83820=m CONFIG_HAMACHI=m CONFIG_YELLOWFIN=m CONFIG_R8169=m CONFIG_R8169_NAPI=y CONFIG_R8169_VLAN=y CONFIG_SIS190=m CONFIG_SKGE=y CONFIG_SKY2=m # CONFIG_SK98LIN is not set CONFIG_VIA_VELOCITY=m CONFIG_TIGON3=y CONFIG_BNX2=m CONFIG_QLA3XXX=m # CONFIG_ATL1 is not set # # Ethernet (10000 Mbit) # CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T1_1G=y CONFIG_CHELSIO_T1_NAPI=y # CONFIG_CHELSIO_T3 is not set CONFIG_IXGB=m CONFIG_IXGB_NAPI=y CONFIG_S2IO=m CONFIG_S2IO_NAPI=y CONFIG_MYRI10GE=m CONFIG_NETXEN_NIC=m # # Token Ring devices # CONFIG_TR=y # CONFIG_IBMTR is not set CONFIG_IBMOL=m CONFIG_IBMLS=m CONFIG_3C359=m # CONFIG_TMS380TR is not set # CONFIG_SMCTR is not set # # Wireless LAN (non-hamradio) # CONFIG_NET_RADIO=y CONFIG_NET_WIRELESS_RTNETLINK=y # # Obsolete Wireless cards support (pre-802.11) # # CONFIG_STRIP is not set # CONFIG_ARLAN is not set # CONFIG_WAVELAN is not set CONFIG_PCMCIA_WAVELAN=m CONFIG_PCMCIA_NETWAVE=m # # Wireless 802.11 Frequency Hopping cards support # # CONFIG_PCMCIA_RAYCS is not set # # Wireless 802.11b ISA/PCI cards support # CONFIG_IPW2100=m CONFIG_IPW2100_MONITOR=y # CONFIG_IPW2100_DEBUG is not set CONFIG_IPW2200=m CONFIG_IPW2200_MONITOR=y CONFIG_IPW2200_RADIOTAP=y CONFIG_IPW2200_PROMISCUOUS=y CONFIG_IPW2200_QOS=y # CONFIG_IPW2200_DEBUG is not set CONFIG_AIRO=m CONFIG_HERMES=m CONFIG_PLX_HERMES=m CONFIG_TMD_HERMES=m CONFIG_NORTEL_HERMES=m CONFIG_PCI_HERMES=m CONFIG_ATMEL=m CONFIG_PCI_ATMEL=m # # Wireless 802.11b Pcmcia/Cardbus cards support # CONFIG_PCMCIA_HERMES=m CONFIG_PCMCIA_SPECTRUM=m CONFIG_AIRO_CS=m CONFIG_PCMCIA_ATMEL=m CONFIG_PCMCIA_WL3501=m # # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support # CONFIG_PRISM54=m CONFIG_USB_ZD1201=m CONFIG_HOSTAP=m CONFIG_HOSTAP_FIRMWARE=y CONFIG_HOSTAP_FIRMWARE_NVRAM=y CONFIG_HOSTAP_PLX=m CONFIG_HOSTAP_PCI=m CONFIG_HOSTAP_CS=m CONFIG_BCM43XX=m CONFIG_BCM43XX_DEBUG=y CONFIG_BCM43XX_DMA=y CONFIG_BCM43XX_PIO=y CONFIG_BCM43XX_DMA_AND_PIO_MODE=y # CONFIG_BCM43XX_DMA_MODE is not set # CONFIG_BCM43XX_PIO_MODE is not set CONFIG_ZD1211RW=m # CONFIG_ZD1211RW_DEBUG is not set CONFIG_NET_WIRELESS=y # # PCMCIA network device support # CONFIG_NET_PCMCIA=y CONFIG_PCMCIA_3C589=m CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_FMVJ18X=m CONFIG_PCMCIA_PCNET=m CONFIG_PCMCIA_NMCLAN=m CONFIG_PCMCIA_SMC91C92=m CONFIG_PCMCIA_XIRC2PS=m CONFIG_PCMCIA_AXNET=m CONFIG_PCMCIA_IBMTR=m # # Wan interfaces # # CONFIG_WAN is not set # # ATM drivers # # CONFIG_ATM_DUMMY is not set CONFIG_ATM_TCP=m CONFIG_ATM_LANAI=m CONFIG_ATM_ENI=m # CONFIG_ATM_ENI_DEBUG is not set # CONFIG_ATM_ENI_TUNE_BURST is not set CONFIG_ATM_FIRESTREAM=m # CONFIG_ATM_ZATM is not set CONFIG_ATM_NICSTAR=m # CONFIG_ATM_NICSTAR_USE_SUNI is not set # CONFIG_ATM_NICSTAR_USE_IDT77105 is not set CONFIG_ATM_IDT77252=m # CONFIG_ATM_IDT77252_DEBUG is not set # CONFIG_ATM_IDT77252_RCV_ALL is not set CONFIG_ATM_IDT77252_USE_SUNI=y CONFIG_ATM_AMBASSADOR=m # CONFIG_ATM_AMBASSADOR_DEBUG is not set CONFIG_ATM_HORIZON=m # CONFIG_ATM_HORIZON_DEBUG is not set # CONFIG_ATM_IA is not set CONFIG_ATM_FORE200E_MAYBE=m # CONFIG_ATM_FORE200E_PCA is not set CONFIG_ATM_HE=m # CONFIG_ATM_HE_USE_SUNI is not set CONFIG_FDDI=y # CONFIG_DEFXX is not set CONFIG_SKFP=m # CONFIG_HIPPI is not set CONFIG_PLIP=m CONFIG_PPP=m CONFIG_PPP_MULTILINK=y CONFIG_PPP_FILTER=y CONFIG_PPP_ASYNC=m CONFIG_PPP_SYNC_TTY=m CONFIG_PPP_DEFLATE=m # CONFIG_PPP_BSDCOMP is not set CONFIG_PPP_MPPE=m CONFIG_PPPOE=m CONFIG_PPPOATM=m CONFIG_SLIP=m CONFIG_SLIP_COMPRESSED=y CONFIG_SLHC=m CONFIG_SLIP_SMART=y # CONFIG_SLIP_MODE_SLIP6 is not set CONFIG_NET_FC=y # CONFIG_SHAPER is not set # CONFIG_NETCONSOLE is not set # CONFIG_NETPOLL is not set # CONFIG_NET_POLL_CONTROLLER is not set # # ISDN subsystem # CONFIG_ISDN=m # # Old ISDN4Linux # CONFIG_ISDN_I4L=m CONFIG_ISDN_PPP=y CONFIG_ISDN_PPP_VJ=y CONFIG_ISDN_MPP=y CONFIG_IPPP_FILTER=y # CONFIG_ISDN_PPP_BSDCOMP is not set CONFIG_ISDN_AUDIO=y CONFIG_ISDN_TTY_FAX=y # # ISDN feature submodules # CONFIG_ISDN_DIVERSION=m # # ISDN4Linux hardware drivers # # # Passive cards # CONFIG_ISDN_DRV_HISAX=m # # D-channel protocol features # CONFIG_HISAX_EURO=y CONFIG_DE_AOC=y CONFIG_HISAX_NO_SENDCOMPLETE=y CONFIG_HISAX_NO_LLC=y CONFIG_HISAX_NO_KEYPAD=y CONFIG_HISAX_1TR6=y CONFIG_HISAX_NI1=y CONFIG_HISAX_MAX_CARDS=8 # # HiSax supported cards # # CONFIG_HISAX_16_0 is not set CONFIG_HISAX_16_3=y CONFIG_HISAX_TELESPCI=y CONFIG_HISAX_S0BOX=y # CONFIG_HISAX_AVM_A1 is not set CONFIG_HISAX_FRITZPCI=y CONFIG_HISAX_AVM_A1_PCMCIA=y CONFIG_HISAX_ELSA=y # CONFIG_HISAX_IX1MICROR2 is not set CONFIG_HISAX_DIEHLDIVA=y # CONFIG_HISAX_ASUSCOM is not set # CONFIG_HISAX_TELEINT is not set # CONFIG_HISAX_HFCS is not set CONFIG_HISAX_SEDLBAUER=y # CONFIG_HISAX_SPORTSTER is not set # CONFIG_HISAX_MIC is not set CONFIG_HISAX_NETJET=y CONFIG_HISAX_NETJET_U=y CONFIG_HISAX_NICCY=y # CONFIG_HISAX_ISURF is not set # CONFIG_HISAX_HSTSAPHIR is not set CONFIG_HISAX_BKM_A4T=y CONFIG_HISAX_SCT_QUADRO=y CONFIG_HISAX_GAZEL=y CONFIG_HISAX_HFC_PCI=y CONFIG_HISAX_W6692=y CONFIG_HISAX_HFC_SX=y CONFIG_HISAX_ENTERNOW_PCI=y # CONFIG_HISAX_DEBUG is not set # # HiSax PCMCIA card service modules # CONFIG_HISAX_SEDLBAUER_CS=m CONFIG_HISAX_ELSA_CS=m CONFIG_HISAX_AVM_A1_CS=m CONFIG_HISAX_TELES_CS=m # # HiSax sub driver modules # CONFIG_HISAX_ST5481=m # CONFIG_HISAX_HFCUSB is not set CONFIG_HISAX_HFC4S8S=m CONFIG_HISAX_FRITZ_PCIPNP=m CONFIG_HISAX_HDLC=y # # Active cards # # CONFIG_ISDN_DRV_ICN is not set # CONFIG_ISDN_DRV_PCBIT is not set # CONFIG_ISDN_DRV_SC is not set # CONFIG_ISDN_DRV_ACT2000 is not set # # Siemens Gigaset # CONFIG_ISDN_DRV_GIGASET=m CONFIG_GIGASET_BASE=m CONFIG_GIGASET_M105=m # CONFIG_GIGASET_M101 is not set # CONFIG_GIGASET_DEBUG is not set # CONFIG_GIGASET_UNDOCREQ is not set # # CAPI subsystem # CONFIG_ISDN_CAPI=m CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y CONFIG_ISDN_CAPI_MIDDLEWARE=y CONFIG_ISDN_CAPI_CAPI20=m CONFIG_ISDN_CAPI_CAPIFS_BOOL=y CONFIG_ISDN_CAPI_CAPIFS=m CONFIG_ISDN_CAPI_CAPIDRV=m # # CAPI hardware drivers # # # Active AVM cards # CONFIG_CAPI_AVM=y # CONFIG_ISDN_DRV_AVMB1_B1ISA is not set CONFIG_ISDN_DRV_AVMB1_B1PCI=m CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y # CONFIG_ISDN_DRV_AVMB1_T1ISA is not set CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m CONFIG_ISDN_DRV_AVMB1_AVM_CS=m CONFIG_ISDN_DRV_AVMB1_T1PCI=m CONFIG_ISDN_DRV_AVMB1_C4=m # # Active Eicon DIVA Server cards # CONFIG_CAPI_EICON=y CONFIG_ISDN_DIVAS=m CONFIG_ISDN_DIVAS_BRIPCI=y CONFIG_ISDN_DIVAS_PRIPCI=y CONFIG_ISDN_DIVAS_DIVACAPI=m CONFIG_ISDN_DIVAS_USERIDI=m CONFIG_ISDN_DIVAS_MAINT=m # # Telephony Support # # CONFIG_PHONE is not set # # Input device support # CONFIG_INPUT=y CONFIG_INPUT_FF_MEMLESS=y # # Userland interfaces # CONFIG_INPUT_MOUSEDEV=y # CONFIG_INPUT_MOUSEDEV_PSAUX is not set CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_JOYDEV=m # CONFIG_INPUT_TSDEV is not set CONFIG_INPUT_EVDEV=y # CONFIG_INPUT_EVBUG is not set # # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y # CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_LKKBD is not set # CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_NEWTON is not set CONFIG_KEYBOARD_STOWAWAY=m CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=y CONFIG_MOUSE_SERIAL=m # CONFIG_MOUSE_INPORT is not set # CONFIG_MOUSE_LOGIBM is not set # CONFIG_MOUSE_PC110PAD is not set CONFIG_MOUSE_VSXXXAA=m CONFIG_INPUT_JOYSTICK=y CONFIG_JOYSTICK_ANALOG=m CONFIG_JOYSTICK_A3D=m CONFIG_JOYSTICK_ADI=m CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m CONFIG_JOYSTICK_GRIP_MP=m CONFIG_JOYSTICK_GUILLEMOT=m CONFIG_JOYSTICK_INTERACT=m CONFIG_JOYSTICK_SIDEWINDER=m CONFIG_JOYSTICK_TMDC=m CONFIG_JOYSTICK_IFORCE=m CONFIG_JOYSTICK_IFORCE_USB=y CONFIG_JOYSTICK_IFORCE_232=y CONFIG_JOYSTICK_WARRIOR=m CONFIG_JOYSTICK_MAGELLAN=m CONFIG_JOYSTICK_SPACEORB=m CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_STINGER=m CONFIG_JOYSTICK_TWIDJOY=m CONFIG_JOYSTICK_DB9=m CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_TURBOGRAFX=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_GUNZE=m CONFIG_TOUCHSCREEN_ELO=m CONFIG_TOUCHSCREEN_MTOUCH=m CONFIG_TOUCHSCREEN_MK712=m CONFIG_TOUCHSCREEN_PENMOUNT=m CONFIG_TOUCHSCREEN_TOUCHRIGHT=m CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_UCB1400=m CONFIG_INPUT_MISC=y CONFIG_INPUT_PCSPKR=m CONFIG_INPUT_WISTRON_BTNS=m # CONFIG_INPUT_ATLAS_BTNS is not set CONFIG_INPUT_UINPUT=m # # Hardware I/O ports # CONFIG_SERIO=y CONFIG_SERIO_I8042=y CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_CT82C710 is not set # CONFIG_SERIO_PARKBD is not set # CONFIG_SERIO_PCIPS2 is not set CONFIG_SERIO_LIBPS2=y CONFIG_SERIO_RAW=m CONFIG_GAMEPORT=m CONFIG_GAMEPORT_NS558=m CONFIG_GAMEPORT_L4=m CONFIG_GAMEPORT_EMU10K1=m CONFIG_GAMEPORT_FM801=m # # Character devices # CONFIG_VT=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_SERIAL_NONSTANDARD=y # CONFIG_COMPUTONE is not set # CONFIG_ROCKETPORT is not set CONFIG_CYCLADES=m # CONFIG_CYZ_INTR is not set # CONFIG_DIGIEPCA is not set # CONFIG_ESPSERIAL is not set # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set CONFIG_MOXA_SMARTIO_NEW=m # CONFIG_ISI is not set CONFIG_SYNCLINK=m CONFIG_SYNCLINKMP=m CONFIG_SYNCLINK_GT=m CONFIG_N_HDLC=m # CONFIG_SPECIALIX is not set # CONFIG_SX is not set # CONFIG_RIO is not set # CONFIG_STALDRV is not set # # Serial drivers # CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_PNP=y CONFIG_SERIAL_8250_CS=m CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_RUNTIME_UARTS=4 CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_FOURPORT is not set # CONFIG_SERIAL_8250_ACCENT is not set # CONFIG_SERIAL_8250_BOCA is not set CONFIG_SERIAL_8250_EXAR_ST16C554=m # CONFIG_SERIAL_8250_HUB6 is not set CONFIG_SERIAL_8250_SHARE_IRQ=y CONFIG_SERIAL_8250_DETECT_IRQ=y CONFIG_SERIAL_8250_RSA=y # # Non-8250 serial port support # CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_JSM=m CONFIG_UNIX98_PTYS=y # CONFIG_LEGACY_PTYS is not set CONFIG_PRINTER=m CONFIG_LP_CONSOLE=y CONFIG_PPDEV=m CONFIG_TIPAR=m # # IPMI # CONFIG_IPMI_HANDLER=m # CONFIG_IPMI_PANIC_EVENT is not set CONFIG_IPMI_DEVICE_INTERFACE=m CONFIG_IPMI_SI=m CONFIG_IPMI_WATCHDOG=m CONFIG_IPMI_POWEROFF=m # # Watchdog Cards # CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set # # Watchdog Device Drivers # CONFIG_SOFT_WATCHDOG=m # CONFIG_ACQUIRE_WDT is not set # CONFIG_ADVANTECH_WDT is not set CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m # CONFIG_SC520_WDT is not set # CONFIG_EUROTECH_WDT is not set # CONFIG_IB700_WDT is not set CONFIG_IBMASR=m # CONFIG_WAFER_WDT is not set CONFIG_I6300ESB_WDT=m CONFIG_I8XX_TCO=m CONFIG_ITCO_WDT=m CONFIG_ITCO_VENDOR_SUPPORT=y # CONFIG_SC1200_WDT is not set CONFIG_PC87413_WDT=m # CONFIG_60XX_WDT is not set # CONFIG_SBC8360_WDT is not set # CONFIG_CPU5_WDT is not set # CONFIG_SMSC37B787_WDT is not set CONFIG_W83627HF_WDT=m CONFIG_W83697HF_WDT=m CONFIG_W83877F_WDT=m CONFIG_W83977F_WDT=m CONFIG_MACHZ_WDT=m # CONFIG_SBC_EPX_C3_WATCHDOG is not set # # ISA-based Watchdog Cards # # CONFIG_PCWATCHDOG is not set # CONFIG_MIXCOMWD is not set # CONFIG_WDT is not set # # PCI-based Watchdog Cards # CONFIG_PCIPCWATCHDOG=m CONFIG_WDTPCI=m CONFIG_WDT_501_PCI=y # # USB-based Watchdog Cards # CONFIG_USBPCWATCHDOG=m CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_AMD=m CONFIG_HW_RANDOM_GEODE=m CONFIG_HW_RANDOM_VIA=m CONFIG_NVRAM=y CONFIG_RTC=y CONFIG_DTLK=m CONFIG_R3964=m # CONFIG_APPLICOM is not set CONFIG_SONYPI=m CONFIG_AGP=y CONFIG_AGP_ALI=y CONFIG_AGP_ATI=y CONFIG_AGP_AMD=y CONFIG_AGP_AMD64=y CONFIG_AGP_INTEL=y CONFIG_AGP_NVIDIA=y CONFIG_AGP_SIS=y CONFIG_AGP_SWORKS=y CONFIG_AGP_VIA=y CONFIG_AGP_EFFICEON=y CONFIG_DRM=m CONFIG_DRM_TDFX=m CONFIG_DRM_R128=m CONFIG_DRM_RADEON=m CONFIG_DRM_I810=m CONFIG_DRM_I830=m CONFIG_DRM_I915=m CONFIG_DRM_MGA=m CONFIG_DRM_SIS=m CONFIG_DRM_VIA=m CONFIG_DRM_SAVAGE=m # # PCMCIA character devices # # CONFIG_SYNCLINK_CS is not set CONFIG_CARDMAN_4000=m CONFIG_CARDMAN_4040=m CONFIG_MWAVE=m CONFIG_PC8736x_GPIO=m CONFIG_NSC_GPIO=m CONFIG_CS5535_GPIO=m # CONFIG_RAW_DRIVER is not set CONFIG_HPET=y # CONFIG_HPET_RTC_IRQ is not set # CONFIG_HPET_MMAP is not set CONFIG_HANGCHECK_TIMER=m # # TPM devices # CONFIG_TCG_TPM=m CONFIG_TCG_TIS=m CONFIG_TCG_NSC=m CONFIG_TCG_ATMEL=m CONFIG_TCG_INFINEON=m # CONFIG_TELCLOCK is not set # # I2C support # CONFIG_I2C=m CONFIG_I2C_CHARDEV=m # # I2C Algorithms # CONFIG_I2C_ALGOBIT=m CONFIG_I2C_ALGOPCF=m CONFIG_I2C_ALGOPCA=m # # I2C Hardware Bus support # CONFIG_I2C_ALI1535=m CONFIG_I2C_ALI1563=m CONFIG_I2C_ALI15X3=m CONFIG_I2C_AMD756=m CONFIG_I2C_AMD756_S4882=m CONFIG_I2C_AMD8111=m CONFIG_I2C_I801=m CONFIG_I2C_I810=m CONFIG_I2C_PIIX4=m CONFIG_I2C_ISA=m CONFIG_I2C_NFORCE2=m # CONFIG_I2C_OCORES is not set CONFIG_I2C_PARPORT=m CONFIG_I2C_PARPORT_LIGHT=m # CONFIG_I2C_PASEMI is not set CONFIG_I2C_PROSAVAGE=m CONFIG_I2C_SAVAGE4=m # CONFIG_SCx200_ACB is not set CONFIG_I2C_SIS5595=m CONFIG_I2C_SIS630=m CONFIG_I2C_SIS96X=m CONFIG_I2C_STUB=m CONFIG_I2C_VIA=m CONFIG_I2C_VIAPRO=m CONFIG_I2C_VOODOO3=m CONFIG_I2C_PCA_ISA=m # # Miscellaneous I2C Chip support # CONFIG_SENSORS_DS1337=m CONFIG_SENSORS_DS1374=m CONFIG_SENSORS_EEPROM=m CONFIG_SENSORS_PCF8574=m CONFIG_SENSORS_PCA9539=m CONFIG_SENSORS_PCF8591=m CONFIG_SENSORS_MAX6875=m # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CHIP is not set # # SPI support # # CONFIG_SPI is not set # CONFIG_SPI_MASTER is not set # # Dallas's 1-wire bus # CONFIG_W1=m CONFIG_W1_CON=y # # 1-wire Bus Masters # CONFIG_W1_MASTER_MATROX=m CONFIG_W1_MASTER_DS2490=m CONFIG_W1_MASTER_DS2482=m # # 1-wire Slaves # CONFIG_W1_SLAVE_THERM=m CONFIG_W1_SLAVE_SMEM=m CONFIG_W1_SLAVE_DS2433=m CONFIG_W1_SLAVE_DS2433_CRC=y # # Hardware Monitoring support # CONFIG_HWMON=m CONFIG_HWMON_VID=m CONFIG_SENSORS_ABITUGURU=m CONFIG_SENSORS_ADM1021=m CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m # CONFIG_SENSORS_ADM1029 is not set CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_K8TEMP=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_F71805F=m CONFIG_SENSORS_FSCHER=m CONFIG_SENSORS_FSCPOS=m CONFIG_SENSORS_GL518SM=m CONFIG_SENSORS_GL520SM=m CONFIG_SENSORS_IT87=m CONFIG_SENSORS_LM63=m CONFIG_SENSORS_LM75=m CONFIG_SENSORS_LM77=m CONFIG_SENSORS_LM78=m CONFIG_SENSORS_LM80=m CONFIG_SENSORS_LM83=m CONFIG_SENSORS_LM85=m CONFIG_SENSORS_LM87=m CONFIG_SENSORS_LM90=m CONFIG_SENSORS_LM92=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_PC87360=m CONFIG_SENSORS_PC87427=m CONFIG_SENSORS_SIS5595=m CONFIG_SENSORS_SMSC47M1=m CONFIG_SENSORS_SMSC47M192=m CONFIG_SENSORS_SMSC47B397=m CONFIG_SENSORS_VIA686A=m CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m CONFIG_SENSORS_W83793=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83627HF=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_HDAPS=m # CONFIG_HWMON_DEBUG_CHIP is not set # # Multifunction device drivers # # CONFIG_MFD_SM501 is not set # # Multimedia devices # CONFIG_VIDEO_DEV=m CONFIG_VIDEO_V4L1=y CONFIG_VIDEO_V4L1_COMPAT=y CONFIG_VIDEO_V4L2=y # # Video Capture Adapters # # # Video Capture Adapters # # CONFIG_VIDEO_ADV_DEBUG is not set CONFIG_VIDEO_HELPER_CHIPS_AUTO=y CONFIG_VIDEO_TVAUDIO=m CONFIG_VIDEO_TDA7432=m CONFIG_VIDEO_TDA9840=m CONFIG_VIDEO_TDA9875=m CONFIG_VIDEO_TEA6415C=m CONFIG_VIDEO_TEA6420=m CONFIG_VIDEO_MSP3400=m CONFIG_VIDEO_WM8775=m CONFIG_VIDEO_BT819=m CONFIG_VIDEO_BT856=m CONFIG_VIDEO_KS0127=m CONFIG_VIDEO_OV7670=m CONFIG_VIDEO_SAA7110=m CONFIG_VIDEO_SAA7111=m CONFIG_VIDEO_SAA7114=m CONFIG_VIDEO_SAA711X=m CONFIG_VIDEO_TVP5150=m CONFIG_VIDEO_VPX3220=m CONFIG_VIDEO_CX25840=m CONFIG_VIDEO_CX2341X=m CONFIG_VIDEO_SAA7185=m CONFIG_VIDEO_ADV7170=m CONFIG_VIDEO_ADV7175=m # CONFIG_VIDEO_VIVI is not set CONFIG_VIDEO_BT848=m CONFIG_VIDEO_BT848_DVB=y CONFIG_VIDEO_SAA6588=m # CONFIG_VIDEO_PMS is not set CONFIG_VIDEO_BWQCAM=m CONFIG_VIDEO_CQCAM=m CONFIG_VIDEO_W9966=m CONFIG_VIDEO_CPIA=m CONFIG_VIDEO_CPIA_PP=m CONFIG_VIDEO_CPIA_USB=m CONFIG_VIDEO_CPIA2=m CONFIG_VIDEO_SAA5246A=m CONFIG_VIDEO_SAA5249=m CONFIG_TUNER_3036=m CONFIG_VIDEO_STRADIS=m CONFIG_VIDEO_ZORAN_ZR36060=m CONFIG_VIDEO_ZORAN=m CONFIG_VIDEO_ZORAN_BUZ=m CONFIG_VIDEO_ZORAN_DC10=m CONFIG_VIDEO_ZORAN_DC30=m CONFIG_VIDEO_ZORAN_LML33=m CONFIG_VIDEO_ZORAN_LML33R10=m CONFIG_VIDEO_ZORAN_AVS6EYES=m CONFIG_VIDEO_MEYE=m CONFIG_VIDEO_SAA7134=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m CONFIG_VIDEO_MXB=m CONFIG_VIDEO_DPC=m CONFIG_VIDEO_HEXIUM_ORION=m CONFIG_VIDEO_HEXIUM_GEMINI=m CONFIG_VIDEO_CX88=m CONFIG_VIDEO_CX88_ALSA=m CONFIG_VIDEO_CX88_BLACKBIRD=m CONFIG_VIDEO_CX88_DVB=m CONFIG_VIDEO_CX88_VP3054=m CONFIG_VIDEO_CAFE_CCIC=m # # V4L USB devices # CONFIG_VIDEO_PVRUSB2=m # CONFIG_VIDEO_PVRUSB2_29XXX is not set CONFIG_VIDEO_PVRUSB2_24XXX=y CONFIG_VIDEO_PVRUSB2_SYSFS=y # CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set CONFIG_VIDEO_EM28XX=m CONFIG_VIDEO_USBVISION=m CONFIG_VIDEO_USBVIDEO=m CONFIG_USB_VICAM=m CONFIG_USB_IBMCAM=m CONFIG_USB_KONICAWC=m CONFIG_USB_QUICKCAM_MESSENGER=m CONFIG_USB_ET61X251=m CONFIG_VIDEO_OVCAMCHIP=m CONFIG_USB_W9968CF=m CONFIG_USB_OV511=m CONFIG_USB_SE401=m CONFIG_USB_SN9C102=m CONFIG_USB_STV680=m CONFIG_USB_ZC0301=m CONFIG_USB_PWC=m # CONFIG_USB_PWC_DEBUG is not set # # Radio Adapters # # CONFIG_RADIO_CADET is not set # CONFIG_RADIO_RTRACK is not set # CONFIG_RADIO_RTRACK2 is not set # CONFIG_RADIO_AZTECH is not set # CONFIG_RADIO_GEMTEK is not set CONFIG_RADIO_GEMTEK_PCI=m CONFIG_RADIO_MAXIRADIO=m CONFIG_RADIO_MAESTRO=m # CONFIG_RADIO_SF16FMI is not set # CONFIG_RADIO_SF16FMR2 is not set # CONFIG_RADIO_TERRATEC is not set # CONFIG_RADIO_TRUST is not set # CONFIG_RADIO_TYPHOON is not set # CONFIG_RADIO_ZOLTRIX is not set CONFIG_USB_DSBR=m # # Digital Video Broadcasting Devices # CONFIG_DVB=y CONFIG_DVB_CORE=m # CONFIG_DVB_CORE_ATTACH is not set # # Supported SAA7146 based PCI Adapters # CONFIG_DVB_AV7110=m CONFIG_DVB_AV7110_OSD=y CONFIG_DVB_BUDGET=m CONFIG_DVB_BUDGET_CI=m CONFIG_DVB_BUDGET_AV=m CONFIG_DVB_BUDGET_PATCH=m # # Supported USB Adapters # CONFIG_DVB_USB=m # CONFIG_DVB_USB_DEBUG is not set CONFIG_DVB_USB_A800=m CONFIG_DVB_USB_DIBUSB_MB=m # CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set CONFIG_DVB_USB_DIBUSB_MC=m CONFIG_DVB_USB_DIB0700=m CONFIG_DVB_USB_UMT_010=m CONFIG_DVB_USB_CXUSB=m # CONFIG_DVB_USB_M920X is not set # CONFIG_DVB_USB_GL861 is not set # CONFIG_DVB_USB_AU6610 is not set CONFIG_DVB_USB_DIGITV=m CONFIG_DVB_USB_VP7045=m CONFIG_DVB_USB_VP702X=m CONFIG_DVB_USB_GP8PSK=m CONFIG_DVB_USB_NOVA_T_USB2=m CONFIG_DVB_USB_TTUSB2=m CONFIG_DVB_USB_DTT200U=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m CONFIG_DVB_CINERGYT2=m CONFIG_DVB_CINERGYT2_TUNING=y CONFIG_DVB_CINERGYT2_STREAM_URB_COUNT=32 CONFIG_DVB_CINERGYT2_STREAM_BUF_SIZE=512 CONFIG_DVB_CINERGYT2_QUERY_INTERVAL=250 CONFIG_DVB_CINERGYT2_ENABLE_RC_INPUT_DEVICE=y CONFIG_DVB_CINERGYT2_RC_QUERY_INTERVAL=100 # # Supported FlexCopII (B2C2) Adapters # CONFIG_DVB_B2C2_FLEXCOP=m CONFIG_DVB_B2C2_FLEXCOP_PCI=m CONFIG_DVB_B2C2_FLEXCOP_USB=m # CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set # # Supported BT878 Adapters # CONFIG_DVB_BT8XX=m # # Supported Pluto2 Adapters # CONFIG_DVB_PLUTO2=m # # Supported DVB Frontends # # # Customise DVB Frontends # # CONFIG_DVB_FE_CUSTOMISE is not set # # DVB-S (satellite) frontends # CONFIG_DVB_STV0299=m CONFIG_DVB_CX24110=m CONFIG_DVB_CX24123=m CONFIG_DVB_TDA8083=m CONFIG_DVB_MT312=m CONFIG_DVB_VES1X93=m CONFIG_DVB_S5H1420=m CONFIG_DVB_TDA10086=m # # DVB-T (terrestrial) frontends # CONFIG_DVB_SP8870=m CONFIG_DVB_SP887X=m CONFIG_DVB_CX22700=m CONFIG_DVB_CX22702=m CONFIG_DVB_L64781=m CONFIG_DVB_TDA1004X=m CONFIG_DVB_NXT6000=m CONFIG_DVB_MT352=m CONFIG_DVB_ZL10353=m CONFIG_DVB_DIB3000MB=m CONFIG_DVB_DIB3000MC=m CONFIG_DVB_DIB7000M=m CONFIG_DVB_DIB7000P=m # # DVB-C (cable) frontends # CONFIG_DVB_VES1820=m CONFIG_DVB_TDA10021=m CONFIG_DVB_STV0297=m # # ATSC (North American/Korean Terrestrial/Cable DTV) frontends # CONFIG_DVB_NXT200X=m CONFIG_DVB_OR51211=m CONFIG_DVB_OR51132=m CONFIG_DVB_BCM3510=m CONFIG_DVB_LGDT330X=m # # Tuners/PLL support # CONFIG_DVB_PLL=m CONFIG_DVB_TDA826X=m # CONFIG_DVB_TUNER_QT1010 is not set CONFIG_DVB_TUNER_MT2060=m CONFIG_DVB_TUNER_LGH06XF=m # # Miscellaneous devices # CONFIG_DVB_LNBP21=m CONFIG_DVB_ISL6421=m CONFIG_DVB_TUA6100=m CONFIG_VIDEO_SAA7146=m CONFIG_VIDEO_SAA7146_VV=m CONFIG_VIDEO_TUNER=m CONFIG_VIDEO_BUF=m CONFIG_VIDEO_BUF_DVB=m CONFIG_VIDEO_BTCX=m CONFIG_VIDEO_IR=m CONFIG_VIDEO_TVEEPROM=m CONFIG_USB_DABUSB=m # # Graphics support # CONFIG_BACKLIGHT_LCD_SUPPORT=y CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_LCD_CLASS_DEVICE=m # CONFIG_BACKLIGHT_PROGEAR is not set CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set CONFIG_FB_DDC=m CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y # CONFIG_FB_SVGALIB is not set # CONFIG_FB_MACMODES is not set CONFIG_FB_BACKLIGHT=y CONFIG_FB_MODE_HELPERS=y CONFIG_FB_TILEBLITTING=y # # Frambuffer hardware drivers # CONFIG_FB_CIRRUS=m # CONFIG_FB_PM2 is not set # CONFIG_FB_CYBER2000 is not set # CONFIG_FB_ARC is not set # CONFIG_FB_ASILIANT is not set # CONFIG_FB_IMSTT is not set CONFIG_FB_VGA16=m CONFIG_FB_VESA=y # CONFIG_FB_IMAC is not set # CONFIG_FB_HGA is not set # CONFIG_FB_S1D13XXX is not set CONFIG_FB_NVIDIA=m CONFIG_FB_NVIDIA_I2C=y CONFIG_FB_NVIDIA_BACKLIGHT=y CONFIG_FB_RIVA=m # CONFIG_FB_RIVA_I2C is not set # CONFIG_FB_RIVA_DEBUG is not set CONFIG_FB_RIVA_BACKLIGHT=y CONFIG_FB_I810=m CONFIG_FB_I810_GTF=y CONFIG_FB_I810_I2C=y CONFIG_FB_INTEL=m # CONFIG_FB_INTEL_DEBUG is not set CONFIG_FB_INTEL_I2C=y CONFIG_FB_MATROX=m CONFIG_FB_MATROX_MILLENIUM=y CONFIG_FB_MATROX_MYSTIQUE=y CONFIG_FB_MATROX_G=y CONFIG_FB_MATROX_I2C=m CONFIG_FB_MATROX_MAVEN=m CONFIG_FB_MATROX_MULTIHEAD=y CONFIG_FB_RADEON=m CONFIG_FB_RADEON_I2C=y CONFIG_FB_RADEON_BACKLIGHT=y # CONFIG_FB_RADEON_DEBUG is not set CONFIG_FB_ATY128=m CONFIG_FB_ATY128_BACKLIGHT=y CONFIG_FB_ATY=m CONFIG_FB_ATY_CT=y CONFIG_FB_ATY_GENERIC_LCD=y CONFIG_FB_ATY_GX=y CONFIG_FB_ATY_BACKLIGHT=y # CONFIG_FB_S3 is not set CONFIG_FB_SAVAGE=m CONFIG_FB_SAVAGE_I2C=y CONFIG_FB_SAVAGE_ACCEL=y # CONFIG_FB_SIS is not set CONFIG_FB_NEOMAGIC=m CONFIG_FB_KYRO=m CONFIG_FB_3DFX=m CONFIG_FB_3DFX_ACCEL=y CONFIG_FB_VOODOO1=m CONFIG_FB_CYBLA=m CONFIG_FB_TRIDENT=m CONFIG_FB_TRIDENT_ACCEL=y # CONFIG_FB_GEODE is not set # CONFIG_FB_VIRTUAL is not set # # Console display driver support # CONFIG_VGA_CONSOLE=y CONFIG_VGACON_SOFT_SCROLLBACK=y CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64 CONFIG_VIDEO_SELECT=y # CONFIG_MDA_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y # CONFIG_FONTS is not set CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y # # Logo configuration # CONFIG_LOGO=y # CONFIG_LOGO_LINUX_MONO is not set # CONFIG_LOGO_LINUX_VGA16 is not set CONFIG_LOGO_LINUX_CLUT224=y # # Sound # CONFIG_SOUND=m # # Advanced Linux Sound Architecture # CONFIG_SND=m CONFIG_SND_TIMER=m CONFIG_SND_PCM=m CONFIG_SND_HWDEP=m CONFIG_SND_RAWMIDI=m CONFIG_SND_SEQUENCER=m CONFIG_SND_SEQ_DUMMY=m CONFIG_SND_OSSEMUL=y CONFIG_SND_MIXER_OSS=m CONFIG_SND_PCM_OSS=m CONFIG_SND_PCM_OSS_PLUGINS=y CONFIG_SND_SEQUENCER_OSS=y CONFIG_SND_RTCTIMER=m CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y CONFIG_SND_DYNAMIC_MINORS=y # CONFIG_SND_SUPPORT_OLD_API is not set CONFIG_SND_VERBOSE_PROCFS=y # CONFIG_SND_VERBOSE_PRINTK is not set # CONFIG_SND_DEBUG is not set # # Generic devices # CONFIG_SND_MPU401_UART=m CONFIG_SND_OPL3_LIB=m CONFIG_SND_OPL4_LIB=m CONFIG_SND_VX_LIB=m CONFIG_SND_AC97_CODEC=m CONFIG_SND_DUMMY=m CONFIG_SND_VIRMIDI=m CONFIG_SND_MTPAV=m CONFIG_SND_MTS64=m # CONFIG_SND_SERIAL_U16550 is not set CONFIG_SND_MPU401=m # CONFIG_SND_PORTMAN2X4 is not set # # ISA devices # CONFIG_SND_CS4231_LIB=m CONFIG_SND_ADLIB=m # CONFIG_SND_AD1816A is not set # CONFIG_SND_AD1848 is not set # CONFIG_SND_ALS100 is not set # CONFIG_SND_AZT2320 is not set # CONFIG_SND_CMI8330 is not set # CONFIG_SND_CS4231 is not set # CONFIG_SND_CS4232 is not set CONFIG_SND_CS4236=m # CONFIG_SND_DT019X is not set # CONFIG_SND_ES968 is not set # CONFIG_SND_ES1688 is not set CONFIG_SND_ES18XX=m # CONFIG_SND_GUSCLASSIC is not set # CONFIG_SND_GUSEXTREME is not set # CONFIG_SND_GUSMAX is not set # CONFIG_SND_INTERWAVE is not set # CONFIG_SND_INTERWAVE_STB is not set CONFIG_SND_OPL3SA2=m # CONFIG_SND_OPTI92X_AD1848 is not set # CONFIG_SND_OPTI92X_CS4231 is not set # CONFIG_SND_OPTI93X is not set CONFIG_SND_MIRO=m # CONFIG_SND_SB8 is not set CONFIG_SND_SB16=m CONFIG_SND_SBAWE=m # CONFIG_SND_SB16_CSP is not set # CONFIG_SND_SGALAXY is not set # CONFIG_SND_SSCAPE is not set # CONFIG_SND_WAVEFRONT is not set # # PCI devices # CONFIG_SND_AD1889=m CONFIG_SND_ALS300=m CONFIG_SND_ALS4000=m CONFIG_SND_ALI5451=m CONFIG_SND_ATIIXP=m CONFIG_SND_ATIIXP_MODEM=m CONFIG_SND_AU8810=m CONFIG_SND_AU8820=m CONFIG_SND_AU8830=m CONFIG_SND_AZT3328=m CONFIG_SND_BT87X=m # CONFIG_SND_BT87X_OVERCLOCK is not set CONFIG_SND_CA0106=m CONFIG_SND_CMIPCI=m CONFIG_SND_CS4281=m CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y CONFIG_SND_CS5535AUDIO=m CONFIG_SND_DARLA20=m CONFIG_SND_GINA20=m CONFIG_SND_LAYLA20=m CONFIG_SND_DARLA24=m CONFIG_SND_GINA24=m CONFIG_SND_LAYLA24=m CONFIG_SND_MONA=m CONFIG_SND_MIA=m CONFIG_SND_ECHO3G=m CONFIG_SND_INDIGO=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGODJ=m CONFIG_SND_EMU10K1=m CONFIG_SND_EMU10K1X=m CONFIG_SND_ENS1370=m CONFIG_SND_ENS1371=m CONFIG_SND_ES1938=m CONFIG_SND_ES1968=m CONFIG_SND_FM801=m CONFIG_SND_FM801_TEA575X_BOOL=y CONFIG_SND_FM801_TEA575X=m CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m CONFIG_SND_INTEL8X0=m CONFIG_SND_INTEL8X0M=m CONFIG_SND_KORG1212=m CONFIG_SND_MAESTRO3=m CONFIG_SND_MIXART=m CONFIG_SND_NM256=m CONFIG_SND_PCXHR=m CONFIG_SND_RIPTIDE=m CONFIG_SND_RME32=m CONFIG_SND_RME96=m CONFIG_SND_RME9652=m CONFIG_SND_SONICVIBES=m CONFIG_SND_TRIDENT=m CONFIG_SND_VIA82XX=m CONFIG_SND_VIA82XX_MODEM=m CONFIG_SND_VX222=m CONFIG_SND_YMFPCI=m CONFIG_SND_AC97_POWER_SAVE=y # # USB devices # CONFIG_SND_USB_AUDIO=m CONFIG_SND_USB_USX2Y=m # # PCMCIA devices # # CONFIG_SND_VXPOCKET is not set # CONFIG_SND_PDAUDIOCF is not set # # SoC audio support # # CONFIG_SND_SOC is not set # # Open Sound System # # CONFIG_SOUND_PRIME is not set CONFIG_AC97_BUS=m # # HID Devices # CONFIG_HID=m # CONFIG_HID_DEBUG is not set # # USB support # CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB_ARCH_HAS_OHCI=y CONFIG_USB_ARCH_HAS_EHCI=y CONFIG_USB=y # CONFIG_USB_DEBUG is not set # # Miscellaneous USB options # CONFIG_USB_DEVICEFS=y # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_SUSPEND is not set # CONFIG_USB_OTG is not set # # USB Host Controller Drivers # CONFIG_USB_EHCI_HCD=m CONFIG_USB_EHCI_SPLIT_ISO=y CONFIG_USB_EHCI_ROOT_HUB_TT=y CONFIG_USB_EHCI_TT_NEWSCHED=y # CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set CONFIG_USB_ISP116X_HCD=m CONFIG_USB_OHCI_HCD=m # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_UHCI_HCD=m CONFIG_USB_U132_HCD=m CONFIG_USB_SL811_HCD=m CONFIG_USB_SL811_CS=m # # USB Device Class drivers # CONFIG_USB_ACM=m CONFIG_USB_PRINTER=m # # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' # # # may also be needed; see USB_STORAGE Help for more information # CONFIG_USB_STORAGE=m # CONFIG_USB_STORAGE_DEBUG is not set CONFIG_USB_STORAGE_DATAFAB=y CONFIG_USB_STORAGE_FREECOM=y CONFIG_USB_STORAGE_ISD200=y CONFIG_USB_STORAGE_DPCM=y CONFIG_USB_STORAGE_USBAT=y CONFIG_USB_STORAGE_SDDR09=y CONFIG_USB_STORAGE_SDDR55=y CONFIG_USB_STORAGE_JUMPSHOT=y CONFIG_USB_STORAGE_ALAUDA=y CONFIG_USB_STORAGE_KARMA=y CONFIG_USB_LIBUSUAL=y # # USB Input Devices # CONFIG_USB_HID=m # CONFIG_USB_HIDINPUT_POWERBOOK is not set CONFIG_HID_FF=y CONFIG_HID_PID=y CONFIG_LOGITECH_FF=y # CONFIG_PANTHERLORD_FF is not set CONFIG_THRUSTMASTER_FF=y CONFIG_ZEROPLUS_FF=y CONFIG_USB_HIDDEV=y # # USB HID Boot Protocol drivers # CONFIG_USB_KBD=m CONFIG_USB_MOUSE=m CONFIG_USB_AIPTEK=m CONFIG_USB_WACOM=m CONFIG_USB_ACECAD=m CONFIG_USB_KBTAB=m CONFIG_USB_POWERMATE=m CONFIG_USB_TOUCHSCREEN=m CONFIG_USB_TOUCHSCREEN_EGALAX=y CONFIG_USB_TOUCHSCREEN_PANJIT=y CONFIG_USB_TOUCHSCREEN_3M=y CONFIG_USB_TOUCHSCREEN_ITM=y CONFIG_USB_TOUCHSCREEN_ETURBO=y CONFIG_USB_TOUCHSCREEN_GUNZE=y CONFIG_USB_TOUCHSCREEN_DMC_TSC10=y # CONFIG_USB_YEALINK is not set CONFIG_USB_XPAD=m CONFIG_USB_ATI_REMOTE=m CONFIG_USB_ATI_REMOTE2=m CONFIG_USB_KEYSPAN_REMOTE=m CONFIG_USB_APPLETOUCH=m # CONFIG_USB_GTCO is not set # # USB Imaging devices # CONFIG_USB_MDC800=m CONFIG_USB_MICROTEK=m # # USB Network Adapters # CONFIG_USB_CATC=m CONFIG_USB_KAWETH=m CONFIG_USB_PEGASUS=m CONFIG_USB_RTL8150=m CONFIG_USB_USBNET_MII=m CONFIG_USB_USBNET=m CONFIG_USB_NET_AX8817X=m CONFIG_USB_NET_CDCETHER=m # CONFIG_USB_NET_DM9601 is not set CONFIG_USB_NET_GL620A=m CONFIG_USB_NET_NET1080=m CONFIG_USB_NET_PLUSB=m CONFIG_USB_NET_MCS7830=m CONFIG_USB_NET_RNDIS_HOST=m CONFIG_USB_NET_CDC_SUBSET=m CONFIG_USB_ALI_M5632=y CONFIG_USB_AN2720=y CONFIG_USB_BELKIN=y CONFIG_USB_ARMLINUX=y CONFIG_USB_EPSON2888=y # CONFIG_USB_KC2190 is not set CONFIG_USB_NET_ZAURUS=m CONFIG_USB_MON=y # # USB port drivers # CONFIG_USB_USS720=m # # USB Serial Converter support # CONFIG_USB_SERIAL=m CONFIG_USB_SERIAL_GENERIC=y CONFIG_USB_SERIAL_AIRCABLE=m CONFIG_USB_SERIAL_AIRPRIME=m CONFIG_USB_SERIAL_ARK3116=m CONFIG_USB_SERIAL_BELKIN=m CONFIG_USB_SERIAL_WHITEHEAT=m CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m CONFIG_USB_SERIAL_CP2101=m CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m CONFIG_USB_SERIAL_FUNSOFT=m CONFIG_USB_SERIAL_VISOR=m CONFIG_USB_SERIAL_IPAQ=m CONFIG_USB_SERIAL_IR=m CONFIG_USB_SERIAL_EDGEPORT=m CONFIG_USB_SERIAL_EDGEPORT_TI=m CONFIG_USB_SERIAL_GARMIN=m CONFIG_USB_SERIAL_IPW=m CONFIG_USB_SERIAL_KEYSPAN_PDA=m CONFIG_USB_SERIAL_KEYSPAN=m CONFIG_USB_SERIAL_KEYSPAN_MPR=y CONFIG_USB_SERIAL_KEYSPAN_USA28=y CONFIG_USB_SERIAL_KEYSPAN_USA28X=y CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y CONFIG_USB_SERIAL_KEYSPAN_USA19=y CONFIG_USB_SERIAL_KEYSPAN_USA18X=y CONFIG_USB_SERIAL_KEYSPAN_USA19W=y CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y CONFIG_USB_SERIAL_KEYSPAN_USA49W=y CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7840=m CONFIG_USB_SERIAL_NAVMAN=m CONFIG_USB_SERIAL_PL2303=m CONFIG_USB_SERIAL_HP4X=m CONFIG_USB_SERIAL_SAFE=m CONFIG_USB_SERIAL_SAFE_PADDED=y CONFIG_USB_SERIAL_SIERRAWIRELESS=m CONFIG_USB_SERIAL_TI=m CONFIG_USB_SERIAL_CYBERJACK=m CONFIG_USB_SERIAL_XIRCOM=m CONFIG_USB_SERIAL_OPTION=m CONFIG_USB_SERIAL_OMNINET=m CONFIG_USB_SERIAL_DEBUG=m CONFIG_USB_EZUSB=y # # USB Miscellaneous drivers # CONFIG_USB_EMI62=m CONFIG_USB_EMI26=m CONFIG_USB_ADUTUX=m CONFIG_USB_AUERSWALD=m CONFIG_USB_RIO500=m CONFIG_USB_LEGOTOWER=m CONFIG_USB_LCD=m # CONFIG_USB_BERRY_CHARGE is not set CONFIG_USB_LED=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set CONFIG_USB_PHIDGET=m CONFIG_USB_PHIDGETKIT=m CONFIG_USB_PHIDGETMOTORCONTROL=m CONFIG_USB_PHIDGETSERVO=m CONFIG_USB_IDMOUSE=m CONFIG_USB_FTDI_ELAN=m CONFIG_USB_APPLEDISPLAY=m CONFIG_USB_SISUSBVGA=m CONFIG_USB_SISUSBVGA_CON=y CONFIG_USB_LD=m CONFIG_USB_TRANCEVIBRATOR=m # CONFIG_USB_IOWARRIOR is not set CONFIG_USB_TEST=m # # USB DSL modem support # CONFIG_USB_ATM=m CONFIG_USB_SPEEDTOUCH=m CONFIG_USB_CXACRU=m CONFIG_USB_UEAGLEATM=m CONFIG_USB_XUSBATM=m # # USB Gadget Support # # CONFIG_USB_GADGET is not set # # MMC/SD Card support # CONFIG_MMC=m # CONFIG_MMC_DEBUG is not set CONFIG_MMC_BLOCK=m CONFIG_MMC_SDHCI=m CONFIG_MMC_WBSD=m CONFIG_MMC_TIFM_SD=m # # LED devices # CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y # # LED drivers # # # LED Triggers # CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=m CONFIG_LEDS_TRIGGER_IDE_DISK=y CONFIG_LEDS_TRIGGER_HEARTBEAT=m # # InfiniBand support # CONFIG_INFINIBAND=m CONFIG_INFINIBAND_USER_MAD=m CONFIG_INFINIBAND_USER_ACCESS=m CONFIG_INFINIBAND_ADDR_TRANS=y CONFIG_INFINIBAND_MTHCA=m CONFIG_INFINIBAND_MTHCA_DEBUG=y # CONFIG_INFINIBAND_AMSO1100 is not set CONFIG_INFINIBAND_IPOIB=m # CONFIG_INFINIBAND_IPOIB_CM is not set CONFIG_INFINIBAND_IPOIB_DEBUG=y CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y CONFIG_INFINIBAND_SRP=m CONFIG_INFINIBAND_ISER=m # # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) # CONFIG_EDAC=y # # Reporting subsystems # # CONFIG_EDAC_DEBUG is not set CONFIG_EDAC_MM_EDAC=m CONFIG_EDAC_AMD76X=m CONFIG_EDAC_E7XXX=m CONFIG_EDAC_E752X=m CONFIG_EDAC_I82875P=m CONFIG_EDAC_I82860=m CONFIG_EDAC_R82600=m CONFIG_EDAC_POLL=y # # Real Time Clock # CONFIG_RTC_LIB=m CONFIG_RTC_CLASS=m # # RTC interfaces # CONFIG_RTC_INTF_SYSFS=m CONFIG_RTC_INTF_PROC=m CONFIG_RTC_INTF_DEV=m # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set # # RTC drivers # # CONFIG_RTC_DRV_CMOS is not set CONFIG_RTC_DRV_X1205=m CONFIG_RTC_DRV_DS1307=m CONFIG_RTC_DRV_DS1553=m CONFIG_RTC_DRV_ISL1208=m CONFIG_RTC_DRV_DS1672=m CONFIG_RTC_DRV_DS1742=m CONFIG_RTC_DRV_PCF8563=m CONFIG_RTC_DRV_PCF8583=m CONFIG_RTC_DRV_RS5C372=m # CONFIG_RTC_DRV_M48T86 is not set # CONFIG_RTC_DRV_TEST is not set CONFIG_RTC_DRV_V3020=m # # DMA Engine support # CONFIG_DMA_ENGINE=y # # DMA Clients # CONFIG_NET_DMA=y # # DMA Devices # CONFIG_INTEL_IOATDMA=m # # Auxiliary Display support # # CONFIG_KS0108 is not set # # Virtualization # CONFIG_KVM=y CONFIG_KVM_INTEL=y CONFIG_KVM_AMD=y # # File systems # CONFIG_EXT2_FS=y CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT2_FS_SECURITY=y CONFIG_EXT2_FS_XIP=y CONFIG_FS_XIP=y CONFIG_EXT3_FS=y CONFIG_EXT3_FS_XATTR=y CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT3_FS_SECURITY=y # CONFIG_EXT4DEV_FS is not set CONFIG_JBD=y # CONFIG_JBD_DEBUG is not set CONFIG_FS_MBCACHE=y CONFIG_REISERFS_FS=m # CONFIG_REISERFS_CHECK is not set CONFIG_REISERFS_PROC_INFO=y CONFIG_REISERFS_FS_XATTR=y CONFIG_REISERFS_FS_POSIX_ACL=y CONFIG_REISERFS_FS_SECURITY=y CONFIG_JFS_FS=m CONFIG_JFS_POSIX_ACL=y CONFIG_JFS_SECURITY=y # CONFIG_JFS_DEBUG is not set # CONFIG_JFS_STATISTICS is not set CONFIG_FS_POSIX_ACL=y CONFIG_XFS_FS=m CONFIG_XFS_QUOTA=y CONFIG_XFS_SECURITY=y CONFIG_XFS_POSIX_ACL=y # CONFIG_XFS_RT is not set CONFIG_GFS2_FS=m CONFIG_GFS2_FS_LOCKING_NOLOCK=m CONFIG_GFS2_FS_LOCKING_DLM=m CONFIG_OCFS2_FS=m # CONFIG_OCFS2_DEBUG_MASKLOG is not set CONFIG_MINIX_FS=m CONFIG_ROMFS_FS=m CONFIG_INOTIFY=y CONFIG_INOTIFY_USER=y CONFIG_QUOTA=y # CONFIG_QFMT_V1 is not set CONFIG_QFMT_V2=y CONFIG_QUOTACTL=y CONFIG_DNOTIFY=y CONFIG_AUTOFS_FS=m CONFIG_AUTOFS4_FS=m CONFIG_FUSE_FS=m CONFIG_GENERIC_ACL=y # # CD-ROM/DVD Filesystems # CONFIG_ISO9660_FS=y CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_UDF_FS=m CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems # CONFIG_FAT_FS=m CONFIG_MSDOS_FS=m CONFIG_VFAT_FS=m CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="ascii" # CONFIG_NTFS_FS is not set # # Pseudo filesystems # CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y CONFIG_PROC_SYSCTL=y CONFIG_SYSFS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y CONFIG_RAMFS=y CONFIG_CONFIGFS_FS=m # # Miscellaneous filesystems # # CONFIG_ADFS_FS is not set CONFIG_AFFS_FS=m CONFIG_ECRYPT_FS=m CONFIG_HFS_FS=m CONFIG_HFSPLUS_FS=m CONFIG_BEFS_FS=m # CONFIG_BEFS_DEBUG is not set CONFIG_BFS_FS=m CONFIG_EFS_FS=m CONFIG_JFFS2_FS=m CONFIG_JFFS2_FS_DEBUG=0 CONFIG_JFFS2_FS_WRITEBUFFER=y CONFIG_JFFS2_SUMMARY=y # CONFIG_JFFS2_FS_XATTR is not set # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set CONFIG_JFFS2_ZLIB=y CONFIG_JFFS2_RTIME=y # CONFIG_JFFS2_RUBIN is not set CONFIG_CRAMFS=m CONFIG_VXFS_FS=m # CONFIG_HPFS_FS is not set CONFIG_QNX4FS_FS=m CONFIG_SYSV_FS=m CONFIG_UFS_FS=m # CONFIG_UFS_FS_WRITE is not set # CONFIG_UFS_DEBUG is not set # # Network File Systems # CONFIG_NFS_FS=m CONFIG_NFS_V3=y CONFIG_NFS_V3_ACL=y CONFIG_NFS_V4=y CONFIG_NFS_DIRECTIO=y CONFIG_NFSD=m CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y CONFIG_NFSD_TCP=y CONFIG_LOCKD=m CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=m CONFIG_NFS_ACL_SUPPORT=m CONFIG_NFS_COMMON=y CONFIG_SUNRPC=m CONFIG_SUNRPC_GSS=m CONFIG_RPCSEC_GSS_KRB5=m CONFIG_RPCSEC_GSS_SPKM3=m # CONFIG_SMB_FS is not set CONFIG_CIFS=m # CONFIG_CIFS_STATS is not set CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y # CONFIG_CIFS_DEBUG2 is not set # CONFIG_CIFS_EXPERIMENTAL is not set CONFIG_NCP_FS=m CONFIG_NCPFS_PACKET_SIGNING=y CONFIG_NCPFS_IOCTL_LOCKING=y CONFIG_NCPFS_STRONG=y CONFIG_NCPFS_NFS_NS=y CONFIG_NCPFS_OS2_NS=y CONFIG_NCPFS_SMALLDOS=y CONFIG_NCPFS_NLS=y CONFIG_NCPFS_EXTRAS=y CONFIG_CODA_FS=m # CONFIG_CODA_FS_OLD_API is not set # CONFIG_AFS_FS is not set CONFIG_9P_FS=m # # Partition Types # CONFIG_PARTITION_ADVANCED=y # CONFIG_ACORN_PARTITION is not set CONFIG_OSF_PARTITION=y CONFIG_AMIGA_PARTITION=y # CONFIG_ATARI_PARTITION is not set CONFIG_MAC_PARTITION=y CONFIG_MSDOS_PARTITION=y CONFIG_BSD_DISKLABEL=y CONFIG_MINIX_SUBPARTITION=y CONFIG_SOLARIS_X86_PARTITION=y CONFIG_UNIXWARE_DISKLABEL=y # CONFIG_LDM_PARTITION is not set CONFIG_SGI_PARTITION=y # CONFIG_ULTRIX_PARTITION is not set CONFIG_SUN_PARTITION=y CONFIG_KARMA_PARTITION=y CONFIG_EFI_PARTITION=y # # Native Language Support # CONFIG_NLS=y CONFIG_NLS_DEFAULT="utf8" CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m CONFIG_NLS_CODEPAGE_850=m CONFIG_NLS_CODEPAGE_852=m CONFIG_NLS_CODEPAGE_855=m CONFIG_NLS_CODEPAGE_857=m CONFIG_NLS_CODEPAGE_860=m CONFIG_NLS_CODEPAGE_861=m CONFIG_NLS_CODEPAGE_862=m CONFIG_NLS_CODEPAGE_863=m CONFIG_NLS_CODEPAGE_864=m CONFIG_NLS_CODEPAGE_865=m CONFIG_NLS_CODEPAGE_866=m CONFIG_NLS_CODEPAGE_869=m CONFIG_NLS_CODEPAGE_936=m CONFIG_NLS_CODEPAGE_950=m CONFIG_NLS_CODEPAGE_932=m CONFIG_NLS_CODEPAGE_949=m CONFIG_NLS_CODEPAGE_874=m CONFIG_NLS_ISO8859_8=m CONFIG_NLS_CODEPAGE_1250=m CONFIG_NLS_CODEPAGE_1251=m CONFIG_NLS_ASCII=y CONFIG_NLS_ISO8859_1=m CONFIG_NLS_ISO8859_2=m CONFIG_NLS_ISO8859_3=m CONFIG_NLS_ISO8859_4=m CONFIG_NLS_ISO8859_5=m CONFIG_NLS_ISO8859_6=m CONFIG_NLS_ISO8859_7=m CONFIG_NLS_ISO8859_9=m CONFIG_NLS_ISO8859_13=m CONFIG_NLS_ISO8859_14=m CONFIG_NLS_ISO8859_15=m CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m CONFIG_NLS_UTF8=m # # Distributed Lock Manager # CONFIG_DLM=m CONFIG_DLM_TCP=y # CONFIG_DLM_SCTP is not set CONFIG_DLM_DEBUG=y # # Instrumentation Support # CONFIG_PROFILING=y CONFIG_OPROFILE=m CONFIG_KPROBES=y # # Kernel hacking # CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_PRINTK_TIME=y # CONFIG_ENABLE_MUST_CHECK is not set CONFIG_MAGIC_SYSRQ=y # CONFIG_UNUSED_SYMBOLS is not set CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_SHIRQ is not set CONFIG_LOG_BUF_SHIFT=20 CONFIG_DETECT_SOFTLOCKUP=y CONFIG_SCHEDSTATS=y CONFIG_TIMER_STATS=y CONFIG_DEBUG_SLAB=y CONFIG_DEBUG_SLAB_LEAK=y CONFIG_DEBUG_PREEMPT=y # CONFIG_DEBUG_RT_MUTEXES is not set CONFIG_RT_MUTEX_TESTER=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_MUTEXES=y CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y CONFIG_LOCKDEP=y # CONFIG_DEBUG_LOCKDEP is not set CONFIG_TRACE_IRQFLAGS=y CONFIG_DEBUG_SPINLOCK_SLEEP=y CONFIG_DEBUG_LOCKING_API_SELFTESTS=y CONFIG_STACKTRACE=y # CONFIG_DEBUG_KOBJECT is not set CONFIG_DEBUG_HIGHMEM=y CONFIG_DEBUG_BUGVERBOSE=y CONFIG_DEBUG_INFO=y CONFIG_DEBUG_VM=y CONFIG_DEBUG_LIST=y CONFIG_FRAME_POINTER=y # CONFIG_FORCED_INLINING is not set # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_LKDTM is not set CONFIG_FAULT_INJECTION=y CONFIG_FAILSLAB=y CONFIG_FAIL_PAGE_ALLOC=y CONFIG_FAIL_MAKE_REQUEST=y CONFIG_FAULT_INJECTION_DEBUG_FS=y # CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set CONFIG_EARLY_PRINTK=y # CONFIG_DEBUG_STACKOVERFLOW is not set # CONFIG_DEBUG_STACK_USAGE is not set # # Page alloc debug is incompatible with Software Suspend on i386 # CONFIG_DEBUG_RODATA=y CONFIG_4KSTACKS=y CONFIG_X86_FIND_SMP_CONFIG=y CONFIG_X86_MPPARSE=y CONFIG_DOUBLEFAULT=y # CONFIG_DEBUG_PARAVIRT is not set # # Security options # CONFIG_KEYS=y CONFIG_KEYS_DEBUG_PROC_KEYS=y CONFIG_SECURITY=y CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_NETWORK_XFRM is not set CONFIG_SECURITY_CAPABILITIES=m # CONFIG_SECURITY_ROOTPLUG is not set CONFIG_SECURITY_SELINUX=y CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 CONFIG_SECURITY_SELINUX_DISABLE=y CONFIG_SECURITY_SELINUX_DEVELOP=y CONFIG_SECURITY_SELINUX_AVC_STATS=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 # CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT is not set # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set # # Cryptographic options # CONFIG_CRYPTO=y CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_XCBC=y CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_WP512=y CONFIG_CRYPTO_TGR192=y CONFIG_CRYPTO_GF128MUL=y CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_PCBC=m CONFIG_CRYPTO_LRW=y CONFIG_CRYPTO_DES=y # CONFIG_CRYPTO_FCRYPT is not set CONFIG_CRYPTO_BLOWFISH=y CONFIG_CRYPTO_TWOFISH=y CONFIG_CRYPTO_TWOFISH_COMMON=y # CONFIG_CRYPTO_TWOFISH_586 is not set CONFIG_CRYPTO_SERPENT=y CONFIG_CRYPTO_AES=y # CONFIG_CRYPTO_AES_586 is not set CONFIG_CRYPTO_CAST5=y CONFIG_CRYPTO_CAST6=y CONFIG_CRYPTO_TEA=y CONFIG_CRYPTO_ARC4=y CONFIG_CRYPTO_KHAZAD=y CONFIG_CRYPTO_ANUBIS=y CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_MICHAEL_MIC=y CONFIG_CRYPTO_CRC32C=y # CONFIG_CRYPTO_CAMELLIA is not set # CONFIG_CRYPTO_TEST is not set # # Hardware crypto devices # CONFIG_CRYPTO_DEV_PADLOCK=m CONFIG_CRYPTO_DEV_PADLOCK_AES=m CONFIG_CRYPTO_DEV_PADLOCK_SHA=m CONFIG_CRYPTO_DEV_GEODE=m # # Library routines # CONFIG_BITREVERSE=y CONFIG_CRC_CCITT=y CONFIG_CRC16=y CONFIG_CRC32=y CONFIG_LIBCRC32C=y CONFIG_AUDIT_GENERIC=y CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y CONFIG_REED_SOLOMON=m CONFIG_REED_SOLOMON_DEC16=y CONFIG_TEXTSEARCH=y CONFIG_TEXTSEARCH_KMP=m CONFIG_TEXTSEARCH_BM=m CONFIG_TEXTSEARCH_FSM=m CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y CONFIG_GENERIC_HARDIRQS=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_X86_SMP=y CONFIG_X86_HT=y CONFIG_X86_BIOS_REBOOT=y CONFIG_X86_TRAMPOLINE=y CONFIG_KTIME_SCALAR=y CONFIG_NO_IDLE_HZ=y ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-02 8:04 ` Ingo Molnar 2007-03-02 10:20 ` Ingo Molnar @ 2007-03-05 15:44 ` Michael S. Tsirkin 2007-03-05 16:14 ` Michael S. Tsirkin 2 siblings, 0 replies; 104+ messages in thread From: Michael S. Tsirkin @ 2007-03-05 15:44 UTC (permalink / raw) To: Ingo Molnar Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Andrew Morton, git > Quoting Ingo Molnar <mingo@elte.hu>: > Subject: Re: 2.6.21-rc1: known regressions (part 2) > > > * Ingo Molnar <mingo@elte.hu> wrote: > > > I'll try what i've described in the previous mail: mark all bisection > > points that do not include f3ccb06f as 'good' - thus 'merging' the > > known-bad area with the first known-good commit, and thus eliminating > > it from the bisection space. > > this got me quite a bit further: > > git-bisect start > git-bisect bad 01363220f5d23ef68276db8974e46a502e43d01d > git-bisect good f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 > git-bisect fake-good ee404566f97f9254433399fbbcfa05390c7c55f7 > git-bisect bad d43a338e395371733a80ec473b40baac5f74d768 > git-bisect bad 255f0385c8e0d6b9005c0e09fffb5bd852f3b506 > git-bisect fake-good f99c6bb6e2e9c35bd3dc0b1d0faa28bd6970930d > git-bisect fake-good 0187f221e96e3436d552c0c7143f183eb82fb658 > git-bisect bad 81450b73dde07f473a4a7208b209b4c8b7251d90 > git-bisect fake-good ef29498655b18d2bfd69048e20835d19333981ab > git-bisect fake-good 8a03d9a498eaf02c8a118752050a5154852c13bf > git-bisect good 5c95d3f5783ab184f64b7848f0a871352c35c3cf > git-bisect good ecb5f7521a309cb9c5fc0832b9705cd2a03d7d45 > git-bisect good 0539771d7236b425f285652f6f297cc7939c8f9a I just confirmed that 0539771d7236b425f285652f6f297cc7939c8f9a is good for me, too. > 81450b73dde07f473a4a7208b209b4c8b7251d90 is first bad commit Going to test that now. -- MST ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-02 8:04 ` Ingo Molnar 2007-03-02 10:20 ` Ingo Molnar 2007-03-05 15:44 ` 2.6.21-rc1: known regressions (part 2) Michael S. Tsirkin @ 2007-03-05 16:14 ` Michael S. Tsirkin 2007-03-05 16:41 ` Ingo Molnar 2007-03-05 18:16 ` Jens Axboe 2 siblings, 2 replies; 104+ messages in thread From: Michael S. Tsirkin @ 2007-03-05 16:14 UTC (permalink / raw) To: Ingo Molnar Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Andrew Morton, git > Quoting Ingo Molnar <mingo@elte.hu>: > git-bisect good 0539771d7236b425f285652f6f297cc7939c8f9a > > 81450b73dde07f473a4a7208b209b4c8b7251d90 is first bad commit I have confirmed these two on my system. -- MST ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-05 16:14 ` Michael S. Tsirkin @ 2007-03-05 16:41 ` Ingo Molnar 2007-03-05 18:16 ` Jens Axboe 1 sibling, 0 replies; 104+ messages in thread From: Ingo Molnar @ 2007-03-05 16:41 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Daniel Walker, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Andrew Morton, git * Michael S. Tsirkin <mst@mellanox.co.il> wrote: > > Quoting Ingo Molnar <mingo@elte.hu>: > > git-bisect good 0539771d7236b425f285652f6f297cc7939c8f9a > > > > 81450b73dde07f473a4a7208b209b4c8b7251d90 is first bad commit > > I have confirmed these two on my system. you could probably get quite a bit further in bisecting the other breakage, by using the following method: manully apply the patch below to 81450b73dde and retest. It will most likely work. Then FIRST unapply the patch and mark the tree via 'git-bisect good' and continue the bisection. Then try to apply the patch again. If it's already included - ignore the rejected patch. Whenever git-bisect offers you a new commit, just try to apply the patch. Ok? This way you'll be able to avoid the known ACPI breakage, and zoom in on the unknown breakage. Ingo ----------------> commit f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 Author: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com> Date: Tue Feb 13 02:35:50 2007 -0500 ACPI: Disable wake GPEs only once. fixes Suspend/Resume regressions due to recent ACPICA update. Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@linux.intel.com> Signed-off-by: Len Brown <len.brown@intel.com> diff --git a/drivers/acpi/events/evgpe.c b/drivers/acpi/events/evgpe.c index dfac3ec..635ba44 100644 --- a/drivers/acpi/events/evgpe.c +++ b/drivers/acpi/events/evgpe.c @@ -636,17 +636,6 @@ acpi_ev_gpe_dispatch(struct acpi_gpe_event_info *gpe_event_info, u32 gpe_number) } } - if (!acpi_gbl_system_awake_and_running) { - /* - * We just woke up because of a wake GPE. Disable any further GPEs - * until we are fully up and running (Only wake GPEs should be enabled - * at this time, but we just brute-force disable them all.) - * 1) We must disable this particular wake GPE so it won't fire again - * 2) We want to disable all wake GPEs, since we are now awake - */ - (void)acpi_hw_disable_all_gpes(); - } - /* * Dispatch the GPE to either an installed handler, or the control method * associated with this GPE (_Lxx or _Exx). If a handler exists, we invoke ^ permalink raw reply related [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-05 16:14 ` Michael S. Tsirkin 2007-03-05 16:41 ` Ingo Molnar @ 2007-03-05 18:16 ` Jens Axboe 1 sibling, 0 replies; 104+ messages in thread From: Jens Axboe @ 2007-03-05 18:16 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Ingo Molnar, Linus Torvalds, Pavel Machek, Adrian Bunk, Andrew Morton, Linux Kernel Mailing List, Thomas Gleixner, linux-pm, Michal Piotrowski, Daniel Walker, Len Brown, git [-- Attachment #1: Type: text/plain, Size: 566 bytes --] On Mon, Mar 05 2007, Michael S. Tsirkin wrote: > > Quoting Ingo Molnar <mingo@elte.hu>: > > git-bisect good 0539771d7236b425f285652f6f297cc7939c8f9a > > > > 81450b73dde07f473a4a7208b209b4c8b7251d90 is first bad commit > > I have confirmed these two on my system. BTW, the key here seems to be CONFIG_CC_OPTIMIZE_FOR_SIZE, at least that is my current guess looking at the config options I still need to test whether they make a difference. Either that, or the vmsplit option got broken again. I'm attaching my x60 config that works for me. -- Jens Axboe [-- Attachment #2: .config --] [-- Type: application/x-config, Size: 37392 bytes --] ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-01 10:41 ` Ingo Molnar 2007-03-01 14:52 ` Ingo Molnar @ 2007-03-01 23:36 ` Linus Torvalds 1 sibling, 0 replies; 104+ messages in thread From: Linus Torvalds @ 2007-03-01 23:36 UTC (permalink / raw) To: Ingo Molnar Cc: Daniel Walker, Thomas Gleixner, Michal Piotrowski, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Andrew Morton, linux-pm, Linux Kernel Mailing List, Adrian Bunk On Thu, 1 Mar 2007, Ingo Molnar wrote: > > * Ingo Molnar <mingo@elte.hu> wrote: > > > update: f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 works for me too, and > > 01363220f5d23ef68276db8974e46a502e43d01d is broken. I too will attempt > > to bisect this. > > hm. There's some weird bisection artifact here. Here are the commits i > tested, in git-log order: > > #1 commit 01363220f5d23ef68276db8974e46a502e43d01d bad > #2 commit ee404566f97f9254433399fbbcfa05390c7c55f7 bad > #3 commit f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 good > #4 commit c827ba4cb49a30ce581201fd0ba2be77cde412c7 bad Use "git bisect visualize" to see what bisect ends up doing. > if i tell git-bisect that #1 is bad and #3 is good, then it offers me #2 > - that's OK. But when i tell it that #2 is bad, it offers #4 - which is > out of order! No it's not. "git bisect" does exactly the right thing. There is no simple ordering in a complex branch-merge schenario, you can't just put the commits in some "ordering" and test things in time order. That would be totally broken, and idiotic. It doesn't give the right results. What git bisect does is to find the commit that most closely *bisects* the history of commits, so that if it is marked good/bad, it will leave you with about 50% of the commits left. But if you are looking at date order, you're entirely confused. For example, let's take a really simple case a <- bad / \ b c | | d e | | f g \ / h | * <-good and if you are looking to find something "in the middle", you might thing that "d" or "e" are the best choices, since time-wise, they are in the middle. But that's not true AT ALL. If you actually want to bisect that kind of history, you need to choose "b" or "c", even though they may both be *much* more "recent" than the others. Why? Because if you pick "d", you're really only testing three commits ('d' 'f' and 'h') out of the 8 commits you have to test. In contrast, if you pick 'b', you are testing the effects of *four* commits ('b', 'd', 'f' and 'h') and you have thus neatly bisected the commits into two equal groups for testing (one group _with_ those four commits, and one group _without_) instead of having partitioned them as 3 commits vs 5 commits. So please realize that non-linear history very much means that you MUST NOT think that you just pick a commit "in the middle". No, git bisect is a LOT smarter than that - it picks a commit that *reaches* about half the commits you have left to test. > The bisection goes off into la-la land after that and > never gets back to a commit that is /after/ the good commit. How is this > possible? (I upgraded from git-1.4.4 to 1.5.0 to make sure this isnt > some git bug that's already fixed.) It's possible because git knows what it is doing, and you didn't think things through. The commits that "git bisect" picked out are the right ones. Quite often, there may be two or more "equally good" commits (in my example above, you can choose either "b" or "c", and it will bisect the set of untested commits equally well - in two groups of four, but two *different* groups of four commits), and yes, it's possible that git has a bug that makes it pick the wrong ones, but quite frankly, I seriously doubt it. "git bisect" has been very successful indeed, and is generally a *lot* better at picking a commit "in the middle" than people are, exactly because it's quite hard to see which commit "reaches" half the commits if you have lots of merges and branches. Try out git bisect visualize and it will literally show you what it is doing. What can be confusing is that if the "good" and "bad" markers are ON DIFFERENT BRANCHES OF DEVELOPMENT, you may not even *see* the "good" marker, because you may well have something like this: a <- bad | b * <- good | | c d \ / e | f | ... and what do you think "git bisect visualize" will actually show you? Since 'd', 'e' and 'f' are all in the "good" set (they both exist as commits in something leading up to a commit that has already been deemed fine), they aren't *interesting* - they can't be introducing the bug, since if that was the case, the good commit wouldn't have been good. So as far as bisection is concerned, the tree actually looks like a <- bad | b | c | ... and you have just three commits that are potentially interesting: 'a', 'b' and 'c'. Now, with three commits, you cannot test them half-and-half, so you have to test it in groups of 1 vs 2 commits, so it's arbitrary whether you choose 'b' or 'c' to test, but you'd test one of them. Say that you choose 'b', and it turns out to be good. If so, you're done: 'a' is bad and 'b' is good, so the bug was introduced in 'a'. But if it turns out to be bad, you'll still have to test 'c' too, since you don't know if the bug was *introduced* in 'b' or not. See? > i'll try to straighten this out manually Don't. You're just going to make your bisection much less effective. The whole point of bisection is that you can usually cut the number of commits to test pretty exactly in half. If you start mucking with the commits to test, and you don't understand about the reachability graph, you'll just choose a much worse set of commits to test than "git bisect" will do. So learn to trust "git bisect". It really does know what it is doing. Linus ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-01 9:34 ` Ingo Molnar 2007-03-01 10:41 ` Ingo Molnar @ 2007-03-02 10:07 ` Pavel Machek 2007-03-05 8:42 ` Michael S. Tsirkin 2007-03-05 15:34 ` Michael S. Tsirkin 2 siblings, 1 reply; 104+ messages in thread From: Pavel Machek @ 2007-03-02 10:07 UTC (permalink / raw) To: Ingo Molnar Cc: linux-pm, Daniel Walker, Thomas Gleixner, Michal Piotrowski, Jens Axboe, Michael S. Tsirkin, Andrew Morton, Linus Torvalds, Linux Kernel Mailing List, Adrian Bunk [-- Attachment #1: Type: text/plain, Size: 1384 bytes --] Hi! > * Jens Axboe <jens.axboe@oracle.com> wrote: > > > f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 works for me, [...] > > update: f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 works for me too, and > 01363220f5d23ef68276db8974e46a502e43d01d is broken. I too will attempt > to bisect this. Strange; on my x60, suspend to ram works okay. (Resume is very slow, because disks are not spinned up properly; and there's something wrong with timers; console beeps take way too long). dmesg attached. That's with commit 7b965e0884cee430ffe5dc81cdb117b9316b0549 tree 754dce6432258e0a8c3a758e13a34eb3a1d22ee1 parent 5a39e8c6d655b4fe8305ef8cc2d9bbe782bfee5f author Trond Myklebust <Trond.Myklebust@netapp.com> Wed, 28 Feb 2007 20:13:55 -0800 committer Linus Torvalds <torvalds@woody.linux-foundation.org> Thu, 01 Mar 2007 14:53:39 -0800 [PATCH] VM: invalidate_inode_pages2_range() should not exit early Fix invalidate_inode_pages2_range() so that it does not immediately exit just because a single page in the specified range could not be removed. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html [-- Attachment #2: delme.gz --] [-- Type: application/octet-stream, Size: 10027 bytes --] [-- Attachment #3: delme_config.gz --] [-- Type: application/octet-stream, Size: 14804 bytes --] [-- Attachment #4: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-02 10:07 ` Pavel Machek @ 2007-03-05 8:42 ` Michael S. Tsirkin 2007-03-05 10:11 ` SATA resume slowness, e1000 MSI warning Ingo Molnar 2007-03-09 6:44 ` 2.6.21-rc1: known regressions (part 2) Pavel Machek 0 siblings, 2 replies; 104+ messages in thread From: Michael S. Tsirkin @ 2007-03-05 8:42 UTC (permalink / raw) To: Pavel Machek Cc: Daniel Walker, Michal Piotrowski, Thomas Gleixner, Andrew Morton, Jens Axboe, linux-pm, Ingo Molnar, Linus Torvalds, Linux Kernel Mailing List, Adrian Bunk > Quoting Pavel Machek <pavel@ucw.cz>: > Subject: Re: 2.6.21-rc1: known regressions (part 2) > > Hi! > > > * Jens Axboe <jens.axboe@oracle.com> wrote: > > > > > f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 works for me, [...] > > > > update: f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 works for me too, and > > 01363220f5d23ef68276db8974e46a502e43d01d is broken. I too will attempt > > to bisect this. > > Strange; on my x60, suspend to ram works okay. > > (Resume is very slow, because disks are not spinned up properly; and > there's something wrong with timers; console beeps take way too long). > > dmesg attached. > > That's with > > commit 7b965e0884cee430ffe5dc81cdb117b9316b0549 > tree 754dce6432258e0a8c3a758e13a34eb3a1d22ee1 > parent 5a39e8c6d655b4fe8305ef8cc2d9bbe782bfee5f > author Trond Myklebust <Trond.Myklebust@netapp.com> Wed, 28 Feb 2007 > 20:13:55 -0800 > committer Linus Torvalds <torvalds@woody.linux-foundation.org> Thu, 01 > Mar 2007 14:53:39 -0800 > > [PATCH] VM: invalidate_inode_pages2_range() should not exit early > > Fix invalidate_inode_pages2_range() so that it does not > immediately exit > just because a single page in the specified range could not be > removed. > > Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org> > Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Pavel, I tried with your .config, and indeed the system came back to life after 2-3 minutes after I press Fn/F4, indeed the issue seems to be with the disk. It could be that the same takes place with my original .config - maybe I just wasn't patient enough. I'll need to re-test that. However, I noticed that, after resume, when the system is presumably functional, if I try to suspend to ram again, this second suspend hangs, displaying the following on screen: [ 17.170000] ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 16 (level, low) -> IRQ 20 [ 17.170000] PCI: Setting latency timer of device 0000:02:00.0 to 64 [ 17.250000] e1000: 0000:02:00.0: e1000_probe: (PCI Express:2.5Gb/s:Width x1) 00:16:41:5 4:6c:47 [ 17.330000] e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection the crescent LED starts blinking and does not seem to stop for at lest 10 min, I've run out of patience after that. It could be that it's just very slow again. Pavel, did you try suspend to RAM after a successfull resume from RAM? Under 2.6.20, the system suspends/resumes to memory within about 20 sec any number of times. -- MST ^ permalink raw reply [flat|nested] 104+ messages in thread
* SATA resume slowness, e1000 MSI warning 2007-03-05 8:42 ` Michael S. Tsirkin @ 2007-03-05 10:11 ` Ingo Molnar 2007-03-06 5:30 ` Jeff Garzik ` (2 more replies) 2007-03-09 6:44 ` 2.6.21-rc1: known regressions (part 2) Pavel Machek 1 sibling, 3 replies; 104+ messages in thread From: Ingo Molnar @ 2007-03-05 10:11 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Auke Kok, Michal Piotrowski, Linus Torvalds, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Jeff Garzik, Andrew Morton * Michael S. Tsirkin <mst@mellanox.co.il> wrote: > > (Resume is very slow, because disks are not spinned up properly; and > > there's something wrong with timers; console beeps take way too long). > Pavel, I tried with your .config, and indeed the system came back to > life after 2-3 minutes after I press Fn/F4, indeed the issue seems to > be with the disk. It could be that the same takes place with my > original .config - maybe I just wasn't patient enough. I'll need to > re-test that. the spin-up takes a few seconds here under suspend/resume simulation: | ata1: waiting for device to spin up (7 secs) | Restarting tasks ... done. [5-10 seconds pass] | ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300) | ata1.00: configured for UDMA/100 | SCSI device sda: 156301488 512-byte hdwr sectors (80026 MB) | sda: Write Protect is off | sda: Mode Sense: 00 3a 00 00 | SCSI device sda: write cache: enabled, read cache: enabled, doesn't support DPO or FUA with real resume it takes even longer time - but i dont see where the delays come from in that case - i suspect it's SATA. i'm also getting this WARN_ON() from e1000: BUG: at drivers/pci/msi.c:611 pci_enable_msi() [<c01061bd>] show_trace_log_lvl+0x19/0x2e [<c01062b6>] show_trace+0x12/0x14 [<c01062cc>] dump_stack+0x14/0x16 [<c024fcc4>] pci_enable_msi+0x6d/0x203 [<c02b709e>] e1000_request_irq+0x2e/0xe2 [<c02bb742>] e1000_resume+0x7f/0xef [<c0249a68>] pci_device_resume+0x1a/0x44 [<c02b39ec>] resume_device+0xf7/0x16f [<c02b3adb>] dpm_resume+0x77/0xcb [<c02b3b69>] device_resume+0x3a/0x51 [<c014e669>] enter_state+0x193/0x1bb [<c014e712>] state_store+0x81/0x97 [<c01b68bc>] subsys_attr_store+0x20/0x25 [<c01b6feb>] sysfs_write_file+0xce/0xf6 [<c017e16b>] vfs_write+0xb1/0x13a [<c017e899>] sys_write+0x3d/0x61 [<c0105220>] syscall_call+0x7/0xb seems harmless because it seems to work fine. Ingo ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-05 10:11 ` SATA resume slowness, e1000 MSI warning Ingo Molnar @ 2007-03-06 5:30 ` Jeff Garzik 2007-03-06 6:35 ` Kok, Auke 2007-03-06 9:06 ` Ingo Molnar 2007-03-06 16:26 ` Thomas Gleixner 2 siblings, 1 reply; 104+ messages in thread From: Jeff Garzik @ 2007-03-06 5:30 UTC (permalink / raw) To: Ingo Molnar Cc: Auke Kok, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Andrew Morton Ingo Molnar wrote: > i'm also getting this WARN_ON() from e1000: > > BUG: at drivers/pci/msi.c:611 pci_enable_msi() > [<c01061bd>] show_trace_log_lvl+0x19/0x2e > [<c01062b6>] show_trace+0x12/0x14 > [<c01062cc>] dump_stack+0x14/0x16 > [<c024fcc4>] pci_enable_msi+0x6d/0x203 > [<c02b709e>] e1000_request_irq+0x2e/0xe2 > [<c02bb742>] e1000_resume+0x7f/0xef > [<c0249a68>] pci_device_resume+0x1a/0x44 > [<c02b39ec>] resume_device+0xf7/0x16f > [<c02b3adb>] dpm_resume+0x77/0xcb > [<c02b3b69>] device_resume+0x3a/0x51 > [<c014e669>] enter_state+0x193/0x1bb > [<c014e712>] state_store+0x81/0x97 > [<c01b68bc>] subsys_attr_store+0x20/0x25 > [<c01b6feb>] sysfs_write_file+0xce/0xf6 > [<c017e16b>] vfs_write+0xb1/0x13a > [<c017e899>] sys_write+0x3d/0x61 > [<c0105220>] syscall_call+0x7/0xb > > seems harmless because it seems to work fine. I would poke Eric Biederman(sp?) about this one. Maybe its even solved by the MSI-enable-related patch he posted in the past 24-48 hours. Jeff ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-06 5:30 ` Jeff Garzik @ 2007-03-06 6:35 ` Kok, Auke 2007-03-06 9:04 ` Ingo Molnar 0 siblings, 1 reply; 104+ messages in thread From: Kok, Auke @ 2007-03-06 6:35 UTC (permalink / raw) To: Jeff Garzik, Linus Torvalds Cc: Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Andrew Morton, Adrian Bunk, Eric W. Biederman, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Ingo Molnar Jeff Garzik wrote: > Ingo Molnar wrote: >> i'm also getting this WARN_ON() from e1000: >> >> BUG: at drivers/pci/msi.c:611 pci_enable_msi() >> [<c01061bd>] show_trace_log_lvl+0x19/0x2e >> [<c01062b6>] show_trace+0x12/0x14 >> [<c01062cc>] dump_stack+0x14/0x16 >> [<c024fcc4>] pci_enable_msi+0x6d/0x203 >> [<c02b709e>] e1000_request_irq+0x2e/0xe2 >> [<c02bb742>] e1000_resume+0x7f/0xef >> [<c0249a68>] pci_device_resume+0x1a/0x44 >> [<c02b39ec>] resume_device+0xf7/0x16f >> [<c02b3adb>] dpm_resume+0x77/0xcb >> [<c02b3b69>] device_resume+0x3a/0x51 >> [<c014e669>] enter_state+0x193/0x1bb >> [<c014e712>] state_store+0x81/0x97 >> [<c01b68bc>] subsys_attr_store+0x20/0x25 >> [<c01b6feb>] sysfs_write_file+0xce/0xf6 >> [<c017e16b>] vfs_write+0xb1/0x13a >> [<c017e899>] sys_write+0x3d/0x61 >> [<c0105220>] syscall_call+0x7/0xb >> >> seems harmless because it seems to work fine. > > I would poke Eric Biederman(sp?) about this one. Maybe its even solved > by the MSI-enable-related patch he posted in the past 24-48 hours. Eric, Linus, I tried the 3-patch series "[PATCH 0/3] Basic msi bug fixes.." and they fix this problem for me. Were you expecting the OOPS in the first place? In any case, it survived several suspend/resume cycles on both enabled (irq alloc'd and enabled) and disabled devices (only initialized). Jens Axboe was seeing the same problem, perhaps he can confirm the fix as well. In any case, the patches have my blessing :) Please add my: Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Cheers, Auke ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-06 6:35 ` Kok, Auke @ 2007-03-06 9:04 ` Ingo Molnar 2007-03-06 15:34 ` Kok, Auke 0 siblings, 1 reply; 104+ messages in thread From: Ingo Molnar @ 2007-03-06 9:04 UTC (permalink / raw) To: Kok, Auke Cc: Michal Piotrowski, Jeff Garzik, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Eric W. Biederman, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Andrew Morton * Kok, Auke <auke-jan.h.kok@intel.com> wrote: > >>BUG: at drivers/pci/msi.c:611 pci_enable_msi() > >I would poke Eric Biederman(sp?) about this one. Maybe its even > >solved by the MSI-enable-related patch he posted in the past 24-48 > >hours. > > I tried the 3-patch series "[PATCH 0/3] Basic msi bug fixes.." and > they fix this problem for me. Were you expecting the OOPS in the first > place? [...] the bug was the warning message (a WARN_ON()) above - not an oops. So that warning message is gone in your testing? Ingo ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-06 9:04 ` Ingo Molnar @ 2007-03-06 15:34 ` Kok, Auke 2007-03-07 4:15 ` Eric W. Biederman 0 siblings, 1 reply; 104+ messages in thread From: Kok, Auke @ 2007-03-06 15:34 UTC (permalink / raw) To: Ingo Molnar Cc: Kok, Auke, Jeff Garzik, Linus Torvalds, Michael S. Tsirkin, Pavel Machek, Jens Axboe, Adrian Bunk, Andrew Morton, Linux Kernel Mailing List, Thomas Gleixner, linux-pm, Michal Piotrowski, Eric W. Biederman Ingo Molnar wrote: > * Kok, Auke <auke-jan.h.kok@intel.com> wrote: > >>>> BUG: at drivers/pci/msi.c:611 pci_enable_msi() > >>> I would poke Eric Biederman(sp?) about this one. Maybe its even >>> solved by the MSI-enable-related patch he posted in the past 24-48 >>> hours. >> I tried the 3-patch series "[PATCH 0/3] Basic msi bug fixes.." and >> they fix this problem for me. Were you expecting the OOPS in the first >> place? [...] > > the bug was the warning message (a WARN_ON()) above - not an oops. So > that warning message is gone in your testing? yes. Auke ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-06 15:34 ` Kok, Auke @ 2007-03-07 4:15 ` Eric W. Biederman 2007-03-07 16:31 ` Kok, Auke 0 siblings, 1 reply; 104+ messages in thread From: Eric W. Biederman @ 2007-03-07 4:15 UTC (permalink / raw) To: Kok, Auke Cc: Andrew Morton, Jeff Garzik, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Ingo Molnar, Michal Piotrowski "Kok, Auke" <auke-jan.h.kok@intel.com> writes: > Ingo Molnar wrote: >> * Kok, Auke <auke-jan.h.kok@intel.com> wrote: >> >>>>> BUG: at drivers/pci/msi.c:611 pci_enable_msi() >> >>>> I would poke Eric Biederman(sp?) about this one. Maybe its even solved by >>>> the MSI-enable-related patch he posted in the past 24-48 hours. >>> I tried the 3-patch series "[PATCH 0/3] Basic msi bug fixes.." and they fix >>> this problem for me. Were you expecting the OOPS in the first place? [...] >> >> the bug was the warning message (a WARN_ON()) above - not an oops. So that >> warning message is gone in your testing? > > yes. Sorry for the slow delay. I was out of town for my brothers wedding the last few days. I wasn't exactly expecting the WARN_ON to trigger. What I fixed was an inconsistency in handling our state bits. Fixing that inconsistency appears to have fixed the e1000 usage scenario mostly by accident. The basic issue is that pci_save_state saves the current msi state along with other registers, and then the e1000 driver goes and disables the msi irq after we have saved the irq state as on. My code notices that the msi irq was disabled before restore time, so it skips the restore. However we now have a leak of the msi saved cap because we are not freeing it. This leaves with some basic questions. - Does it make sense for suspend/resume methods to request/free irqs? - Does it make sense for suspend/resume methods to allocate/free msi irqs? - Do we want pci_save/restore_cap to save/restore msi state? The path of least resistance is to just free the extra state and we are good. I'm just not quite certain that is sane and it has been a long day. Eric ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-07 4:15 ` Eric W. Biederman @ 2007-03-07 16:31 ` Kok, Auke 2007-03-07 16:45 ` Kok, Auke 0 siblings, 1 reply; 104+ messages in thread From: Kok, Auke @ 2007-03-07 16:31 UTC (permalink / raw) To: Eric W. Biederman Cc: Kok, Auke, Andrew Morton, Jeff Garzik, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Ingo Molnar, Michal Piotrowski Eric W. Biederman wrote: > "Kok, Auke" <auke-jan.h.kok@intel.com> writes: > >> Ingo Molnar wrote: >>> * Kok, Auke <auke-jan.h.kok@intel.com> wrote: >>> >>>>>> BUG: at drivers/pci/msi.c:611 pci_enable_msi() >>>>> I would poke Eric Biederman(sp?) about this one. Maybe its even solved by >>>>> the MSI-enable-related patch he posted in the past 24-48 hours. >>>> I tried the 3-patch series "[PATCH 0/3] Basic msi bug fixes.." and they fix >>>> this problem for me. Were you expecting the OOPS in the first place? [...] >>> the bug was the warning message (a WARN_ON()) above - not an oops. So that >>> warning message is gone in your testing? >> yes. > > Sorry for the slow delay. I was out of town for my brothers wedding the last few > days. > > I wasn't exactly expecting the WARN_ON to trigger. What I fixed was > an inconsistency in handling our state bits. Fixing that > inconsistency appears to have fixed the e1000 usage scenario mostly by > accident. > > The basic issue is that pci_save_state saves the current msi state > along with other registers, and then the e1000 driver goes and > disables the msi irq after we have saved the irq state as on. > > My code notices that the msi irq was disabled before restore time, so > it skips the restore. However we now have a leak of the msi saved cap > because we are not freeing it. > > This leaves with some basic questions. > - Does it make sense for suspend/resume methods to request/free irqs? > - Does it make sense for suspend/resume methods to allocate/free msi irqs? > - Do we want pci_save/restore_cap to save/restore msi state? > > The path of least resistance is to just free the extra state and we > are good. I'm just not quite certain that is sane and it has been a > long day. we used to have a lengthy e1000_pci_save|restore_state in our code, which is now gone, so I'm all for that. A separate pci_save_pxie|msi(x)_state for every driver seems completely unnecessary. I can't think of a use case where saving+restoring everything hurts. That's what you want I presume. We currently free all irq's and msi before going into suspend in e1000, and I think that is probably a good thing, somehow I can think of bad things happening if we dont, but I admit that I haven't tried it without alloc/free. We do this in e100 as well and it works. Another motivation would be to leave this up to the driver: if the driver chooses to free/alloc interrupts because it makes sense, you probably would want to keep that choice available. Devices that don't need this can skip the alloc/free, but leave the choice open for others. hth Auke ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-07 16:31 ` Kok, Auke @ 2007-03-07 16:45 ` Kok, Auke 2007-03-07 19:28 ` Eric W. Biederman 0 siblings, 1 reply; 104+ messages in thread From: Kok, Auke @ 2007-03-07 16:45 UTC (permalink / raw) To: Eric W. Biederman Cc: Andrew Morton, Jeff Garzik, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Ingo Molnar, Michal Piotrowski Kok, Auke wrote: > Eric W. Biederman wrote: >> "Kok, Auke" <auke-jan.h.kok@intel.com> writes: >> >>> Ingo Molnar wrote: >>>> * Kok, Auke <auke-jan.h.kok@intel.com> wrote: >>>> >>>>>>> BUG: at drivers/pci/msi.c:611 pci_enable_msi() >>>>>> I would poke Eric Biederman(sp?) about this one. Maybe its even solved by >>>>>> the MSI-enable-related patch he posted in the past 24-48 hours. >>>>> I tried the 3-patch series "[PATCH 0/3] Basic msi bug fixes.." and they fix >>>>> this problem for me. Were you expecting the OOPS in the first place? [...] >>>> the bug was the warning message (a WARN_ON()) above - not an oops. So that >>>> warning message is gone in your testing? >>> yes. >> Sorry for the slow delay. I was out of town for my brothers wedding the last few >> days. >> >> I wasn't exactly expecting the WARN_ON to trigger. What I fixed was >> an inconsistency in handling our state bits. Fixing that >> inconsistency appears to have fixed the e1000 usage scenario mostly by >> accident. >> >> The basic issue is that pci_save_state saves the current msi state >> along with other registers, and then the e1000 driver goes and >> disables the msi irq after we have saved the irq state as on. >> >> My code notices that the msi irq was disabled before restore time, so >> it skips the restore. However we now have a leak of the msi saved cap >> because we are not freeing it. >> >> This leaves with some basic questions. >> - Does it make sense for suspend/resume methods to request/free irqs? >> - Does it make sense for suspend/resume methods to allocate/free msi irqs? >> - Do we want pci_save/restore_cap to save/restore msi state? >> >> The path of least resistance is to just free the extra state and we >> are good. I'm just not quite certain that is sane and it has been a >> long day. > > we used to have a lengthy e1000_pci_save|restore_state in our code, which is now > gone, so I'm all for that. A separate pci_save_pxie|msi(x)_state for every > driver seems completely unnecessary. I can't think of a use case where > saving+restoring everything hurts. That's what you want I presume. > > We currently free all irq's and msi before going into suspend in e1000, and I > think that is probably a good thing, somehow I can think of bad things happening > if we dont, but I admit that I haven't tried it without alloc/free. We do this > in e100 as well and it works. > > Another motivation would be to leave this up to the driver: if the driver > chooses to free/alloc interrupts because it makes sense, you probably would want > to keep that choice available. Devices that don't need this can skip the > alloc/free, but leave the choice open for others. ah, looking at the code in e1000 we do: _suspend: pci_save_state(); free_irq() _resume: pci_restore_state(); alloc_irq(); I suppose that's not good either, and the major cause of the warning in the first place. Maybe I can rollback your latest patches and try to fix that mess by postponing the pci_save_state until after we free'd the irq's. Auke ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-07 16:45 ` Kok, Auke @ 2007-03-07 19:28 ` Eric W. Biederman 2007-03-08 2:53 ` Andrew Morton 2007-03-09 23:06 ` Kok, Auke 0 siblings, 2 replies; 104+ messages in thread From: Eric W. Biederman @ 2007-03-07 19:28 UTC (permalink / raw) To: Kok, Auke Cc: Andrew Morton, Jeff Garzik, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Ingo Molnar, Michal Piotrowski "Kok, Auke" <auke-jan.h.kok@intel.com> writes: > Kok, Auke wrote: >> Eric W. Biederman wrote: >>> This leaves with some basic questions. >>> - Does it make sense for suspend/resume methods to request/free irqs? >>> - Does it make sense for suspend/resume methods to allocate/free msi irqs? >>> - Do we want pci_save/restore_cap to save/restore msi state? >>> >>> The path of least resistance is to just free the extra state and we >>> are good. I'm just not quite certain that is sane and it has been a >>> long day. >> >> we used to have a lengthy e1000_pci_save|restore_state in our code, which is >> now gone, so I'm all for that. A separate pci_save_pxie|msi(x)_state for every >> driver seems completely unnecessary. I can't think of a use case where >> saving+restoring everything hurts. That's what you want I presume. I just want to understand why we have issues and to see if how we have organized the suspend/resume path for dealing with msi irqs makes sense. That is I haven't looked much at the suspend/resume path so I don't know it well and I am afraid that your problem might be a symptom of a deeper problem. >> We currently free all irq's and msi before going into suspend in e1000, and I >> think that is probably a good thing, somehow I can think of bad things >> happening if we dont, but I admit that I haven't tried it without >> alloc/free. We do this in e100 as well and it works. Currently the irq code supports operation without the free_irq/request_irq. Since the numbers given are pure linux abstractions things should it is really a matter of just saving/restoring the appropriate state. >> Another motivation would be to leave this up to the driver: if the driver >> chooses to free/alloc interrupts because it makes sense, you probably would >> want to keep that choice available. Devices that don't need this can skip the >> alloc/free, but leave the choice open for others. > > ah, looking at the code in e1000 we do: > > _suspend: > pci_save_state(); > free_irq() > > _resume: > pci_restore_state(); > alloc_irq(); > > I suppose that's not good either, and the major cause of the warning in the > first place. Yep. > Maybe I can rollback your latest patches and try to fix that mess by postponing > the pci_save_state until after we free'd the irq's. Below is an additional set of warnings that should help debug this. The old code just got lucky that it triggered a warning when this happens. diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index 01869b1..5113913 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c @@ -613,6 +613,7 @@ int pci_enable_msi(struct pci_dev* dev) return -EINVAL; WARN_ON(!!dev->msi_enabled); + WARN_ON(!hlist_empty(&dev->saved_cap_space)); /* Check whether driver already requested for MSI-X irqs */ if (dev->msix_enabled) { @@ -638,6 +639,8 @@ void pci_disable_msi(struct pci_dev* dev) if (!dev->msi_enabled) return; + WARN_ON(!hlist_empty(&dev->saved_cap_space)); + msi_set_enable(dev, 0); pci_intx(dev, 1); /* enable intx */ dev->msi_enabled = 0; @@ -739,6 +742,7 @@ int pci_enable_msix(struct pci_dev* dev, struct msix_entry *entries, int nvec) } } WARN_ON(!!dev->msix_enabled); + WARN_ON(!hlist_empty(&dev->saved_cap_space)); /* Check whether driver already requested for MSI irq */ if (dev->msi_enabled) { @@ -763,6 +767,8 @@ void pci_disable_msix(struct pci_dev* dev) if (!dev->msix_enabled) return; + WARN_ON(!hlist_empty(&dev->saved_cap_space)); + msix_set_enable(dev, 0); pci_intx(dev, 1); /* enable intx */ dev->msix_enabled = 0; diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index bd44a48..4418839 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -677,6 +677,7 @@ pci_restore_state(struct pci_dev *dev) } pci_restore_pcix_state(dev); pci_restore_msi_state(dev); + WARN_ON(!hlist_empty(&dev->saved_cap_space)); return 0; } ^ permalink raw reply related [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-07 19:28 ` Eric W. Biederman @ 2007-03-08 2:53 ` Andrew Morton 2007-03-08 6:58 ` Eric W. Biederman 2007-03-09 23:06 ` Kok, Auke 1 sibling, 1 reply; 104+ messages in thread From: Andrew Morton @ 2007-03-08 2:53 UTC (permalink / raw) To: Eric W. Biederman Cc: Kok, Auke, Michal Piotrowski, Jeff Garzik, Adrian, linux-pm, Linux Kernel Mailing List, Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Ingo Molnar On Wed, 07 Mar 2007 12:28:11 -0700 ebiederm@xmission.com (Eric W. Biederman) wrote: > Below is an additional set of warnings that should help debug this. > The old code just got lucky that it triggered a warning when this happens. > > diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c > index 01869b1..5113913 100644 > --- a/drivers/pci/msi.c > +++ b/drivers/pci/msi.c > @@ -613,6 +613,7 @@ int pci_enable_msi(struct pci_dev* dev) > return -EINVAL; > > WARN_ON(!!dev->msi_enabled); > + WARN_ON(!hlist_empty(&dev->saved_cap_space)); > > /* Check whether driver already requested for MSI-X irqs */ > if (dev->msix_enabled) { > @@ -638,6 +639,8 @@ void pci_disable_msi(struct pci_dev* dev) > if (!dev->msi_enabled) > return; > > + WARN_ON(!hlist_empty(&dev->saved_cap_space)); > + > msi_set_enable(dev, 0); > pci_intx(dev, 1); /* enable intx */ > dev->msi_enabled = 0; > @@ -739,6 +742,7 @@ int pci_enable_msix(struct pci_dev* dev, struct msix_entry *entries, int nvec) > } > } > WARN_ON(!!dev->msix_enabled); > + WARN_ON(!hlist_empty(&dev->saved_cap_space)); > > /* Check whether driver already requested for MSI irq */ > if (dev->msi_enabled) { > @@ -763,6 +767,8 @@ void pci_disable_msix(struct pci_dev* dev) > if (!dev->msix_enabled) > return; > > + WARN_ON(!hlist_empty(&dev->saved_cap_space)); > + > msix_set_enable(dev, 0); > pci_intx(dev, 1); /* enable intx */ > dev->msix_enabled = 0; > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > index bd44a48..4418839 100644 > --- a/drivers/pci/pci.c > +++ b/drivers/pci/pci.c > @@ -677,6 +677,7 @@ pci_restore_state(struct pci_dev *dev) > } > pci_restore_pcix_state(dev); > pci_restore_msi_state(dev); > + WARN_ON(!hlist_empty(&dev->saved_cap_space)); > > return 0; > } Got a hit on a powerpc g5: PM: Writing back config space on device 0001:05:04.0 at offset 1 (was 2b00000, writing 2b00006) ------------[ cut here ]------------ Badness at drivers/pci/pci.c:679 Call Trace: [C0000000080F7410] [C000000000011EFC] .show_stack+0x50/0x1cc (unreliable) [C0000000080F74C0] [C0000000001AD610] .report_bug+0xa0/0x110 [C0000000080F7550] [C0000000000256E4] .program_check_exception+0xb4/0x670 [C0000000080F7630] [C0000000000046F4] program_check_common+0xf4/0x100 --- Exception: 700 at .pci_restore_state+0x310/0x340 LR = .pci_restore_state+0x2e0/0x340 [C0000000080F79D0] [C00000000026A174] .tg3_chip_reset+0x19c/0xa04 [C0000000080F7A90] [C00000000026D948] .tg3_reset_hw+0xa4/0x2718 [C0000000080F7BA0] [C000000000270030] .tg3_init_hw+0x74/0x94 [C0000000080F7C30] [C000000000270BE0] .tg3_open+0x4c8/0x854 [C0000000080F7CF0] [C0000000003A74A4] .dev_open+0x100/0x12c [C0000000080F7D90] [C0000000003BAEA8] .netpoll_setup+0x2dc/0x3ec [C0000000080F7E40] [C000000000283450] .init_netconsole+0x64/0x8c [C0000000080F7EC0] [C0000000005C0BE4] .init+0x1d0/0x390 [C0000000080F7F90] [C0000000000271F8] .kernel_thread+0x4c/0x68 tg3: eth0: Link is up at 1000 Mbps, full duplex. tg3: eth0: Flow control is on for TX and on for RX. Scheduler bitmap error - bitmap being reconstructed.. netconsole: network logging started Calling initcall 0xc0000000006bd180: .macio_module_init+0x0/0x3c() That's: pci_restore_pcix_state(dev); pci_restore_msi_state(dev); WARN_ON(!hlist_empty(&dev->saved_cap_space)); return 0; ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-08 2:53 ` Andrew Morton @ 2007-03-08 6:58 ` Eric W. Biederman 2007-03-08 9:55 ` Jeff Garzik 2007-03-08 10:23 ` SATA resume slowness, e1000 MSI warning Michael S. Tsirkin 0 siblings, 2 replies; 104+ messages in thread From: Eric W. Biederman @ 2007-03-08 6:58 UTC (permalink / raw) To: Andrew Morton Cc: Kok, Auke, Ingo Molnar, Jeff Garzik, Linus Torvalds, Michael S. Tsirkin, Pavel Machek, Jens Axboe, Adrian Bunk, Linux Kernel Mailing List, Thomas Gleixner, linux-pm, Michal Piotrowski Andrew Morton <akpm@linux-foundation.org> writes: > > That's: > > pci_restore_pcix_state(dev); > pci_restore_msi_state(dev); > WARN_ON(!hlist_empty(&dev->saved_cap_space)); > > return 0; Hmm. Either I am confused of I just found an unanticipated leak. pci_restore_msi_state should be out of the picture as we don't yet have ppc msi support and I don't think the g5 generation hardware supported it either. The only case I can see which might trigger this is if we saved pci-X state and then didn't restore it because we could not find the capability on restore. Any chance you could walk that list and find the cap_nr of the remaining element? Something like: { struct pci_cap_saved_state *tmp; struct hlist_node *pos; hlist_for_each_entry(tmp, pos, &pci_dev->saved_cap_space, next) printk(KERN_INFO "saved_cap: 0x%02x\n", tmp->cap_nr); } Until I get the best scenario I can come up with is a tg3 hardware bug that doesn't renable the pci-X capability after a restore of power state. Getting that cap_nr will at least allow me to be certain if I am dealing with msi, pci-X or pci-e. Unanticipated bugs aren't supposed to be this easy to find! Eric ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-08 6:58 ` Eric W. Biederman @ 2007-03-08 9:55 ` Jeff Garzik 2007-03-08 17:27 ` Eric W. Biederman 2007-03-08 10:23 ` SATA resume slowness, e1000 MSI warning Michael S. Tsirkin 1 sibling, 1 reply; 104+ messages in thread From: Jeff Garzik @ 2007-03-08 9:55 UTC (permalink / raw) To: Eric W. Biederman Cc: Kok, Auke, Michal Piotrowski, Ingo Molnar, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Andrew Morton Eric W. Biederman wrote: > Until I get the best scenario I can come up with is a tg3 hardware bug > that doesn't renable the pci-X capability after a restore of power state. Speaking of tg3, make sure you are aware that the number of calls to save-state functions may not match the number of calls to the restore-state functions. ISTR seeing some memleak bugs in PCI related to this. Jeff ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-08 9:55 ` Jeff Garzik @ 2007-03-08 17:27 ` Eric W. Biederman 2007-03-08 19:58 ` [PATCH 0/2] Repair pci_restore_state when used with device resets Eric W. Biederman 0 siblings, 1 reply; 104+ messages in thread From: Eric W. Biederman @ 2007-03-08 17:27 UTC (permalink / raw) To: Jeff Garzik Cc: Kok, Auke, Greg Kroah-Hartman, Michal Piotrowski, Ingo Molnar, linux-pm, Linux Kernel Mailing List, Adrian Bunk, linux-pci, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Andrew Morton Jeff Garzik <jeff@garzik.org> writes: > Eric W. Biederman wrote: >> Until I get the best scenario I can come up with is a tg3 hardware bug >> that doesn't renable the pci-X capability after a restore of power state. > > > Speaking of tg3, make sure you are aware that the number of calls to save-state > functions may not match the number of calls to the restore-state functions. > ISTR seeing some memleak bugs in PCI related to this. Thanks that looks like the problem, multiple calls to save before one call to restore when you have a pci-x capability would easily trigger this problem. I just surveyed a bunch of the pci_save_state and pci_restore_state users and this appears to be a common idiom not just a tg3 thing.... It looks like when code was added to save/restore the msi capability was added to pci_save/restore_state that an assumption was added that pci_save_state and pci_restore state were only used for suspend and only used in pairs. There is even a partial bug fix that removed the worst of the symptoms of that assumption from the msi code but failed to recognize the core problem. Now that we have code to work with pcie and pcix capabilities as well as msi this problem is much easier to hit. All of pci_save_state and pci_restore_state is going to have to be restructured to fix this, and it is late in the game. Ugh. Oh well, better to fix it now At least I get my answer about if what pci_save_state is doing is reasonable. It is not. pci_save_state no longer supports being used in conjunction with hardware reset and has become a suspend/resume specific function. Now I'm off to wite some patches to fix this. Eric ^ permalink raw reply [flat|nested] 104+ messages in thread
* [PATCH 0/2] Repair pci_restore_state when used with device resets 2007-03-08 17:27 ` Eric W. Biederman @ 2007-03-08 19:58 ` Eric W. Biederman 2007-03-08 20:04 ` [PATCH 1/2] msi: Safer state caching Eric W. Biederman 2007-03-08 20:08 ` [PATCH 0/2] Repair pci_restore_state when used with device resets Ingo Molnar 0 siblings, 2 replies; 104+ messages in thread From: Eric W. Biederman @ 2007-03-08 19:58 UTC (permalink / raw) To: Andrew Morton, Linus Torvalds Cc: Kok, Auke, Michal Piotrowski, Jeff Garzik, Greg Kroah-Hartman, linux-pm, Linux Kernel Mailing List, Adrian Bunk, michael, linux-pci, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Ingo Molnar Well this is clearly a weird tangent from the topic of this thread but it looks to have found some real bugs even if they aren't the ones we are looking for. In short pci_save_state and pci_restore_state are used to two primary was: As a pair called from the suspend and restore routines. One save to multiple restores usually present in hardware reset routines. The additions to save/restore msi, pci-e and pci-x state failed to take this second usage scenario into account. The next two patches address this problem. This should directly fix the issue observed with the tg3, with multiple saves and a single restore. It happens that to handle the reset case cleanly we also need to support the odd usage model of the current e1000 driver. I have never have figured out how to get suspend/resume actually working on any of my machines so the code path is untested. But the patches are trivial and pretty much obviously correct. So if a couple people could do a quick suspend/resume test on these patches to confirm I'm not blind that would be great. Eric ^ permalink raw reply [flat|nested] 104+ messages in thread
* [PATCH 1/2] msi: Safer state caching. 2007-03-08 19:58 ` [PATCH 0/2] Repair pci_restore_state when used with device resets Eric W. Biederman @ 2007-03-08 20:04 ` Eric W. Biederman 2007-03-08 20:06 ` [PATCH 2/2] pci: Repair pci_save/restore_state so we can restore one save many times Eric W. Biederman 2007-03-08 20:08 ` [PATCH 0/2] Repair pci_restore_state when used with device resets Ingo Molnar 1 sibling, 1 reply; 104+ messages in thread From: Eric W. Biederman @ 2007-03-08 20:04 UTC (permalink / raw) To: Andrew Morton, Linus Torvalds Cc: Kok, Auke, Michal Piotrowski, Jeff Garzik, Greg Kroah-Hartman, linux-pm, Linux Kernel Mailing List, Adrian Bunk, michael, linux-pci, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Ingo Molnar There are two ways pci_save_state and pci_restore_state are used. As helper functions during suspend/resume, and as helper functions around a hardware reset event. When used as helper functions around a hardware reset event there is no reason to believe the calls will be paired, nor is there a good reason to believe that if we restore the msi state from before the reset that it will match the current msi state. Since arch code may change the msi message without going through the driver, drivers currently do not have enough information to even know when to call pci_save_state to ensure they will have msi state in sync with the other kernel irq reception data structures. It turns out the solution is straight forward, cache the state in the existing msi data structures (not the magic pci saved things) and have the msi code update the cached state each time we write to the hardware. This means we never need to read the hardware to figure out what the hardware state should be. By modifying the caching in this manner we get to remove our save_state routines and only need to provide restore_state routines. The only fields that were at all tricky to regenerate were the msi and msi-x control registers and the way we regenerate them currently is a bit dependent upon assumptions on how we use the allow msi registers to be configured and used making the code a little bit brittle. If we ever change what cases we allow or how we configure the msi bits we can address the fragility then. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> --- drivers/pci/msi.c | 150 ++++++++-------------------------------------- drivers/pci/pci.c | 2 - drivers/pci/pci.h | 2 - include/linux/msi.h | 8 +-- include/linux/pci_regs.h | 1 + 5 files changed, 29 insertions(+), 134 deletions(-) diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index 01869b1..ad33e01 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c @@ -100,6 +100,7 @@ static void msi_set_mask_bit(unsigned int irq, int flag) BUG(); break; } + entry->msi_attrib.masked = !!flag; } void read_msi_msg(unsigned int irq, struct msi_msg *msg) @@ -179,6 +180,7 @@ void write_msi_msg(unsigned int irq, struct msi_msg *msg) default: BUG(); } + entry->msg = *msg; } void mask_msi_irq(unsigned int irq) @@ -225,164 +227,60 @@ static struct msi_desc* alloc_msi_entry(void) } #ifdef CONFIG_PM -static int __pci_save_msi_state(struct pci_dev *dev) -{ - int pos, i = 0; - u16 control; - struct pci_cap_saved_state *save_state; - u32 *cap; - - if (!dev->msi_enabled) - return 0; - - pos = pci_find_capability(dev, PCI_CAP_ID_MSI); - if (pos <= 0) - return 0; - - save_state = kzalloc(sizeof(struct pci_cap_saved_state) + sizeof(u32) * 5, - GFP_KERNEL); - if (!save_state) { - printk(KERN_ERR "Out of memory in pci_save_msi_state\n"); - return -ENOMEM; - } - cap = &save_state->data[0]; - - pci_read_config_dword(dev, pos, &cap[i++]); - control = cap[0] >> 16; - pci_read_config_dword(dev, pos + PCI_MSI_ADDRESS_LO, &cap[i++]); - if (control & PCI_MSI_FLAGS_64BIT) { - pci_read_config_dword(dev, pos + PCI_MSI_ADDRESS_HI, &cap[i++]); - pci_read_config_dword(dev, pos + PCI_MSI_DATA_64, &cap[i++]); - } else - pci_read_config_dword(dev, pos + PCI_MSI_DATA_32, &cap[i++]); - if (control & PCI_MSI_FLAGS_MASKBIT) - pci_read_config_dword(dev, pos + PCI_MSI_MASK_BIT, &cap[i++]); - save_state->cap_nr = PCI_CAP_ID_MSI; - pci_add_saved_cap(dev, save_state); - return 0; -} - static void __pci_restore_msi_state(struct pci_dev *dev) { - int i = 0, pos; + int pos; u16 control; - struct pci_cap_saved_state *save_state; - u32 *cap; + struct msi_desc *entry; if (!dev->msi_enabled) return; - save_state = pci_find_saved_cap(dev, PCI_CAP_ID_MSI); - pos = pci_find_capability(dev, PCI_CAP_ID_MSI); - if (!save_state || pos <= 0) - return; - cap = &save_state->data[0]; + entry = get_irq_msi(dev->irq); + pos = entry->msi_attrib.pos; pci_intx(dev, 0); /* disable intx */ - control = cap[i++] >> 16; msi_set_enable(dev, 0); - pci_write_config_dword(dev, pos + PCI_MSI_ADDRESS_LO, cap[i++]); - if (control & PCI_MSI_FLAGS_64BIT) { - pci_write_config_dword(dev, pos + PCI_MSI_ADDRESS_HI, cap[i++]); - pci_write_config_dword(dev, pos + PCI_MSI_DATA_64, cap[i++]); - } else - pci_write_config_dword(dev, pos + PCI_MSI_DATA_32, cap[i++]); - if (control & PCI_MSI_FLAGS_MASKBIT) - pci_write_config_dword(dev, pos + PCI_MSI_MASK_BIT, cap[i++]); + write_msi_msg(dev->irq, &entry->msg); + if (entry->msi_attrib.maskbit) + msi_set_mask_bit(dev->irq, entry->msi_attrib.masked); + + pci_read_config_word(dev, pos + PCI_MSI_FLAGS, &control); + control &= ~(PCI_MSI_FLAGS_QSIZE | PCI_MSI_FLAGS_ENABLE); + if (entry->msi_attrib.maskbit || !entry->msi_attrib.masked) + control |= PCI_MSI_FLAGS_ENABLE; pci_write_config_word(dev, pos + PCI_MSI_FLAGS, control); - pci_remove_saved_cap(save_state); - kfree(save_state); -} - -static int __pci_save_msix_state(struct pci_dev *dev) -{ - int pos; - int irq, head, tail = 0; - u16 control; - struct pci_cap_saved_state *save_state; - - if (!dev->msix_enabled) - return 0; - - pos = pci_find_capability(dev, PCI_CAP_ID_MSIX); - if (pos <= 0) - return 0; - - /* save the capability */ - pci_read_config_word(dev, msi_control_reg(pos), &control); - save_state = kzalloc(sizeof(struct pci_cap_saved_state) + sizeof(u16), - GFP_KERNEL); - if (!save_state) { - printk(KERN_ERR "Out of memory in pci_save_msix_state\n"); - return -ENOMEM; - } - *((u16 *)&save_state->data[0]) = control; - - /* save the table */ - irq = head = dev->first_msi_irq; - while (head != tail) { - struct msi_desc *entry; - - entry = get_irq_msi(irq); - read_msi_msg(irq, &entry->msg_save); - - tail = entry->link.tail; - irq = tail; - } - - save_state->cap_nr = PCI_CAP_ID_MSIX; - pci_add_saved_cap(dev, save_state); - return 0; -} - -int pci_save_msi_state(struct pci_dev *dev) -{ - int rc; - - rc = __pci_save_msi_state(dev); - if (rc) - return rc; - - rc = __pci_save_msix_state(dev); - - return rc; } static void __pci_restore_msix_state(struct pci_dev *dev) { - u16 save; int pos; int irq, head, tail = 0; struct msi_desc *entry; - struct pci_cap_saved_state *save_state; + u16 control; if (!dev->msix_enabled) return; - save_state = pci_find_saved_cap(dev, PCI_CAP_ID_MSIX); - if (!save_state) - return; - save = *((u16 *)&save_state->data[0]); - pci_remove_saved_cap(save_state); - kfree(save_state); - - pos = pci_find_capability(dev, PCI_CAP_ID_MSIX); - if (pos <= 0) - return; - /* route the table */ pci_intx(dev, 0); /* disable intx */ msix_set_enable(dev, 0); irq = head = dev->first_msi_irq; + entry = get_irq_msi(irq); + pos = entry->msi_attrib.pos; while (head != tail) { entry = get_irq_msi(irq); - write_msi_msg(irq, &entry->msg_save); + write_msi_msg(irq, &entry->msg); + msi_set_mask_bit(irq, entry->msi_attrib.masked); tail = entry->link.tail; irq = tail; } - pci_write_config_word(dev, msi_control_reg(pos), save); + pci_read_config_word(dev, pos + PCI_MSIX_FLAGS, &control); + control &= ~PCI_MSIX_FLAGS_MASKALL; + control |= PCI_MSIX_FLAGS_ENABLE; + pci_write_config_word(dev, pos + PCI_MSIX_FLAGS, control); } void pci_restore_msi_state(struct pci_dev *dev) @@ -420,6 +318,7 @@ static int msi_capability_init(struct pci_dev *dev) entry->msi_attrib.is_64 = is_64bit_address(control); entry->msi_attrib.entry_nr = 0; entry->msi_attrib.maskbit = is_mask_bit_support(control); + entry->msi_attrib.masked = 1; entry->msi_attrib.default_irq = dev->irq; /* Save IOAPIC IRQ */ entry->msi_attrib.pos = pos; if (is_mask_bit_support(control)) { @@ -507,6 +406,7 @@ static int msix_capability_init(struct pci_dev *dev, entry->msi_attrib.is_64 = 1; entry->msi_attrib.entry_nr = j; entry->msi_attrib.maskbit = 1; + entry->msi_attrib.masked = 1; entry->msi_attrib.default_irq = dev->irq; entry->msi_attrib.pos = pos; entry->dev = dev; diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index df49530..6fb78df 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -638,8 +638,6 @@ pci_save_state(struct pci_dev *dev) /* XXX: 100% dword access ok here? */ for (i = 0; i < 16; i++) pci_read_config_dword(dev, i * 4,&dev->saved_config_space[i]); - if ((i = pci_save_msi_state(dev)) != 0) - return i; if ((i = pci_save_pcie_state(dev)) != 0) return i; if ((i = pci_save_pcix_state(dev)) != 0) diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h index ae7a975..62ea04c 100644 --- a/drivers/pci/pci.h +++ b/drivers/pci/pci.h @@ -52,10 +52,8 @@ static inline void pci_no_msi(void) { } #endif #if defined(CONFIG_PCI_MSI) && defined(CONFIG_PM) -int pci_save_msi_state(struct pci_dev *dev); void pci_restore_msi_state(struct pci_dev *dev); #else -static inline int pci_save_msi_state(struct pci_dev *dev) { return 0; } static inline void pci_restore_msi_state(struct pci_dev *dev) {} #endif diff --git a/include/linux/msi.h b/include/linux/msi.h index 74c8a2e..e38fe68 100644 --- a/include/linux/msi.h +++ b/include/linux/msi.h @@ -17,7 +17,7 @@ struct msi_desc { struct { __u8 type : 5; /* {0: unused, 5h:MSI, 11h:MSI-X} */ __u8 maskbit : 1; /* mask-pending bit supported ? */ - __u8 unused : 1; + __u8 masked : 1; __u8 is_64 : 1; /* Address size: 0=32bit 1=64bit */ __u8 pos; /* Location of the msi capability */ __u16 entry_nr; /* specific enabled entry */ @@ -32,10 +32,8 @@ struct msi_desc { void __iomem *mask_base; struct pci_dev *dev; -#ifdef CONFIG_PM - /* PM save area for MSIX address/data */ - struct msi_msg msg_save; -#endif + /* Last set MSI message */ + struct msi_msg msg; }; /* diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h index f09cce2..495d368 100644 --- a/include/linux/pci_regs.h +++ b/include/linux/pci_regs.h @@ -296,6 +296,7 @@ #define PCI_MSIX_FLAGS 2 #define PCI_MSIX_FLAGS_QSIZE 0x7FF #define PCI_MSIX_FLAGS_ENABLE (1 << 15) +#define PCI_MSIX_FLAGS_MASKALL (1 << 14) #define PCI_MSIX_FLAGS_BIRMASK (7 << 0) #define PCI_MSIX_FLAGS_BITMASK (1 << 0) -- 1.5.0.g53756 ^ permalink raw reply related [flat|nested] 104+ messages in thread
* [PATCH 2/2] pci: Repair pci_save/restore_state so we can restore one save many times. 2007-03-08 20:04 ` [PATCH 1/2] msi: Safer state caching Eric W. Biederman @ 2007-03-08 20:06 ` Eric W. Biederman 2007-03-12 22:46 ` Kok, Auke 0 siblings, 1 reply; 104+ messages in thread From: Eric W. Biederman @ 2007-03-08 20:06 UTC (permalink / raw) To: Andrew Morton, Linus Torvalds Cc: Kok, Auke, Michal Piotrowski, Jeff Garzik, Greg Kroah-Hartman, linux-pm, Linux Kernel Mailing List, Adrian Bunk, michael, linux-pci, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Ingo Molnar Because we do not reserve space for the pci-x and pci-e state in struct pci dev we need to dynamically allocate it. However because we need to support restore being called multiple times after a single save it is never safe to free the buffers we have allocated to hold the state. So this patch modifies the save routines to first check to see if we have already allocated a state buffer before allocating a new one. Then the restore routines are modified to not free the state after restoring it. Simple and it fixes some subtle error path handling bugs, that are hard to test for. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> --- drivers/pci/pci.c | 12 ++++++------ include/linux/pci.h | 5 ----- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 6fb78df..b292c9a 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -551,7 +551,9 @@ static int pci_save_pcie_state(struct pci_dev *dev) if (pos <= 0) return 0; - save_state = kzalloc(sizeof(*save_state) + sizeof(u16) * 4, GFP_KERNEL); + save_state = pci_find_saved_cap(dev, PCI_CAP_ID_EXP); + if (!save_state) + save_state = kzalloc(sizeof(*save_state) + sizeof(u16) * 4, GFP_KERNEL); if (!save_state) { dev_err(&dev->dev, "Out of memory in pci_save_pcie_state\n"); return -ENOMEM; @@ -582,8 +584,6 @@ static void pci_restore_pcie_state(struct pci_dev *dev) pci_write_config_word(dev, pos + PCI_EXP_LNKCTL, cap[i++]); pci_write_config_word(dev, pos + PCI_EXP_SLTCTL, cap[i++]); pci_write_config_word(dev, pos + PCI_EXP_RTCTL, cap[i++]); - pci_remove_saved_cap(save_state); - kfree(save_state); } @@ -597,7 +597,9 @@ static int pci_save_pcix_state(struct pci_dev *dev) if (pos <= 0) return 0; - save_state = kzalloc(sizeof(*save_state) + sizeof(u16), GFP_KERNEL); + save_state = pci_find_saved_cap(dev, PCI_CAP_ID_EXP); + if (!save_state) + save_state = kzalloc(sizeof(*save_state) + sizeof(u16), GFP_KERNEL); if (!save_state) { dev_err(&dev->dev, "Out of memory in pci_save_pcie_state\n"); return -ENOMEM; @@ -622,8 +624,6 @@ static void pci_restore_pcix_state(struct pci_dev *dev) cap = (u16 *)&save_state->data[0]; pci_write_config_word(dev, pos + PCI_X_CMD, cap[i++]); - pci_remove_saved_cap(save_state); - kfree(save_state); } diff --git a/include/linux/pci.h b/include/linux/pci.h index 78417e4..481ea06 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -209,11 +209,6 @@ static inline void pci_add_saved_cap(struct pci_dev *pci_dev, hlist_add_head(&new_cap->next, &pci_dev->saved_cap_space); } -static inline void pci_remove_saved_cap(struct pci_cap_saved_state *cap) -{ - hlist_del(&cap->next); -} - /* * For PCI devices, the region numbers are assigned this way: * -- 1.5.0.g53756 ^ permalink raw reply related [flat|nested] 104+ messages in thread
* Re: [PATCH 2/2] pci: Repair pci_save/restore_state so we can restore one save many times. 2007-03-08 20:06 ` [PATCH 2/2] pci: Repair pci_save/restore_state so we can restore one save many times Eric W. Biederman @ 2007-03-12 22:46 ` Kok, Auke 0 siblings, 0 replies; 104+ messages in thread From: Kok, Auke @ 2007-03-12 22:46 UTC (permalink / raw) To: Eric W. Biederman, Andrew Morton, Linus Torvalds Cc: Kok, Auke, Michal Piotrowski, Jeff Garzik, Greg Kroah-Hartman, linux-pm, Linux Kernel Mailing List, Adrian Bunk, michael, linux-pci, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Ingo Molnar Eric W. Biederman wrote: > Because we do not reserve space for the pci-x and pci-e state in struct > pci dev we need to dynamically allocate it. However because we need > to support restore being called multiple times after a single save > it is never safe to free the buffers we have allocated to hold the > state. > > So this patch modifies the save routines to first check to see > if we have already allocated a state buffer before allocating > a new one. Then the restore routines are modified to not free > the state after restoring it. Simple and it fixes some subtle > error path handling bugs, that are hard to test for. > > Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> I tested this patch and the other 2 in this series: [PATCH 0/2] Repair pci_restore_state when used with device resets [PATCH 1/2] msi: Safer state caching. against e1000 with suspend/resume functionality. Apart from a minor symmetry violation in e1000 for which I will send a patch later, these patches appear to work fine on my ich8 with 5 msi capable e1000 ports. Feel free to add my Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Cheers, Auke > --- > drivers/pci/pci.c | 12 ++++++------ > include/linux/pci.h | 5 ----- > 2 files changed, 6 insertions(+), 11 deletions(-) > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > index 6fb78df..b292c9a 100644 > --- a/drivers/pci/pci.c > +++ b/drivers/pci/pci.c > @@ -551,7 +551,9 @@ static int pci_save_pcie_state(struct pci_dev *dev) > if (pos <= 0) > return 0; > > - save_state = kzalloc(sizeof(*save_state) + sizeof(u16) * 4, GFP_KERNEL); > + save_state = pci_find_saved_cap(dev, PCI_CAP_ID_EXP); > + if (!save_state) > + save_state = kzalloc(sizeof(*save_state) + sizeof(u16) * 4, GFP_KERNEL); > if (!save_state) { > dev_err(&dev->dev, "Out of memory in pci_save_pcie_state\n"); > return -ENOMEM; > @@ -582,8 +584,6 @@ static void pci_restore_pcie_state(struct pci_dev *dev) > pci_write_config_word(dev, pos + PCI_EXP_LNKCTL, cap[i++]); > pci_write_config_word(dev, pos + PCI_EXP_SLTCTL, cap[i++]); > pci_write_config_word(dev, pos + PCI_EXP_RTCTL, cap[i++]); > - pci_remove_saved_cap(save_state); > - kfree(save_state); > } > > > @@ -597,7 +597,9 @@ static int pci_save_pcix_state(struct pci_dev *dev) > if (pos <= 0) > return 0; > > - save_state = kzalloc(sizeof(*save_state) + sizeof(u16), GFP_KERNEL); > + save_state = pci_find_saved_cap(dev, PCI_CAP_ID_EXP); > + if (!save_state) > + save_state = kzalloc(sizeof(*save_state) + sizeof(u16), GFP_KERNEL); > if (!save_state) { > dev_err(&dev->dev, "Out of memory in pci_save_pcie_state\n"); > return -ENOMEM; > @@ -622,8 +624,6 @@ static void pci_restore_pcix_state(struct pci_dev *dev) > cap = (u16 *)&save_state->data[0]; > > pci_write_config_word(dev, pos + PCI_X_CMD, cap[i++]); > - pci_remove_saved_cap(save_state); > - kfree(save_state); > } > > > diff --git a/include/linux/pci.h b/include/linux/pci.h > index 78417e4..481ea06 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -209,11 +209,6 @@ static inline void pci_add_saved_cap(struct pci_dev *pci_dev, > hlist_add_head(&new_cap->next, &pci_dev->saved_cap_space); > } > > -static inline void pci_remove_saved_cap(struct pci_cap_saved_state *cap) > -{ > - hlist_del(&cap->next); > -} > - > /* > * For PCI devices, the region numbers are assigned this way: > * ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [PATCH 0/2] Repair pci_restore_state when used with device resets 2007-03-08 19:58 ` [PATCH 0/2] Repair pci_restore_state when used with device resets Eric W. Biederman 2007-03-08 20:04 ` [PATCH 1/2] msi: Safer state caching Eric W. Biederman @ 2007-03-08 20:08 ` Ingo Molnar 2007-03-08 20:26 ` Eric W. Biederman 1 sibling, 1 reply; 104+ messages in thread From: Ingo Molnar @ 2007-03-08 20:08 UTC (permalink / raw) To: Eric W. Biederman Cc: Kok, Auke, Michal Piotrowski, Jeff Garzik, Greg Kroah-Hartman, linux-pm, Linux Kernel Mailing List, Adrian Bunk, michael, linux-pci, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Andrew Morton * Eric W. Biederman <ebiederm@xmission.com> wrote: > I have never have figured out how to get suspend/resume actually > working on any of my machines [...] ouch! Are you interested in getting it work? Ingo ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [PATCH 0/2] Repair pci_restore_state when used with device resets 2007-03-08 20:08 ` [PATCH 0/2] Repair pci_restore_state when used with device resets Ingo Molnar @ 2007-03-08 20:26 ` Eric W. Biederman 0 siblings, 0 replies; 104+ messages in thread From: Eric W. Biederman @ 2007-03-08 20:26 UTC (permalink / raw) To: Ingo Molnar Cc: Kok, Auke, Michal Piotrowski, Jeff Garzik, Greg Kroah-Hartman, linux-pm, Linux Kernel Mailing List, Adrian Bunk, michael, linux-pci, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Andrew Morton Ingo Molnar <mingo@elte.hu> writes: > * Eric W. Biederman <ebiederm@xmission.com> wrote: > >> I have never have figured out how to get suspend/resume actually >> working on any of my machines [...] > > ouch! Are you interested in getting it work? I haven't even seriously tried. I don't yet have a laptop and I like staying logged. The first time I rolled the jiffie counter it was a happened after I had realized that if I kept my machine up for another couple of months my jiffie counter would roll and I said why not So basically suspend hasn't been a feature I'm been interested in using. I get more annoyed at my UPS failing.. I will probably get around to figuring out the whole suspend/resume thing one of these days and it will probably take me a day or two. But that doesn't result in bug fixes being delivered in a timely manner. Eric ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-08 6:58 ` Eric W. Biederman 2007-03-08 9:55 ` Jeff Garzik @ 2007-03-08 10:23 ` Michael S. Tsirkin 2007-03-11 11:11 ` Eric W. Biederman 1 sibling, 1 reply; 104+ messages in thread From: Michael S. Tsirkin @ 2007-03-08 10:23 UTC (permalink / raw) To: Eric W. Biederman Cc: Kok, Auke, Michal Piotrowski, Jeff Garzik, Ingo Molnar, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Andrew Morton > The only case I can see which might trigger this is if we saved > pci-X state and then didn't restore it because we could not find > the capability on restore. Hmm. pci_save_pcix_state/pci_restore_pcix_state seem to only handle regular devices and seem to ignore the fact that for bridge PCI-X capability has a different structure. Is this intentional? If not, here's a patch to fix this. Warning: completely untested. PCI: restore bridge PCI-X capability registers after PM event Restore PCI-X bridge up/downstream capability registers after PM event. This includes maxumum split transaction commitment limit which might be vital for PCI X. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index df49530..4b788ef 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -597,14 +597,19 @@ static int pci_save_pcix_state(struct pci_dev *dev) if (pos <= 0) return 0; - save_state = kzalloc(sizeof(*save_state) + sizeof(u16), GFP_KERNEL); + save_state = kzalloc(sizeof(*save_state) + sizeof(u16) * 2, GFP_KERNEL); if (!save_state) { - dev_err(&dev->dev, "Out of memory in pci_save_pcie_state\n"); + dev_err(&dev->dev, "Out of memory in pci_save_pcix_state\n"); return -ENOMEM; } cap = (u16 *)&save_state->data[0]; - pci_read_config_word(dev, pos + PCI_X_CMD, &cap[i++]); + if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { + pci_read_config_word(dev, pos + PCI_X_BRIDGE_UP_SPL_CTL, &cap[i++]); + pci_read_config_word(dev, pos + PCI_X_BRIDGE_DN_SPL_CTL, &cap[i++]); + } else + pci_read_config_word(dev, pos + PCI_X_CMD, &cap[i++]); + pci_add_saved_cap(dev, save_state); return 0; } @@ -621,7 +626,11 @@ static void pci_restore_pcix_state(struct pci_dev *dev) return; cap = (u16 *)&save_state->data[0]; - pci_write_config_word(dev, pos + PCI_X_CMD, cap[i++]); + if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { + pci_write_config_word(dev, pos + PCI_X_BRIDGE_UP_SPL_CTL, cap[i++]); + pci_write_config_word(dev, pos + PCI_X_BRIDGE_DN_SPL_CTL, cap[i++]); + } else + pci_write_config_word(dev, pos + PCI_X_CMD, cap[i++]); pci_remove_saved_cap(save_state); kfree(save_state); } diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h index f09cce2..fb7eefd 100644 --- a/include/linux/pci_regs.h +++ b/include/linux/pci_regs.h @@ -332,6 +332,8 @@ #define PCI_X_STATUS_SPL_ERR 0x20000000 /* Rcvd Split Completion Error Msg */ #define PCI_X_STATUS_266MHZ 0x40000000 /* 266 MHz capable */ #define PCI_X_STATUS_533MHZ 0x80000000 /* 533 MHz capable */ +#define PCI_X_BRIDGE_UP_SPL_CTL 10 /* PCI-X upstream split transaction limit */ +#define PCI_X_BRIDGE_DN_SPL_CTL 14 /* PCI-X downstream split transaction limit */ /* PCI Express capability registers */ -- MST ^ permalink raw reply related [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-08 10:23 ` SATA resume slowness, e1000 MSI warning Michael S. Tsirkin @ 2007-03-11 11:11 ` Eric W. Biederman 2007-03-11 11:24 ` Michael S. Tsirkin 0 siblings, 1 reply; 104+ messages in thread From: Eric W. Biederman @ 2007-03-11 11:11 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Kok, Auke, Michal Piotrowski, Jeff Garzik, Ingo Molnar, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Andrew Morton "Michael S. Tsirkin" <mst@mellanox.co.il> writes: >> The only case I can see which might trigger this is if we saved >> pci-X state and then didn't restore it because we could not find >> the capability on restore. > > Hmm. pci_save_pcix_state/pci_restore_pcix_state seem to only handle > regular devices and seem to ignore the fact that for bridge PCI-X > capability has a different structure. > > Is this intentional? Probably not a such. I don't think we have any drivers for bridge devices so I don't think it matters. It likely wouldn't hurt to fix it just in case though. Do any of the mellanox cards do anything with the bridge on the card? > If not, here's a patch to fix this. Warning: completely untested. If you fix the offsets and diff this against my last fix (to never free the buffer) I think your patch makes sense. > PCI: restore bridge PCI-X capability registers after PM event > > Restore PCI-X bridge up/downstream capability registers > after PM event. This includes maxumum split transaction > commitment limit which might be vital for PCI X. > > Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > index df49530..4b788ef 100644 > --- a/drivers/pci/pci.c > +++ b/drivers/pci/pci.c > @@ -597,14 +597,19 @@ static int pci_save_pcix_state(struct pci_dev *dev) > if (pos <= 0) > return 0; > > - save_state = kzalloc(sizeof(*save_state) + sizeof(u16), GFP_KERNEL); > + save_state = kzalloc(sizeof(*save_state) + sizeof(u16) * 2, GFP_KERNEL); > if (!save_state) { > - dev_err(&dev->dev, "Out of memory in pci_save_pcie_state\n"); > + dev_err(&dev->dev, "Out of memory in pci_save_pcix_state\n"); > return -ENOMEM; > } > cap = (u16 *)&save_state->data[0]; > > - pci_read_config_word(dev, pos + PCI_X_CMD, &cap[i++]); > + if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { This appears to be the proper test. > + pci_read_config_word(dev, pos + PCI_X_BRIDGE_UP_SPL_CTL, &cap[i++]); > + pci_read_config_word(dev, pos + PCI_X_BRIDGE_DN_SPL_CTL, &cap[i++]); > + } else > + pci_read_config_word(dev, pos + PCI_X_CMD, &cap[i++]); > + > pci_add_saved_cap(dev, save_state); > return 0; > } > @@ -621,7 +626,11 @@ static void pci_restore_pcix_state(struct pci_dev *dev) > return; > cap = (u16 *)&save_state->data[0]; > > - pci_write_config_word(dev, pos + PCI_X_CMD, cap[i++]); > + if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { > + pci_write_config_word(dev, pos + PCI_X_BRIDGE_UP_SPL_CTL, cap[i++]); > + pci_write_config_word(dev, pos + PCI_X_BRIDGE_DN_SPL_CTL, cap[i++]); These look like the proper two registers to save. > + } else > + pci_write_config_word(dev, pos + PCI_X_CMD, cap[i++]); > pci_remove_saved_cap(save_state); > kfree(save_state); > } > diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h > index f09cce2..fb7eefd 100644 > --- a/include/linux/pci_regs.h > +++ b/include/linux/pci_regs.h > @@ -332,6 +332,8 @@ > #define PCI_X_STATUS_SPL_ERR 0x20000000 /* Rcvd Split Completion Error Msg */ > #define PCI_X_STATUS_266MHZ 0x40000000 /* 266 MHz capable */ > #define PCI_X_STATUS_533MHZ 0x80000000 /* 533 MHz capable */ > +#define PCI_X_BRIDGE_UP_SPL_CTL 10 /* PCI-X upstream split transaction limit */ > +#define PCI_X_BRIDGE_DN_SPL_CTL 14 /* PCI-X downstream split transaction limit */ Unless I am completely misreading the spec. While you have picked the right register to save the offsets should be 0x08 and 0x0c or 8 and 12.... Eric ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-11 11:11 ` Eric W. Biederman @ 2007-03-11 11:24 ` Michael S. Tsirkin 2007-03-11 17:37 ` Eric W. Biederman 2007-04-16 19:56 ` Michael S. Tsirkin 0 siblings, 2 replies; 104+ messages in thread From: Michael S. Tsirkin @ 2007-03-11 11:24 UTC (permalink / raw) To: Eric W. Biederman Cc: Kok, Auke, Michal Piotrowski, Jeff Garzik, Ingo Molnar, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Andrew Morton > Quoting Eric W. Biederman <ebiederm@xmission.com>: > Subject: Re: SATA resume slowness, e1000 MSI warning > > "Michael S. Tsirkin" <mst@mellanox.co.il> writes: > > >> The only case I can see which might trigger this is if we saved > >> pci-X state and then didn't restore it because we could not find > >> the capability on restore. > > > > Hmm. pci_save_pcix_state/pci_restore_pcix_state seem to only handle > > regular devices and seem to ignore the fact that for bridge PCI-X > > capability has a different structure. > > > > Is this intentional? > > Probably not a such. I don't think we have any drivers for bridge > devices so I don't think it matters. It likely wouldn't hurt to fix > it just in case though. > > Do any of the mellanox cards do anything with the bridge on the card? Yes but they do their own thing wrt saving/restoring registers. Look at drivers/infiniband/hw/mthca/mthca_reset.c > > If not, here's a patch to fix this. Warning: completely untested. > > If you fix the offsets and diff this against my last fix (to never > free the buffer) I think your patch makes sense. Let's agree what the correct offsets are. > > PCI: restore bridge PCI-X capability registers after PM event > > > > Restore PCI-X bridge up/downstream capability registers > > after PM event. This includes maxumum split transaction > > commitment limit which might be vital for PCI X. > > > > Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> > > > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > > index df49530..4b788ef 100644 > > --- a/drivers/pci/pci.c > > +++ b/drivers/pci/pci.c > > @@ -597,14 +597,19 @@ static int pci_save_pcix_state(struct pci_dev *dev) > > if (pos <= 0) > > return 0; > > > > - save_state = kzalloc(sizeof(*save_state) + sizeof(u16), GFP_KERNEL); > > + save_state = kzalloc(sizeof(*save_state) + sizeof(u16) * 2, GFP_KERNEL); > > if (!save_state) { > > - dev_err(&dev->dev, "Out of memory in pci_save_pcie_state\n"); > > + dev_err(&dev->dev, "Out of memory in pci_save_pcix_state\n"); > > return -ENOMEM; > > } > > cap = (u16 *)&save_state->data[0]; > > > > - pci_read_config_word(dev, pos + PCI_X_CMD, &cap[i++]); > > + if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { > > This appears to be the proper test. > > > + pci_read_config_word(dev, pos + PCI_X_BRIDGE_UP_SPL_CTL, &cap[i++]); > > + pci_read_config_word(dev, pos + PCI_X_BRIDGE_DN_SPL_CTL, &cap[i++]); > > + } else > > + pci_read_config_word(dev, pos + PCI_X_CMD, &cap[i++]); > > + > > pci_add_saved_cap(dev, save_state); > > return 0; > > } > > @@ -621,7 +626,11 @@ static void pci_restore_pcix_state(struct pci_dev *dev) > > return; > > cap = (u16 *)&save_state->data[0]; > > > > - pci_write_config_word(dev, pos + PCI_X_CMD, cap[i++]); > > + if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { > > + pci_write_config_word(dev, pos + PCI_X_BRIDGE_UP_SPL_CTL, cap[i++]); > > + pci_write_config_word(dev, pos + PCI_X_BRIDGE_DN_SPL_CTL, cap[i++]); > > These look like the proper two registers to save. > > > + } else > > + pci_write_config_word(dev, pos + PCI_X_CMD, cap[i++]); > > pci_remove_saved_cap(save_state); > > kfree(save_state); > > } > > diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h > > index f09cce2..fb7eefd 100644 > > --- a/include/linux/pci_regs.h > > +++ b/include/linux/pci_regs.h > > @@ -332,6 +332,8 @@ > > #define PCI_X_STATUS_SPL_ERR 0x20000000 /* Rcvd Split Completion Error Msg */ > > #define PCI_X_STATUS_266MHZ 0x40000000 /* 266 MHz capable */ > > #define PCI_X_STATUS_533MHZ 0x80000000 /* 533 MHz capable */ > > +#define PCI_X_BRIDGE_UP_SPL_CTL 10 /* PCI-X upstream split transaction limit */ > > +#define PCI_X_BRIDGE_DN_SPL_CTL 14 /* PCI-X downstream split transaction limit */ > > Unless I am completely misreading the spec. While you have picked the > right register to save the offsets should be 0x08 and 0x0c or 8 and 12.... No, the spec is written in terms of dwords (32 bit), we are storing words (16 bits). The data at offsets 8 and 12 is read-only split transaction capacity. Split transaction limit starts at bit 16 so you need to add 2 to byte offset. Right? -- MST ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-11 11:24 ` Michael S. Tsirkin @ 2007-03-11 17:37 ` Eric W. Biederman 2007-03-11 18:03 ` Michael S. Tsirkin 2007-04-16 19:56 ` Michael S. Tsirkin 1 sibling, 1 reply; 104+ messages in thread From: Eric W. Biederman @ 2007-03-11 17:37 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Kok, Auke, Michal Piotrowski, Jeff Garzik, Ingo Molnar, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Andrew Morton "Michael S. Tsirkin" <mst@mellanox.co.il> writes: >> Quoting Eric W. Biederman <ebiederm@xmission.com>: >> Subject: Re: SATA resume slowness, e1000 MSI warning >> >> "Michael S. Tsirkin" <mst@mellanox.co.il> writes: >> >> >> The only case I can see which might trigger this is if we saved >> >> pci-X state and then didn't restore it because we could not find >> >> the capability on restore. >> > >> > Hmm. pci_save_pcix_state/pci_restore_pcix_state seem to only handle >> > regular devices and seem to ignore the fact that for bridge PCI-X >> > capability has a different structure. >> > >> > Is this intentional? >> >> Probably not a such. I don't think we have any drivers for bridge >> devices so I don't think it matters. It likely wouldn't hurt to fix >> it just in case though. >> >> Do any of the mellanox cards do anything with the bridge on the card? > > Yes but they do their own thing wrt saving/restoring registers. > Look at drivers/infiniband/hw/mthca/mthca_reset.c > >> > If not, here's a patch to fix this. Warning: completely untested. >> >> If you fix the offsets and diff this against my last fix (to never >> free the buffer) I think your patch makes sense. > > Let's agree what the correct offsets are. > >> > PCI: restore bridge PCI-X capability registers after PM event >> > >> > Restore PCI-X bridge up/downstream capability registers >> > after PM event. This includes maxumum split transaction >> > commitment limit which might be vital for PCI X. >> > >> > Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> >> > >> > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c >> > index df49530..4b788ef 100644 >> > --- a/drivers/pci/pci.c >> > +++ b/drivers/pci/pci.c >> > @@ -597,14 +597,19 @@ static int pci_save_pcix_state(struct pci_dev *dev) >> > if (pos <= 0) >> > return 0; >> > >> > - save_state = kzalloc(sizeof(*save_state) + sizeof(u16), GFP_KERNEL); >> > + save_state = kzalloc(sizeof(*save_state) + sizeof(u16) * 2, GFP_KERNEL); >> > if (!save_state) { >> > - dev_err(&dev->dev, "Out of memory in pci_save_pcie_state\n"); >> > + dev_err(&dev->dev, "Out of memory in pci_save_pcix_state\n"); >> > return -ENOMEM; >> > } >> > cap = (u16 *)&save_state->data[0]; >> > >> > - pci_read_config_word(dev, pos + PCI_X_CMD, &cap[i++]); >> > + if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { >> >> This appears to be the proper test. >> >> > + pci_read_config_word(dev, pos + PCI_X_BRIDGE_UP_SPL_CTL, &cap[i++]); >> > + pci_read_config_word(dev, pos + PCI_X_BRIDGE_DN_SPL_CTL, &cap[i++]); >> > + } else >> > + pci_read_config_word(dev, pos + PCI_X_CMD, &cap[i++]); >> > + >> > pci_add_saved_cap(dev, save_state); >> > return 0; >> > } >> > @@ -621,7 +626,11 @@ static void pci_restore_pcix_state(struct pci_dev *dev) >> > return; >> > cap = (u16 *)&save_state->data[0]; >> > >> > - pci_write_config_word(dev, pos + PCI_X_CMD, cap[i++]); >> > + if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { >> > + pci_write_config_word(dev, pos + PCI_X_BRIDGE_UP_SPL_CTL, cap[i++]); >> > + pci_write_config_word(dev, pos + PCI_X_BRIDGE_DN_SPL_CTL, cap[i++]); >> >> These look like the proper two registers to save. >> >> > + } else >> > + pci_write_config_word(dev, pos + PCI_X_CMD, cap[i++]); >> > pci_remove_saved_cap(save_state); >> > kfree(save_state); >> > } >> > diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h >> > index f09cce2..fb7eefd 100644 >> > --- a/include/linux/pci_regs.h >> > +++ b/include/linux/pci_regs.h >> > @@ -332,6 +332,8 @@ >> > #define PCI_X_STATUS_SPL_ERR 0x20000000 /* Rcvd Split Completion Error Msg > */ >> > #define PCI_X_STATUS_266MHZ 0x40000000 /* 266 MHz capable */ >> > #define PCI_X_STATUS_533MHZ 0x80000000 /* 533 MHz capable */ >> > +#define PCI_X_BRIDGE_UP_SPL_CTL 10 /* PCI-X upstream split transaction > limit */ >> > +#define PCI_X_BRIDGE_DN_SPL_CTL 14 /* PCI-X downstream split transaction > limit */ >> >> Unless I am completely misreading the spec. While you have picked the >> right register to save the offsets should be 0x08 and 0x0c or 8 and 12.... > > No, the spec is written in terms of dwords (32 bit), we are storing words (16 > bits). > The data at offsets 8 and 12 is read-only split transaction capacity. > Split transaction limit starts at bit 16 so you need to add 2 to byte offset. > > Right? >From that perspective it makes sense. So I will agree with the way you are thinking the code works. The read-only and the read-write part are all defined as part of the same register so I didn't expect them to be separate. And I hadn't paid attention enough to see that the code was only saving 16bit values. Rumor has it that some pci devices can't tolerate < 32bit accesses. Although I have never met one. The two factors together suggest that for generic code it probably makes sense to operate on 32bit quantities, and just to ignore the read-only portion. Eric ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-11 17:37 ` Eric W. Biederman @ 2007-03-11 18:03 ` Michael S. Tsirkin 2007-03-11 18:27 ` Eric W. Biederman 0 siblings, 1 reply; 104+ messages in thread From: Michael S. Tsirkin @ 2007-03-11 18:03 UTC (permalink / raw) To: Eric W. Biederman Cc: Kok, Auke, Michal Piotrowski, Jeff Garzik, Ingo Molnar, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Andrew Morton > Rumor has it that some pci devices can't tolerate < 32bit accesses. > Although I have never met one. hopefully not bridge devices? > The two factors together suggest that > for generic code it probably makes sense to operate on 32bit > quantities, and just to ignore the read-only portion. The code for regular devices seems to use 16-bit accesses, so I think it's best to stay consistent. Or do you want to change this too? -- MST ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-11 18:03 ` Michael S. Tsirkin @ 2007-03-11 18:27 ` Eric W. Biederman 2007-03-11 18:37 ` Michael S. Tsirkin 0 siblings, 1 reply; 104+ messages in thread From: Eric W. Biederman @ 2007-03-11 18:27 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Kok, Auke, Michal Piotrowski, Jeff Garzik, Ingo Molnar, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Andrew Morton "Michael S. Tsirkin" <mst@mellanox.co.il> writes: >> Rumor has it that some pci devices can't tolerate < 32bit accesses. >> Although I have never met one. > > hopefully not bridge devices? > >> The two factors together suggest that >> for generic code it probably makes sense to operate on 32bit >> quantities, and just to ignore the read-only portion. > > The code for regular devices seems to use 16-bit accesses, so > I think it's best to stay consistent. Or do you want to change this too? If we are stomping rare probabilities we might as well change that too. The code to save pci-x state is relatively recent. So it probably just hasn't met a problem device yet (assuming they exist). Eric ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-11 18:27 ` Eric W. Biederman @ 2007-03-11 18:37 ` Michael S. Tsirkin 2007-03-11 19:50 ` Eric W. Biederman 0 siblings, 1 reply; 104+ messages in thread From: Michael S. Tsirkin @ 2007-03-11 18:37 UTC (permalink / raw) To: Eric W. Biederman Cc: Kok, Auke, Michal Piotrowski, Jeff Garzik, Ingo Molnar, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Andrew Morton > Quoting Eric W. Biederman <ebiederm@xmission.com>: > Subject: Re: SATA resume slowness, e1000 MSI warning > > "Michael S. Tsirkin" <mst@mellanox.co.il> writes: > > >> Rumor has it that some pci devices can't tolerate < 32bit accesses. > >> Although I have never met one. > > > > hopefully not bridge devices? > > > >> The two factors together suggest that > >> for generic code it probably makes sense to operate on 32bit > >> quantities, and just to ignore the read-only portion. > > > > The code for regular devices seems to use 16-bit accesses, so > > I think it's best to stay consistent. Or do you want to change this too? > > If we are stomping rare probabilities we might as well change that too. > The code to save pci-x state is relatively recent. So it probably just > hasn't met a problem device yet (assuming they exist). OK I guess. I gather we assume writing read-only registers has no side effects? Are there rumors circulating wrt to these? -- MST ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-11 18:37 ` Michael S. Tsirkin @ 2007-03-11 19:50 ` Eric W. Biederman 2007-03-12 4:35 ` Michael S. Tsirkin 0 siblings, 1 reply; 104+ messages in thread From: Eric W. Biederman @ 2007-03-11 19:50 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Kok, Auke, Michal Piotrowski, Jeff Garzik, Ingo Molnar, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Andrew Morton "Michael S. Tsirkin" <mst@mellanox.co.il> writes: > OK I guess. I gather we assume writing read-only registers has no side effects? > Are there rumors circulating wrt to these? I haven't heard anything about that, and if we are writing the same value back it should be pretty safe. I have heard it asserted that at least one version of the pci spec only required 32bit accesses to be supported by the hardware. One of these days I will have to look that and see if it is true. I do know it can be weird for hardware developers to support multiple kinds of decode. As I recall for pci and pci-x at the hardware level the only difference in between 32bit transactions and smaller ones is the state of the byte-enable lines. Eric ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-11 19:50 ` Eric W. Biederman @ 2007-03-12 4:35 ` Michael S. Tsirkin 0 siblings, 0 replies; 104+ messages in thread From: Michael S. Tsirkin @ 2007-03-12 4:35 UTC (permalink / raw) To: Eric W. Biederman Cc: Kok, Auke, Michal Piotrowski, Jeff Garzik, Ingo Molnar, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Linus Torvalds, Andrew Morton > Quoting Eric W. Biederman <ebiederm@xmission.com>: > Subject: Re: SATA resume slowness, e1000 MSI warning > > "Michael S. Tsirkin" <mst@mellanox.co.il> writes: > > > OK I guess. I gather we assume writing read-only registers has no side effects? > > Are there rumors circulating wrt to these? > > I haven't heard anything about that, and if we are writing the same value back > it should be pretty safe. > > I have heard it asserted that at least one version of the pci spec > only required 32bit accesses to be supported by the hardware. One of > these days I will have to look that and see if it is true. Maybe. But surely before the PCI-X days. > I do know > it can be weird for hardware developers to support multiple kinds of > decode. Is this the only place where Linux uses pci_read_config_word/pci_read_config_dword? I think such hardware will be pretty much DOA on all OS-es. Why don't we wait and see whether someone reports a broken config? > As I recall for pci and pci-x at the hardware level the only > difference in between 32bit transactions and smaller ones is the state > of the byte-enable lines. True, and same holds for PCI-Express. So let's assume hardware implements RO correctly but ignores the BE bits - nothing bad happens then, right? -- MST ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-11 11:24 ` Michael S. Tsirkin 2007-03-11 17:37 ` Eric W. Biederman @ 2007-04-16 19:56 ` Michael S. Tsirkin 1 sibling, 0 replies; 104+ messages in thread From: Michael S. Tsirkin @ 2007-04-16 19:56 UTC (permalink / raw) To: Eric W. Biederman Cc: Andrew Morton, Kok, Auke, Ingo Molnar, Jeff Garzik, Linus Torvalds, Pavel Machek, Jens Axboe, Adrian Bunk, Linux Kernel Mailing List, Thomas Gleixner, linux-pm, Michal Piotrowski > > > Hmm. pci_save_pcix_state/pci_restore_pcix_state seem to only handle > > > regular devices and seem to ignore the fact that for bridge PCI-X > > > capability has a different structure. > > > > > > Is this intentional? > > > > Probably not a such. I don't think we have any drivers for bridge > > devices so I don't think it matters. It likely wouldn't hurt to fix > > it just in case though. > > > > Do any of the mellanox cards do anything with the bridge on the card? > > Yes but they do their own thing wrt saving/restoring registers. > Look at drivers/infiniband/hw/mthca/mthca_reset.c > > > > If not, here's a patch to fix this. Warning: completely untested. > > > > If you fix the offsets and diff this against my last fix (to never > > free the buffer) I think your patch makes sense. > > Let's agree what the correct offsets are. > > > > PCI: restore bridge PCI-X capability registers after PM event > > > > > > Restore PCI-X bridge up/downstream capability registers > > > after PM event. This includes maxumum split transaction > > > commitment limit which might be vital for PCI X. > > > > > > Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> > > > > > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > > > index df49530..4b788ef 100644 > > > --- a/drivers/pci/pci.c > > > +++ b/drivers/pci/pci.c > > > @@ -597,14 +597,19 @@ static int pci_save_pcix_state(struct pci_dev *dev) > > > if (pos <= 0) > > > return 0; > > > > > > - save_state = kzalloc(sizeof(*save_state) + sizeof(u16), GFP_KERNEL); > > > + save_state = kzalloc(sizeof(*save_state) + sizeof(u16) * 2, GFP_KERNEL); > > > if (!save_state) { > > > - dev_err(&dev->dev, "Out of memory in pci_save_pcie_state\n"); > > > + dev_err(&dev->dev, "Out of memory in pci_save_pcix_state\n"); > > > return -ENOMEM; > > > } > > > cap = (u16 *)&save_state->data[0]; > > > > > > - pci_read_config_word(dev, pos + PCI_X_CMD, &cap[i++]); > > > + if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { > > > > This appears to be the proper test. > > > > > + pci_read_config_word(dev, pos + PCI_X_BRIDGE_UP_SPL_CTL, &cap[i++]); > > > + pci_read_config_word(dev, pos + PCI_X_BRIDGE_DN_SPL_CTL, &cap[i++]); > > > + } else > > > + pci_read_config_word(dev, pos + PCI_X_CMD, &cap[i++]); > > > + > > > pci_add_saved_cap(dev, save_state); > > > return 0; > > > } > > > @@ -621,7 +626,11 @@ static void pci_restore_pcix_state(struct pci_dev *dev) > > > return; > > > cap = (u16 *)&save_state->data[0]; > > > > > > - pci_write_config_word(dev, pos + PCI_X_CMD, cap[i++]); > > > + if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { > > > + pci_write_config_word(dev, pos + PCI_X_BRIDGE_UP_SPL_CTL, cap[i++]); > > > + pci_write_config_word(dev, pos + PCI_X_BRIDGE_DN_SPL_CTL, cap[i++]); > > > > These look like the proper two registers to save. > > > > > + } else > > > + pci_write_config_word(dev, pos + PCI_X_CMD, cap[i++]); > > > pci_remove_saved_cap(save_state); > > > kfree(save_state); > > > } > > > diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h > > > index f09cce2..fb7eefd 100644 > > > --- a/include/linux/pci_regs.h > > > +++ b/include/linux/pci_regs.h > > > @@ -332,6 +332,8 @@ > > > #define PCI_X_STATUS_SPL_ERR 0x20000000 /* Rcvd Split Completion Error Msg */ > > > #define PCI_X_STATUS_266MHZ 0x40000000 /* 266 MHz capable */ > > > #define PCI_X_STATUS_533MHZ 0x80000000 /* 533 MHz capable */ > > > +#define PCI_X_BRIDGE_UP_SPL_CTL 10 /* PCI-X upstream split transaction limit */ > > > +#define PCI_X_BRIDGE_DN_SPL_CTL 14 /* PCI-X downstream split transaction limit */ > > > > Unless I am completely misreading the spec. While you have picked the > > right register to save the offsets should be 0x08 and 0x0c or 8 and 12.... > > No, the spec is written in terms of dwords (32 bit), we are storing words (16 bits). > The data at offsets 8 and 12 is read-only split transaction capacity. > Split transaction limit starts at bit 16 so you need to add 2 to byte offset. So, Eric, what are your thoughts on this patch (probably wrt 2.6.22)? Since the rest of the save/restore code uses 16 bit transactions, it should be safe here too? -- MST ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-07 19:28 ` Eric W. Biederman 2007-03-08 2:53 ` Andrew Morton @ 2007-03-09 23:06 ` Kok, Auke 2007-03-10 3:41 ` Eric W. Biederman 1 sibling, 1 reply; 104+ messages in thread From: Kok, Auke @ 2007-03-09 23:06 UTC (permalink / raw) To: Eric W. Biederman Cc: Andrew Morton, Jeff Garzik, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Ingo Molnar, Michal Piotrowski Eric W. Biederman wrote: [CHOP] > Below is an additional set of warnings that should help debug this. > The old code just got lucky that it triggered a warning when this happens. I'm trying this patch together with the other 2 that you sent out a few days ago. I'm seeing some minor issues with this and lots of bogus warnings as far as I can see. If I suspend/resume and unload e1000, then reinsert e1000.ko, I immediately hit the WARN_ON at `msi.c:516: WARN_ON(!hlist_empty(&dev->saved_cap_space));` I'm not sure that's useful debugging information. even though saved state exists the module has been removed, so you might want to purge the state table when the driver gets removed? anyway, back to testing. Auke > > diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c > index 01869b1..5113913 100644 > --- a/drivers/pci/msi.c > +++ b/drivers/pci/msi.c > @@ -613,6 +613,7 @@ int pci_enable_msi(struct pci_dev* dev) > return -EINVAL; > > WARN_ON(!!dev->msi_enabled); > + WARN_ON(!hlist_empty(&dev->saved_cap_space)); > > /* Check whether driver already requested for MSI-X irqs */ > if (dev->msix_enabled) { > @@ -638,6 +639,8 @@ void pci_disable_msi(struct pci_dev* dev) > if (!dev->msi_enabled) > return; > > + WARN_ON(!hlist_empty(&dev->saved_cap_space)); > + > msi_set_enable(dev, 0); > pci_intx(dev, 1); /* enable intx */ > dev->msi_enabled = 0; > @@ -739,6 +742,7 @@ int pci_enable_msix(struct pci_dev* dev, struct msix_entry *entries, int nvec) > } > } > WARN_ON(!!dev->msix_enabled); > + WARN_ON(!hlist_empty(&dev->saved_cap_space)); > > /* Check whether driver already requested for MSI irq */ > if (dev->msi_enabled) { > @@ -763,6 +767,8 @@ void pci_disable_msix(struct pci_dev* dev) > if (!dev->msix_enabled) > return; > > + WARN_ON(!hlist_empty(&dev->saved_cap_space)); > + > msix_set_enable(dev, 0); > pci_intx(dev, 1); /* enable intx */ > dev->msix_enabled = 0; > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > index bd44a48..4418839 100644 > --- a/drivers/pci/pci.c > +++ b/drivers/pci/pci.c > @@ -677,6 +677,7 @@ pci_restore_state(struct pci_dev *dev) > } > pci_restore_pcix_state(dev); > pci_restore_msi_state(dev); > + WARN_ON(!hlist_empty(&dev->saved_cap_space)); > > return 0; > } ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-09 23:06 ` Kok, Auke @ 2007-03-10 3:41 ` Eric W. Biederman 0 siblings, 0 replies; 104+ messages in thread From: Eric W. Biederman @ 2007-03-10 3:41 UTC (permalink / raw) To: Kok, Auke Cc: Andrew Morton, Jeff Garzik, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Thomas Gleixner, Linus Torvalds, Ingo Molnar, Michal Piotrowski "Kok, Auke" <auke-jan.h.kok@intel.com> writes: > Eric W. Biederman wrote: > > [CHOP] > >> Below is an additional set of warnings that should help debug this. >> The old code just got lucky that it triggered a warning when this happens. > > > I'm trying this patch together with the other 2 that you sent out a few days > ago. I'm seeing some minor issues with this and lots of bogus warnings as far as > I can see. > > If I suspend/resume and unload e1000, then reinsert e1000.ko, I immediately hit > the WARN_ON at `msi.c:516: WARN_ON(!hlist_empty(&dev->saved_cap_space));` > > I'm not sure that's useful debugging information. even though saved state exists > the module has been removed, so you might want to purge the state table when the > driver gets removed? > > > anyway, back to testing. Sorry I should have been clear. With the last two patches I sent out: pci: Repair pci_save/restore_state so we can restore one save many times. msi: Safer state caching. Those WARN_ON's are now totally bogus. In essence the WARN_ON's were testing to ensure pci_save_state and pci_restore_state were paired. The assumptions was that pci_restore_state would remove everything from the list that pci_save_state placed on it. When I reworked the code and removed the bogus pairing requirement it meant that if we ever save state and have a pci-e or pci-x capability we will have a state structure on the list until the kernel reboots. In summary: pci_save_state and pci_restore_state were making a wrong assumption about the world. The WARN_ON patch tested to ensure the world matched those functions. When I fixed those functions to match the world the WARN_ON's became completely bogus. Eric ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-05 10:11 ` SATA resume slowness, e1000 MSI warning Ingo Molnar 2007-03-06 5:30 ` Jeff Garzik @ 2007-03-06 9:06 ` Ingo Molnar 2007-03-06 16:26 ` Thomas Gleixner 2 siblings, 0 replies; 104+ messages in thread From: Ingo Molnar @ 2007-03-06 9:06 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Auke Kok, Michal Piotrowski, Linus Torvalds, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Thomas Gleixner, Jeff Garzik, Andrew Morton * Ingo Molnar <mingo@elte.hu> wrote: > with real resume it takes even longer time - but i dont see where the > delays come from in that case - i suspect it's SATA. update: Thomas' PIT/HPET resume-fix patch fixed the delay for me. Ingo ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-05 10:11 ` SATA resume slowness, e1000 MSI warning Ingo Molnar 2007-03-06 5:30 ` Jeff Garzik 2007-03-06 9:06 ` Ingo Molnar @ 2007-03-06 16:26 ` Thomas Gleixner 2007-03-06 16:52 ` Linus Torvalds 2 siblings, 1 reply; 104+ messages in thread From: Thomas Gleixner @ 2007-03-06 16:26 UTC (permalink / raw) To: Ingo Molnar Cc: Auke Kok, Michal Piotrowski, Linus Torvalds, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Andrew Morton, Jeff Garzik On Mon, 2007-03-05 at 11:11 +0100, Ingo Molnar wrote: > the spin-up takes a few seconds here under suspend/resume simulation: > > | ata1: waiting for device to spin up (7 secs) > | Restarting tasks ... done. > > [5-10 seconds pass] > > | ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300) > | ata1.00: configured for UDMA/100 > | SCSI device sda: 156301488 512-byte hdwr sectors (80026 MB) > | sda: Write Protect is off > | sda: Mode Sense: 00 3a 00 00 > | SCSI device sda: write cache: enabled, read cache: enabled, doesn't support DPO or FUA > > with real resume it takes even longer time - but i dont see where the > delays come from in that case - i suspect it's SATA. SATA has another nice feature. Somehow there is an interrupt pending on the SATA controller, which comes in somewhere in the middle of resume. If it happens before the SATA code resumed, the SATA code ignores the interrupt and the interrupt is disabled due to "nobody cared", which in turn prevents SATA to ever become functional again. Any idea on that one ? tglx ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-06 16:26 ` Thomas Gleixner @ 2007-03-06 16:52 ` Linus Torvalds 2007-03-06 17:09 ` Kok, Auke 0 siblings, 1 reply; 104+ messages in thread From: Linus Torvalds @ 2007-03-06 16:52 UTC (permalink / raw) To: Thomas Gleixner Cc: Auke Kok, Michal Piotrowski, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Ingo Molnar, Jeff Garzik, Andrew Morton On Tue, 6 Mar 2007, Thomas Gleixner wrote: > > SATA has another nice feature. Somehow there is an interrupt pending on > the SATA controller, which comes in somewhere in the middle of resume. > If it happens before the SATA code resumed, the SATA code ignores the > interrupt and the interrupt is disabled due to "nobody cared", which in > turn prevents SATA to ever become functional again. Jeff - that sounds like a SATA bug. If you have an interrupt handler registered, you'd better handle the interrupt regardless of whether you think the hardware might be gone or not. It's generally *not* ok to do if (device_offline()) return IRQ_NONE; at the top of an interrupt handler. Of course, if you think the hardware is supposed to be quiescent, then the only thing you should do is generally just do the "shut up" operation (ie read status, write it back or whatever). You must generally *not* try to pass any data upwards (ie if the higher layers have told you to shut up, you may need to handle the hardware, but you must not involve the higher layers themselves any more, because they expect you to be quiet). And if you cannot do that because you need to resume in order to have the status register mapped, then you need to have an "early_resume()" function which gets called *before* interrupts are enabled. That's what early-resume (and late-suspend) are designed for: doing things that happen very early in the resume sequence before everything is up. And if you don't want to do any of these things (or are unable to, because of some ordering constraint or bad design), then you simply need to unregister and re-register the interrupt handler over sleep. > Any idea on that one ? Jeff, Auke, does this ring any bells? Linus ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: SATA resume slowness, e1000 MSI warning 2007-03-06 16:52 ` Linus Torvalds @ 2007-03-06 17:09 ` Kok, Auke 0 siblings, 0 replies; 104+ messages in thread From: Kok, Auke @ 2007-03-06 17:09 UTC (permalink / raw) To: Linus Torvalds Cc: Michal Piotrowski, Ingo Molnar, linux-pm, Linux Kernel Mailing List, Adrian Bunk, Pavel Machek, Jens Axboe, Michael S. Tsirkin, Andrew Morton, Jeff Garzik, Thomas Gleixner Linus Torvalds wrote: > > On Tue, 6 Mar 2007, Thomas Gleixner wrote: >> SATA has another nice feature. Somehow there is an interrupt pending on >> the SATA controller, which comes in somewhere in the middle of resume. >> If it happens before the SATA code resumed, the SATA code ignores the >> interrupt and the interrupt is disabled due to "nobody cared", which in >> turn prevents SATA to ever become functional again. > > And if you don't want to do any of these things (or are unable to, because > of some ordering constraint or bad design), then you simply need to > unregister and re-register the interrupt handler over sleep. > >> Any idea on that one ? > > Jeff, Auke, does this ring any bells? For the e1000 issue, the problem is solved with Eric Biederman's 3-patch msi cleanups. You should have another message in your mailbox confirming that I tested his patches and the MSI warning for e1000 suspend-resume is gone with them. Cheers, Auke ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-05 8:42 ` Michael S. Tsirkin 2007-03-05 10:11 ` SATA resume slowness, e1000 MSI warning Ingo Molnar @ 2007-03-09 6:44 ` Pavel Machek 1 sibling, 0 replies; 104+ messages in thread From: Pavel Machek @ 2007-03-09 6:44 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Daniel Walker, Michal Piotrowski, Jens Axboe, Adrian Bunk, Linus Torvalds, Thomas Gleixner, Ingo Molnar, linux-pm, Andrew Morton, Linux Kernel Mailing List Hi! > Pavel, I tried with your .config, and indeed the system came back to life after > 2-3 minutes after I press Fn/F4, indeed the issue seems to be with the disk. > It could be that the same takes place with my original .config - maybe > I just wasn't patient enough. I'll need to re-test that. > > However, I noticed that, after resume, when the system is presumably functional, > if I try to suspend to ram again, this second suspend hangs, displaying > the following on screen: > > [ 17.170000] ACPI: PCI Interrupt 0000:02:00.0[A] -> GSI 16 (level, low) -> IRQ 20 > [ 17.170000] PCI: Setting latency timer of device 0000:02:00.0 to 64 > [ 17.250000] e1000: 0000:02:00.0: e1000_probe: (PCI Express:2.5Gb/s:Width x1) 00:16:41:5 > 4:6c:47 > [ 17.330000] e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection > > the crescent LED starts blinking and does not seem to stop for at lest 10 min, > I've run out of patience after that. It could be that it's just very slow again. > > Pavel, did you try suspend to RAM after a successfull resume from > RAM? Seems to work ok in -rc3... as long as I do not mix s2ram with s2disk. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-03-01 9:34 ` Ingo Molnar 2007-03-01 10:41 ` Ingo Molnar 2007-03-02 10:07 ` Pavel Machek @ 2007-03-05 15:34 ` Michael S. Tsirkin 2 siblings, 0 replies; 104+ messages in thread From: Michael S. Tsirkin @ 2007-03-05 15:34 UTC (permalink / raw) To: Ingo Molnar Cc: Daniel Walker, Thomas Gleixner, Michal Piotrowski, Pavel Machek, Jens Axboe, linux-pm, Andrew Morton, Linus Torvalds, Linux Kernel Mailing List, Adrian Bunk > Quoting Ingo Molnar <mingo@elte.hu>: > Subject: Re: 2.6.21-rc1: known regressions (part 2) > > > * Jens Axboe <jens.axboe@oracle.com> wrote: > > > f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 works for me, [...] > > update: f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 works for me too, and > 01363220f5d23ef68276db8974e46a502e43d01d is broken. I too will attempt > to bisect this. f3ccb06f3b8e0cf42b579db21f3ca7f17fcc3f38 works for me, too. -- MST ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-02-27 10:02 ` Jens Axboe 2007-02-27 10:21 ` Pavel Machek @ 2007-02-27 22:09 ` Adrian Bunk 2007-02-28 7:41 ` Jens Axboe 1 sibling, 1 reply; 104+ messages in thread From: Adrian Bunk @ 2007-02-27 22:09 UTC (permalink / raw) To: Jens Axboe Cc: linux-pm, Thomas Gleixner, Michal Piotrowski, Daniel Walker, Michael S. Tsirkin, Andrew Morton, Linus Torvalds, Ingo Molnar, Linux Kernel Mailing List On Tue, Feb 27, 2007 at 11:02:02AM +0100, Jens Axboe wrote: > On Sun, Feb 25 2007, Adrian Bunk wrote: > > This email lists some known regressions in 2.6.21-rc1 compared to 2.6.20 > > that are not yet fixed in Linus' tree. > > > > If you find your name in the Cc header, you are either submitter of one > > of the bugs, maintainer of an affectected subsystem or driver, a patch > > of you caused a breakage or I'm considering you in any other way possibly > > involved with one or more of these issues. > > > > Due to the huge amount of recipients, please trim the Cc when answering. > > > > > > Subject : ThinkPad T60: system doesn't come out of suspend to RAM > > (CONFIG_NO_HZ) > > References : http://lkml.org/lkml/2007/2/22/391 > > Submitter : Michael S. Tsirkin <mst@mellanox.co.il> > > Thomas Gleixner <tglx@linutronix.de> > > Handled-By : Ingo Molnar <mingo@elte.hu> > > Status : unknown > > x60 doesn't resume from S2R either, it doesn't matter if CONFIG_NO_HZ is > set or not though. 2.6.20 worked fine. Is this Subject : ThinkPad T60: no screen after suspend to RAM References : http://lkml.org/lkml/2007/2/22/391 Submitter : Michael S. Tsirkin <mst@mellanox.co.il> Ingo Molnar <mingo@elte.hu> Handled-By : Ingo Molnar <mingo@elte.hu> Status : unknown or doesn't it resume at all? > Jens Axboe cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (part 2) 2007-02-27 22:09 ` Adrian Bunk @ 2007-02-28 7:41 ` Jens Axboe 0 siblings, 0 replies; 104+ messages in thread From: Jens Axboe @ 2007-02-28 7:41 UTC (permalink / raw) To: Adrian Bunk Cc: linux-pm, Thomas Gleixner, Michal Piotrowski, Daniel Walker, Michael S. Tsirkin, Andrew Morton, Linus Torvalds, Ingo Molnar, Linux Kernel Mailing List On Tue, Feb 27 2007, Adrian Bunk wrote: > On Tue, Feb 27, 2007 at 11:02:02AM +0100, Jens Axboe wrote: > > On Sun, Feb 25 2007, Adrian Bunk wrote: > > > This email lists some known regressions in 2.6.21-rc1 compared to 2.6.20 > > > that are not yet fixed in Linus' tree. > > > > > > If you find your name in the Cc header, you are either submitter of one > > > of the bugs, maintainer of an affectected subsystem or driver, a patch > > > of you caused a breakage or I'm considering you in any other way possibly > > > involved with one or more of these issues. > > > > > > Due to the huge amount of recipients, please trim the Cc when answering. > > > > > > > > > Subject : ThinkPad T60: system doesn't come out of suspend to RAM > > > (CONFIG_NO_HZ) > > > References : http://lkml.org/lkml/2007/2/22/391 > > > Submitter : Michael S. Tsirkin <mst@mellanox.co.il> > > > Thomas Gleixner <tglx@linutronix.de> > > > Handled-By : Ingo Molnar <mingo@elte.hu> > > > Status : unknown > > > > x60 doesn't resume from S2R either, it doesn't matter if CONFIG_NO_HZ is > > set or not though. 2.6.20 worked fine. > > Is this > > Subject : ThinkPad T60: no screen after suspend to RAM > References : http://lkml.org/lkml/2007/2/22/391 > Submitter : Michael S. Tsirkin <mst@mellanox.co.il> > Ingo Molnar <mingo@elte.hu> > Handled-By : Ingo Molnar <mingo@elte.hu> > Status : unknown > > or doesn't it resume at all? It doesn't resume at all. -- Jens Axboe ^ permalink raw reply [flat|nested] 104+ messages in thread
* 2.6.21-rc1: known regressions (v2) (part 1) [not found] <Pine.LNX.4.64.0702202043280.4043@woody.linux-foundation.org> 2007-02-25 17:52 ` 2.6.21-rc1: known regressions (part 1) Adrian Bunk 2007-02-25 17:55 ` 2.6.21-rc1: known regressions (part 2) Adrian Bunk @ 2007-02-26 22:01 ` Adrian Bunk 2007-02-27 4:09 ` Sergio Monteiro Basto ` (2 more replies) 2 siblings, 3 replies; 104+ messages in thread From: Adrian Bunk @ 2007-02-26 22:01 UTC (permalink / raw) To: Linus Torvalds, Andrew Morton Cc: Linux Kernel Mailing List, Pavel Machek, Marcel Holtmann, linux-pm, Michael S. Tsirkin, Ingo Molnar, lenb, linux-acpi, luming.yu, Arkadiusz Miskiewicz, Konstantin Karasyov, linux-usb-devel, Ismail Dönmez, Fabio Comolli, Thomas Meyer, Andrew Nelless, Antonino A. Daplas, Janosch Machowinski, vladimir.p.lebedev, Lukas Hejtmanek, Meelis Roos, jgarzik, linux-ide, Tejun Heo This email lists some known regressions in 2.6.21-rc1 compared to 2.6.20 that are not yet fixed in Linus' tree. If you find your name in the Cc header, you are either submitter of one of the bugs, maintainer of an affectected subsystem or driver, a patch of you caused a breakage or I'm considering you in any other way possibly involved with one or more of these issues. Due to the huge amount of recipients, please trim the Cc when answering. Subject : resume: slab error in verify_redzone_free(): cache `size-512': memory outside object was overwritten References : http://lkml.org/lkml/2007/2/24/41 Submitter : Pavel Machek <pavel@ucw.cz> Handled-By : Marcel Holtmann <marcel@holtmann.org> Status : unknown Subject : ThinkPad T60: no screen after suspend to RAM References : http://lkml.org/lkml/2007/2/22/391 Submitter : Michael S. Tsirkin <mst@mellanox.co.il> Handled-By : Ingo Molnar <mingo@elte.hu> Status : unknown Subject : HP nx6325 notebook: usb mouse stops working after suspend to ram References : http://lkml.org/lkml/2007/2/21/413 Submitter : Arkadiusz Miskiewicz <arekm@maven.pl> Caused-By : Konstantin Karasyov <konstantin.a.karasyov@intel.com> commit 0a6139027f3986162233adc17285151e78b39cac Status : unknown Subject : ACPI update breaks kpowersave References : http://lkml.org/lkml/2007/2/10/7 Submitter : Ismail Dönmez <ismail@pardus.org.tr> Fabio Comolli <fabio.comolli@gmail.com> Status : unknown Subject : MacBook: AE_NOT_FOUND ACPI messages References : http://bugzilla.kernel.org/show_bug.cgi?id=8066 Submitter : Thomas Meyer <thomas.mey@web.de> Status : unknown Subject : Asus A8N-VM motherboard: framebuffer/console boot failure boot failure (ACPI related) References : http://lkml.org/lkml/2007/2/23/132 Submitter : Andrew Nelless <andrew@nelless.net> Handled-By : Antonino A. Daplas <adaplas@gmail.com> Status : problem is being debugged Subject : Asus M6Ne notebook: ACPI: First battery is not detected References : http://bugzilla.kernel.org/show_bug.cgi?id=8080 Submitter : Janosch Machowinski <jmachowinski@gmx.de> Status : unknown Subject : Asus M6Ne/M6A notebooks: SATA_ACPI errors during kernel boot References : http://bugzilla.kernel.org/show_bug.cgi?id=8080 http://bugzilla.kernel.org/show_bug.cgi?id=8046 Submitter : Janosch Machowinski <jmachowinski@gmx.de> Lukas Hejtmanek <xhejtman@fi.muni.cz> Status : unknown Subject : ata-piix ACPI errors (40/80 pin cable mix) References : http://lkml.org/lkml/2007/2/22/159 Submitter : Meelis Roos <mroos@linux.ee> Status : unknown Subject : libata: PATA UDMA/100 configured as UDMA/33 References : http://lkml.org/lkml/2007/2/20/294 http://www.mail-archive.com/linux-ide@vger.kernel.org/msg04115.html Submitter : Fabio Comolli <fabio.comolli@gmail.com> Handled-By : Tejun Heo <htejun@gmail.com> Status : problem is being discussed Subject : sata_via failure References : http://bugzilla.kernel.org/show_bug.cgi?id=8025 Submitter : Jean-Luc Coulon <jean.luc.coulon@gmail.com> Markus Trippelsdorf <markus@trippelsdorf.de> Handled-By : Tejun Heo <htejun@gmail.com> Patch : http://www.mail-archive.com/linux-ide@vger.kernel.org/msg03945.html Status : patch available Subject : BUG: at drivers/pci/pci.c:817 pcim_enable_device() (libata) References : http://lkml.org/lkml/2007/2/14/275 http://lkml.org/lkml/2007/2/22/367 Submitter : Rafael J. Wysocki <rjw@sisk.pl> Lukas Hejtmanek <xhejtman@mail.muni.cz> Handled-By : Tejun Heo <htejun@gmail.com> Patch : http://lkml.org/lkml/2007/2/25/102 Status : patch available - To unsubscribe from this list: send the line "unsubscribe linux-acpi" 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] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (v2) (part 1) 2007-02-26 22:01 ` 2.6.21-rc1: known regressions (v2) (part 1) Adrian Bunk @ 2007-02-27 4:09 ` Sergio Monteiro Basto 2007-02-27 12:50 ` S.Çağlar Onur 2007-02-28 21:13 ` Michael S. Tsirkin 2 siblings, 0 replies; 104+ messages in thread From: Sergio Monteiro Basto @ 2007-02-27 4:09 UTC (permalink / raw) To: Adrian Bunk Cc: Tejun Heo, Arkadiusz Miskiewicz, Antonino A. Daplas, Marcel Holtmann, linux-ide, Pavel Machek, Lukas Hejtmanek, Jean-Luc Coulon, Andrew Morton, Ismail Dönmez, linux-usb-devel, Andrew Nelless, jgarzik, Meelis Roos, Janosch Machowinski, linux-pm, Linux Kernel Mailing List, linux-acpi, Fabio Comolli, Thomas Meyer, Michael S. Tsirkin, Ingo Molnar, Linus Torvalds [-- Attachment #1.1: Type: text/plain, Size: 354 bytes --] On Mon, 2007-02-26 at 23:01 +0100, Adrian Bunk wrote: > Subject : MacBook: AE_NOT_FOUND ACPI messages > References : http://bugzilla.kernel.org/show_bug.cgi?id=8066 > Submitter : Thomas Meyer <thomas.mey@web.de> > Status : unknown I think , Messages is not a regression Appears AE_NOT_FOUND messages could be good -- Sérgio M.B. [-- Attachment #1.2: smime.p7s --] [-- Type: application/x-pkcs7-signature, Size: 2192 bytes --] [-- Attachment #2: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (v2) (part 1) 2007-02-26 22:01 ` 2.6.21-rc1: known regressions (v2) (part 1) Adrian Bunk 2007-02-27 4:09 ` Sergio Monteiro Basto @ 2007-02-27 12:50 ` S.Çağlar Onur 2007-02-27 13:25 ` Ismail Dönmez 2007-02-28 21:13 ` Michael S. Tsirkin 2 siblings, 1 reply; 104+ messages in thread From: S.Çağlar Onur @ 2007-02-27 12:50 UTC (permalink / raw) To: Adrian Bunk Cc: Tejun Heo, Arkadiusz Miskiewicz, Antonino A. Daplas, Marcel Holtmann, linux-ide, Pavel Machek, Lukas Hejtmanek, Jean-Luc Coulon, Andrew Morton, Ismail Dönmez, linux-usb-devel, Andrew Nelless, jgarzik, Meelis Roos, Janosch Machowinski, linux-pm, Linux Kernel Mailing List, linux-acpi, Fabio Comolli, Thomas Meyer, Michael S. Tsirkin, Ingo Molnar, Linus Torvalds [-- Attachment #1.1: Type: text/plain, Size: 998 bytes --] 27 Şub 2007 Sal tarihinde, Adrian Bunk şunları yazmıştı: > This email lists some known regressions in 2.6.21-rc1 compared to 2.6.20 > that are not yet fixed in Linus' tree. > > If you find your name in the Cc header, you are either submitter of one > of the bugs, maintainer of an affectected subsystem or driver, a patch > of you caused a breakage or I'm considering you in any other way possibly > involved with one or more of these issues. ... > Subject : ACPI update breaks kpowersave > References : http://lkml.org/lkml/2007/2/10/7 > Submitter : Ismail Dönmez <ismail@pardus.org.tr> > Fabio Comolli <fabio.comolli@gmail.com> > Status : unknown That regression fixed by c2b6705b75d9c7aff98a4602a32230639e10891c according to İsmail [1] [1] http://lkml.org/lkml/2007/2/13/105 -- S.Çağlar Onur <caglar@pardus.org.tr> http://cekirdek.pardus.org.tr/~caglar/ Linux is like living in a teepee. No Windows, no Gates and an Apache in house! [-- Attachment #1.2: Type: application/pgp-signature, Size: 189 bytes --] [-- Attachment #2: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (v2) (part 1) 2007-02-27 12:50 ` S.Çağlar Onur @ 2007-02-27 13:25 ` Ismail Dönmez 0 siblings, 0 replies; 104+ messages in thread From: Ismail Dönmez @ 2007-02-27 13:25 UTC (permalink / raw) To: caglar Cc: Tejun Heo, Arkadiusz Miskiewicz, Antonino A. Daplas, linux-pm, Marcel Holtmann, linux-ide, Pavel Machek, Lukas Hejtmanek, Jean-Luc Coulon, Andrew Morton, linux-usb-devel, Andrew Nelless, jgarzik, Meelis Roos, Janosch Machowinski, Linux Kernel Mailing List, Adrian Bunk, linux-acpi, Fabio Comolli, Thomas Meyer, Michael S. Tsirkin, Ingo Molnar, Linus Torvalds, Markus On Tuesday 27 February 2007 14:50:17 S.Çağlar Onur wrote: > 27 Şub 2007 Sal tarihinde, Adrian Bunk şunları yazmıştı: > > This email lists some known regressions in 2.6.21-rc1 compared to 2.6.20 > > that are not yet fixed in Linus' tree. > > > > If you find your name in the Cc header, you are either submitter of one > > of the bugs, maintainer of an affectected subsystem or driver, a patch > > of you caused a breakage or I'm considering you in any other way possibly > > involved with one or more of these issues. > > ... > > > Subject : ACPI update breaks kpowersave > > References : http://lkml.org/lkml/2007/2/10/7 > > Submitter : Ismail Dönmez <ismail@pardus.org.tr> > > Fabio Comolli <fabio.comolli@gmail.com> > > Status : unknown > > That regression fixed by c2b6705b75d9c7aff98a4602a32230639e10891c according > to İsmail [1] > > [1] http://lkml.org/lkml/2007/2/13/105 Not quite, my laptop died the same day. So I can't do any reliable test. Also Fabio seems to reproduce it with 2.6.21-rc1. Regards, ismail -- In God We Trust Others We Monitor _______________________________________________ linux-pm mailing list linux-pm@lists.osdl.org https://lists.osdl.org/mailman/listinfo/linux-pm ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (v2) (part 1) 2007-02-26 22:01 ` 2.6.21-rc1: known regressions (v2) (part 1) Adrian Bunk 2007-02-27 4:09 ` Sergio Monteiro Basto 2007-02-27 12:50 ` S.Çağlar Onur @ 2007-02-28 21:13 ` Michael S. Tsirkin 2007-02-28 21:27 ` Thomas Gleixner 2007-03-01 3:45 ` Jeff Chua 2 siblings, 2 replies; 104+ messages in thread From: Michael S. Tsirkin @ 2007-02-28 21:13 UTC (permalink / raw) To: Adrian Bunk Cc: Linux Kernel Mailing List, Pavel Machek, linux-pm, Ingo Molnar, lenb, linux-acpi >Subject : ThinkPad T60: no screen after suspend to RAM >References : http://lkml.org/lkml/2007/2/22/391 >Submitter : Michael S. Tsirkin <mst@mellanox.co.il> >Handled-By : Ingo Molnar <mingo@elte.hu> >Status : unknown Just reproduced this in -rc2. Another thing I noticed: with 2.6.20, pressing Fn/F4 generates an ACPI event and triggers suspend to RAM. On 2.6.21-rc2, after resume (when the box is accessible from network), pressing Fn/F4 again does not seem to have any effect. -- MST ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (v2) (part 1) 2007-02-28 21:13 ` Michael S. Tsirkin @ 2007-02-28 21:27 ` Thomas Gleixner 2007-02-28 21:40 ` Michael S. Tsirkin 2007-03-01 3:45 ` Jeff Chua 1 sibling, 1 reply; 104+ messages in thread From: Thomas Gleixner @ 2007-02-28 21:27 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Adrian Bunk, Linux Kernel Mailing List, Pavel Machek, linux-pm, Ingo Molnar, lenb, linux-acpi On Wed, 2007-02-28 at 23:13 +0200, Michael S. Tsirkin wrote: > >Subject : ThinkPad T60: no screen after suspend to RAM > >References : http://lkml.org/lkml/2007/2/22/391 > >Submitter : Michael S. Tsirkin <mst@mellanox.co.il> > >Handled-By : Ingo Molnar <mingo@elte.hu> > >Status : unknown > > Just reproduced this in -rc2. > Another thing I noticed: > with 2.6.20, pressing Fn/F4 generates an ACPI event and triggers suspend to RAM. > > On 2.6.21-rc2, after resume (when the box is accessible from network), > pressing Fn/F4 again does not seem to have any effect. Can you please get the dmesg output after resume via the network ? tglx ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (v2) (part 1) 2007-02-28 21:27 ` Thomas Gleixner @ 2007-02-28 21:40 ` Michael S. Tsirkin 0 siblings, 0 replies; 104+ messages in thread From: Michael S. Tsirkin @ 2007-02-28 21:40 UTC (permalink / raw) To: Thomas Gleixner Cc: linux-acpi, Pavel Machek, Ingo Molnar, Adrian Bunk, linux-pm, Linux Kernel Mailing List >Quoting Thomas Gleixner <tglx@linutronix.de>: >Subject: Re: 2.6.21-rc1: known regressions (v2) (part 1) > >On Wed, 2007-02-28 at 23:13 +0200, Michael S. Tsirkin wrote: >> >Subject : ThinkPad T60: no screen after suspend to RAM >> >References : http://lkml.org/lkml/2007/2/22/391 >> >Submitter : Michael S. Tsirkin <mst@mellanox.co.il> >> >Handled-By : Ingo Molnar <mingo@elte.hu> >> >Status : unknown >> >> Just reproduced this in -rc2. >> Another thing I noticed: >> with 2.6.20, pressing Fn/F4 generates an ACPI event and triggers suspend to RAM. >> >> On 2.6.21-rc2, after resume (when the box is accessible from network), >> pressing Fn/F4 again does not seem to have any effect. > >Can you please get the dmesg output after resume via the network ? The link above has it. -- MST ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (v2) (part 1) 2007-02-28 21:13 ` Michael S. Tsirkin 2007-02-28 21:27 ` Thomas Gleixner @ 2007-03-01 3:45 ` Jeff Chua 2007-03-02 12:26 ` [linux-pm] " Pavel Machek 2007-03-05 0:04 ` Adrian Bunk 1 sibling, 2 replies; 104+ messages in thread From: Jeff Chua @ 2007-03-01 3:45 UTC (permalink / raw) To: Michael S. Tsirkin Cc: linux-acpi, Pavel Machek, Ingo Molnar, Adrian Bunk, linux-pm, Linux Kernel Mailing List On 3/1/07, Michael S. Tsirkin <mst@mellanox.co.il> wrote: > with 2.6.20, pressing Fn/F4 generates an ACPI event and triggers suspend to RAM. > > On 2.6.21-rc2, after resume (when the box is accessible from network), > pressing Fn/F4 again does not seem to have any effect. I have the same problem on my IBM X60s on rc1 and rc2. Can't resume from RAM, can't suspend to disk. It is possible to revert all the changes to ACPI and test it? Jeff. ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [linux-pm] 2.6.21-rc1: known regressions (v2) (part 1) 2007-03-01 3:45 ` Jeff Chua @ 2007-03-02 12:26 ` Pavel Machek 2007-03-03 11:17 ` Jens Axboe 2007-03-05 0:04 ` Adrian Bunk 1 sibling, 1 reply; 104+ messages in thread From: Pavel Machek @ 2007-03-02 12:26 UTC (permalink / raw) To: Jeff Chua Cc: Michael S. Tsirkin, linux-acpi, Ingo Molnar, Adrian Bunk, linux-pm, Linux Kernel Mailing List On Thu 2007-03-01 11:45:35, Jeff Chua wrote: > On 3/1/07, Michael S. Tsirkin <mst@mellanox.co.il> wrote: > > > with 2.6.20, pressing Fn/F4 generates an ACPI event and triggers suspend to RAM. > > > > On 2.6.21-rc2, after resume (when the box is accessible from network), > > pressing Fn/F4 again does not seem to have any effect. > > I have the same problem on my IBM X60s on rc1 and rc2. Can't resume > from RAM, can't suspend to disk. It is possible to revert all the > changes to ACPI and test it? As I said elsewhere in the thread, suspend/resume to RAM works ok on my thinkpad x60. I posted my .config there, perhaps difference is in it? Ingo identified KVM as possible culprit. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: [linux-pm] 2.6.21-rc1: known regressions (v2) (part 1) 2007-03-02 12:26 ` [linux-pm] " Pavel Machek @ 2007-03-03 11:17 ` Jens Axboe 0 siblings, 0 replies; 104+ messages in thread From: Jens Axboe @ 2007-03-03 11:17 UTC (permalink / raw) To: Pavel Machek Cc: Jeff Chua, Michael S. Tsirkin, linux-acpi, Ingo Molnar, Adrian Bunk, linux-pm, Linux Kernel Mailing List On Fri, Mar 02 2007, Pavel Machek wrote: > On Thu 2007-03-01 11:45:35, Jeff Chua wrote: > > On 3/1/07, Michael S. Tsirkin <mst@mellanox.co.il> wrote: > > > > > with 2.6.20, pressing Fn/F4 generates an ACPI event and triggers suspend to RAM. > > > > > > On 2.6.21-rc2, after resume (when the box is accessible from network), > > > pressing Fn/F4 again does not seem to have any effect. > > > > I have the same problem on my IBM X60s on rc1 and rc2. Can't resume > > from RAM, can't suspend to disk. It is possible to revert all the > > changes to ACPI and test it? > > As I said elsewhere in the thread, suspend/resume to RAM works ok on > my thinkpad x60. I posted my .config there, perhaps difference is in > it? Ingo identified KVM as possible culprit. I'll try your .config for kicks, the problem that Ingo pin pointed is not what is affecting me. -- Jens Axboe ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (v2) (part 1) 2007-03-01 3:45 ` Jeff Chua 2007-03-02 12:26 ` [linux-pm] " Pavel Machek @ 2007-03-05 0:04 ` Adrian Bunk 2007-03-06 1:32 ` Jeff Chua 1 sibling, 1 reply; 104+ messages in thread From: Adrian Bunk @ 2007-03-05 0:04 UTC (permalink / raw) To: Jeff Chua Cc: Michael S. Tsirkin, Linux Kernel Mailing List, Pavel Machek, linux-pm, Ingo Molnar, lenb, linux-acpi On Thu, Mar 01, 2007 at 11:45:35AM +0800, Jeff Chua wrote: > On 3/1/07, Michael S. Tsirkin <mst@mellanox.co.il> wrote: > > >with 2.6.20, pressing Fn/F4 generates an ACPI event and triggers suspend > >to RAM. > > > >On 2.6.21-rc2, after resume (when the box is accessible from network), > >pressing Fn/F4 again does not seem to have any effect. > > I have the same problem on my IBM X60s on rc1 and rc2. Can't resume > from RAM, can't suspend to disk. It is possible to revert all the > changes to ACPI and test it? This is with CONFIG_KVM=n? > Jeff. cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (v2) (part 1) 2007-03-05 0:04 ` Adrian Bunk @ 2007-03-06 1:32 ` Jeff Chua 2007-03-06 12:03 ` Jeff Chua 0 siblings, 1 reply; 104+ messages in thread From: Jeff Chua @ 2007-03-06 1:32 UTC (permalink / raw) To: Adrian Bunk Cc: Michael S. Tsirkin, Linux Kernel Mailing List, Pavel Machek, linux-pm, Ingo Molnar, lenb, linux-acpi On 3/5/07, Adrian Bunk <bunk@stusta.de> wrote: > > I have the same problem on my IBM X60s on rc1 and rc2. Can't resume > > from RAM, can't suspend to disk. It is possible to revert all the > > changes to ACPI and test it? > > This is with CONFIG_KVM=n? Yes. ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (v2) (part 1) 2007-03-06 1:32 ` Jeff Chua @ 2007-03-06 12:03 ` Jeff Chua 2007-03-06 12:08 ` Michael S. Tsirkin 0 siblings, 1 reply; 104+ messages in thread From: Jeff Chua @ 2007-03-06 12:03 UTC (permalink / raw) To: Adrian Bunk Cc: Michael S. Tsirkin, Linux Kernel Mailing List, Pavel Machek, linux-pm, Ingo Molnar, lenb, linux-acpi On 3/6/07, Jeff Chua <jeff.chua.linux@gmail.com> wrote: > On 3/5/07, Adrian Bunk <bunk@stusta.de> wrote: > > > > I have the same problem on my IBM X60s on rc1 and rc2. Can't resume > > > from RAM, can't suspend to disk. It is possible to revert all the > > > changes to ACPI and test it? > > > > This is with CONFIG_KVM=n? > > Yes. I've tried with CONFIG_KVM=n and CONFIG_KVM=y and both does not suspend. ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (v2) (part 1) 2007-03-06 12:03 ` Jeff Chua @ 2007-03-06 12:08 ` Michael S. Tsirkin 2007-03-06 12:12 ` Jeff Chua 0 siblings, 1 reply; 104+ messages in thread From: Michael S. Tsirkin @ 2007-03-06 12:08 UTC (permalink / raw) To: Jeff Chua Cc: linux-acpi, Pavel Machek, Ingo Molnar, Adrian Bunk, linux-pm, Linux Kernel Mailing List > Quoting Jeff Chua <jeff.chua.linux@gmail.com>: > Subject: Re: 2.6.21-rc1: known regressions (v2) (part 1) > > On 3/6/07, Jeff Chua <jeff.chua.linux@gmail.com> wrote: > > On 3/5/07, Adrian Bunk <bunk@stusta.de> wrote: > > > > > > I have the same problem on my IBM X60s on rc1 and rc2. Can't resume > > > > from RAM, can't suspend to disk. It is possible to revert all the > > > > changes to ACPI and test it? > > > > > > This is with CONFIG_KVM=n? > > > > Yes. > > I've tried with CONFIG_KVM=n and CONFIG_KVM=y and both does not suspend. Do you mean that they "do not resume after suspend"? -- MST ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (v2) (part 1) 2007-03-06 12:08 ` Michael S. Tsirkin @ 2007-03-06 12:12 ` Jeff Chua 2007-03-19 15:32 ` Pavel Machek 0 siblings, 1 reply; 104+ messages in thread From: Jeff Chua @ 2007-03-06 12:12 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Adrian Bunk, Linux Kernel Mailing List, Pavel Machek, linux-pm, Ingo Molnar, lenb, linux-acpi On 3/6/07, Michael S. Tsirkin <mst@mellanox.co.il> wrote: > > Quoting Jeff Chua <jeff.chua.linux@gmail.com>: > > Subject: Re: 2.6.21-rc1: known regressions (v2) (part 1) > > > > On 3/6/07, Jeff Chua <jeff.chua.linux@gmail.com> wrote: > > > On 3/5/07, Adrian Bunk <bunk@stusta.de> wrote: > > > > > > > > I have the same problem on my IBM X60s on rc1 and rc2. Can't resume > > > > > from RAM, can't suspend to disk. It is possible to revert all the > > > > > changes to ACPI and test it? > > > > > > > > This is with CONFIG_KVM=n? > > > > > > Yes. > > > > I've tried with CONFIG_KVM=n and CONFIG_KVM=y and both does not suspend. > > Do you mean that they "do not resume after suspend"? I can't even suspend to disk/ram. It just hangs and the lights just blink and everything else hangs. With 2.6.20, it works fine. Jeff. ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (v2) (part 1) 2007-03-06 12:12 ` Jeff Chua @ 2007-03-19 15:32 ` Pavel Machek 2007-03-19 21:23 ` Rafael J. Wysocki 0 siblings, 1 reply; 104+ messages in thread From: Pavel Machek @ 2007-03-19 15:32 UTC (permalink / raw) To: Jeff Chua Cc: Michael S. Tsirkin, Adrian Bunk, Linux Kernel Mailing List, linux-pm, Ingo Molnar, lenb, linux-acpi > >> > > > I have the same problem on my IBM X60s on rc1 and rc2. Can't resume > >> > > > from RAM, can't suspend to disk. It is possible to revert all the > >> > > > changes to ACPI and test it? > >> > > > >> > > This is with CONFIG_KVM=n? > >> > > >> > Yes. > >> > >> I've tried with CONFIG_KVM=n and CONFIG_KVM=y and both does not suspend. > > > >Do you mean that they "do not resume after suspend"? > > I can't even suspend to disk/ram. It just hangs and the lights just > blink and everything else hangs. With 2.6.20, it works fine. Turn up console loglevel, and see where it hangs... -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ^ permalink raw reply [flat|nested] 104+ messages in thread
* Re: 2.6.21-rc1: known regressions (v2) (part 1) 2007-03-19 15:32 ` Pavel Machek @ 2007-03-19 21:23 ` Rafael J. Wysocki 0 siblings, 0 replies; 104+ messages in thread From: Rafael J. Wysocki @ 2007-03-19 21:23 UTC (permalink / raw) To: Pavel Machek Cc: Jeff Chua, Michael S. Tsirkin, Adrian Bunk, Linux Kernel Mailing List, linux-pm, Ingo Molnar, lenb, linux-acpi On Monday, 19 March 2007 16:32, Pavel Machek wrote: > > > >> > > > I have the same problem on my IBM X60s on rc1 and rc2. Can't resume > > >> > > > from RAM, can't suspend to disk. It is possible to revert all the > > >> > > > changes to ACPI and test it? > > >> > > > > >> > > This is with CONFIG_KVM=n? > > >> > > > >> > Yes. > > >> > > >> I've tried with CONFIG_KVM=n and CONFIG_KVM=y and both does not suspend. > > > > > >Do you mean that they "do not resume after suspend"? > > > > I can't even suspend to disk/ram. It just hangs and the lights just > > blink and everything else hangs. With 2.6.20, it works fine. > > Turn up console loglevel, and see where it hangs... I think CONFIG_DISABLE_CONSOLE_SUSPEND would have to be set for this purpose too. Greetings, Rafael ^ permalink raw reply [flat|nested] 104+ messages in thread
end of thread, other threads:[~2007-04-16 19:56 UTC | newest]
Thread overview: 104+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <Pine.LNX.4.64.0702202043280.4043@woody.linux-foundation.org>
2007-02-25 17:52 ` 2.6.21-rc1: known regressions (part 1) Adrian Bunk
2007-02-28 18:16 ` Karasyov, Konstantin A
2007-02-25 17:55 ` 2.6.21-rc1: known regressions (part 2) Adrian Bunk
2007-02-27 10:02 ` Jens Axboe
2007-02-27 10:21 ` Pavel Machek
2007-02-27 10:30 ` Jens Axboe
2007-02-27 10:34 ` Ingo Molnar
2007-02-27 10:59 ` Jens Axboe
2007-02-27 11:15 ` Jens Axboe
2007-02-27 13:09 ` Jens Axboe
2007-03-01 9:34 ` Ingo Molnar
2007-03-01 10:41 ` Ingo Molnar
2007-03-01 14:52 ` Ingo Molnar
2007-03-01 16:12 ` Rafael J. Wysocki
2007-03-02 0:26 ` Linus Torvalds
2007-03-02 0:41 ` Linus Torvalds
2007-03-02 7:14 ` Ingo Molnar
2007-03-02 7:21 ` Ingo Molnar
2007-03-02 8:04 ` Ingo Molnar
2007-03-02 10:20 ` Ingo Molnar
2007-03-02 10:22 ` [patch] KVM: T60 resume fix Ingo Molnar
2007-03-02 11:39 ` Michael S. Tsirkin
2007-03-03 8:22 ` Avi Kivity
2007-03-03 8:21 ` Avi Kivity
2007-03-03 11:57 ` Andrew Morton
2007-03-03 12:07 ` Junio C Hamano
2007-03-05 8:22 ` Ingo Molnar
2007-03-05 8:50 ` Avi Kivity
2007-03-05 8:44 ` Ingo Molnar
2007-03-05 8:57 ` Ingo Molnar
2007-03-05 9:27 ` Avi Kivity
2007-03-05 10:05 ` Ingo Molnar
2007-03-05 10:33 ` Avi Kivity
2007-03-05 10:33 ` Ingo Molnar
2007-03-05 10:40 ` Michael S. Tsirkin
2007-03-05 12:54 ` Michael S. Tsirkin
2007-03-05 12:50 ` Ingo Molnar
2007-03-05 13:26 ` Michael S. Tsirkin
2007-03-05 13:32 ` Ingo Molnar
2007-03-05 10:23 ` Michael S. Tsirkin
2007-03-05 10:29 ` Ingo Molnar
2007-03-05 15:44 ` 2.6.21-rc1: known regressions (part 2) Michael S. Tsirkin
2007-03-05 16:14 ` Michael S. Tsirkin
2007-03-05 16:41 ` Ingo Molnar
2007-03-05 18:16 ` Jens Axboe
2007-03-01 23:36 ` Linus Torvalds
2007-03-02 10:07 ` Pavel Machek
2007-03-05 8:42 ` Michael S. Tsirkin
2007-03-05 10:11 ` SATA resume slowness, e1000 MSI warning Ingo Molnar
2007-03-06 5:30 ` Jeff Garzik
2007-03-06 6:35 ` Kok, Auke
2007-03-06 9:04 ` Ingo Molnar
2007-03-06 15:34 ` Kok, Auke
2007-03-07 4:15 ` Eric W. Biederman
2007-03-07 16:31 ` Kok, Auke
2007-03-07 16:45 ` Kok, Auke
2007-03-07 19:28 ` Eric W. Biederman
2007-03-08 2:53 ` Andrew Morton
2007-03-08 6:58 ` Eric W. Biederman
2007-03-08 9:55 ` Jeff Garzik
2007-03-08 17:27 ` Eric W. Biederman
2007-03-08 19:58 ` [PATCH 0/2] Repair pci_restore_state when used with device resets Eric W. Biederman
2007-03-08 20:04 ` [PATCH 1/2] msi: Safer state caching Eric W. Biederman
2007-03-08 20:06 ` [PATCH 2/2] pci: Repair pci_save/restore_state so we can restore one save many times Eric W. Biederman
2007-03-12 22:46 ` Kok, Auke
2007-03-08 20:08 ` [PATCH 0/2] Repair pci_restore_state when used with device resets Ingo Molnar
2007-03-08 20:26 ` Eric W. Biederman
2007-03-08 10:23 ` SATA resume slowness, e1000 MSI warning Michael S. Tsirkin
2007-03-11 11:11 ` Eric W. Biederman
2007-03-11 11:24 ` Michael S. Tsirkin
2007-03-11 17:37 ` Eric W. Biederman
2007-03-11 18:03 ` Michael S. Tsirkin
2007-03-11 18:27 ` Eric W. Biederman
2007-03-11 18:37 ` Michael S. Tsirkin
2007-03-11 19:50 ` Eric W. Biederman
2007-03-12 4:35 ` Michael S. Tsirkin
2007-04-16 19:56 ` Michael S. Tsirkin
2007-03-09 23:06 ` Kok, Auke
2007-03-10 3:41 ` Eric W. Biederman
2007-03-06 9:06 ` Ingo Molnar
2007-03-06 16:26 ` Thomas Gleixner
2007-03-06 16:52 ` Linus Torvalds
2007-03-06 17:09 ` Kok, Auke
2007-03-09 6:44 ` 2.6.21-rc1: known regressions (part 2) Pavel Machek
2007-03-05 15:34 ` Michael S. Tsirkin
2007-02-27 22:09 ` Adrian Bunk
2007-02-28 7:41 ` Jens Axboe
2007-02-26 22:01 ` 2.6.21-rc1: known regressions (v2) (part 1) Adrian Bunk
2007-02-27 4:09 ` Sergio Monteiro Basto
2007-02-27 12:50 ` S.Çağlar Onur
2007-02-27 13:25 ` Ismail Dönmez
2007-02-28 21:13 ` Michael S. Tsirkin
2007-02-28 21:27 ` Thomas Gleixner
2007-02-28 21:40 ` Michael S. Tsirkin
2007-03-01 3:45 ` Jeff Chua
2007-03-02 12:26 ` [linux-pm] " Pavel Machek
2007-03-03 11:17 ` Jens Axboe
2007-03-05 0:04 ` Adrian Bunk
2007-03-06 1:32 ` Jeff Chua
2007-03-06 12:03 ` Jeff Chua
2007-03-06 12:08 ` Michael S. Tsirkin
2007-03-06 12:12 ` Jeff Chua
2007-03-19 15:32 ` Pavel Machek
2007-03-19 21:23 ` 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