From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Axboe Subject: Re: [PATCH] SATA NCQ #4 Date: Thu, 9 Jun 2005 08:40:32 +0200 Message-ID: <20050609064031.GF5140@suse.de> References: <20050608102857.GC18490@suse.de> <20050608114150.GE18490@suse.de> <20050608114526.GF18490@suse.de> <20050609062338.GC5140@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from ns.virtualhost.dk ([195.184.98.160]:27583 "EHLO virtualhost.dk") by vger.kernel.org with ESMTP id S262312AbVFIGjc (ORCPT ); Thu, 9 Jun 2005 02:39:32 -0400 Content-Disposition: inline In-Reply-To: <20050609062338.GC5140@suse.de> Sender: linux-ide-owner@vger.kernel.org List-Id: linux-ide@vger.kernel.org To: Grant Coady Cc: linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org, jgarzik@pobox.com On Thu, Jun 09 2005, Jens Axboe wrote: > On Thu, Jun 09 2005, Grant Coady wrote: > > On Wed, 8 Jun 2005 13:45:26 +0200, Jens Axboe wrote: > > > > > >Any chance you can log the boot process when it fails, using serial > > >console or something similar? At least write down the EIP of where it > > >fails :-) > > > > Guess what? I switched box on this morning with monitor off and > > the boot completed, 'cos I'd logged in much time later ssh. Didn't > > give it enough time yesterday :( > > > > I have one very large syslog... 139MB > > > > How much of that would you like :) > > > > Jun 9 04:27:45 sempro kernel: [] default_idle+0x23/0x30 > > Jun 9 04:27:45 sempro kernel: [] cpu_idle+0x48/0x60 > > Jun 9 04:27:45 sempro kernel: [] start_kernel+0x148/0x170 > > Jun 9 04:27:45 sempro kernel: [] unknown_bootoption+0x0/0x1b0 > > Jun 9 04:27:45 sempro kernel: Badness in __ata_qc_complete at drivers/scsi/libata-core.c:3062 > > Ah duh, I never tested on UP, you have to use assert_spin_locked() there > not the direct spin_is_locked(). > > So your system was functioning just fine, you just got a warning for > every completed request slowing it down a lot :) > > This should fix it. Jeff, can you apply that incremental to the ncq > branch? Thanks! > > --- linux-2.6/drivers/scsi/libata-core.c~ 2005-06-09 08:20:34.000000000 +0200 > +++ linux-2.6/drivers/scsi/libata-core.c 2005-06-09 08:22:24.000000000 +0200 > @@ -3059,7 +3059,7 @@ > struct ata_port *ap = qc->ap; > unsigned int tag, do_clear = 0; > > - WARN_ON(!spin_is_locked(&ap->host_set->lock)); > + WARN_ON(!assert_spin_locked(&ap->host_set->lock)); > > if (likely(qc->flags & ATA_QCFLAG_ACTIVE)) { > assert(ap->queue_depth); Or just kill the check completely, it has served its purpose. -- Jens Axboe