Re: [PATCH] SATA NCQ #4

From: Jens Axboe
Date: Thu Jun 09 2005 - 01:47:04 EST


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 <axboe@xxxxxxx> 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: [<c0100ad3>] default_idle+0x23/0x30
> > Jun 9 04:27:45 sempro kernel: [<c0100b58>] cpu_idle+0x48/0x60
> > Jun 9 04:27:45 sempro kernel: [<c04867b8>] start_kernel+0x148/0x170
> > Jun 9 04:27:45 sempro kernel: [<c04863a0>] 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

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/