Re: 2.6.23-mm1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/13/07, Jeff Garzik <[email protected]> wrote:
> Torsten Kaiser wrote:
> > On 10/12/07, Andrew Morton <[email protected]> wrote:
> >> On Fri, 12 Oct 2007 10:31:42 +0200 "Torsten Kaiser" <[email protected]> wrote:
> >>> Oct 12 10:23:03 treogen smartd[6091]: Device: /dev/sdc, not found in
> >>> smartd database.
> >> hm.
> >>
> >>> Oct 12 10:23:03 treogen [  105.990000] WARNING: at
> >>> drivers/ata/libata-core.c:5752 ata_qc_issue()
> >> Let's cc linux-ide.
> >>
> >>> Oct 12 10:23:03 treogen [  105.990000]
> >>> Oct 12 10:23:03 treogen [  105.990000] Call Trace:
> >>> Oct 12 10:23:03 treogen [  105.990000]  [<ffffffff804442ef>]
> >>> ata_qc_issue+0x47f/0x540
> >>> Oct 12 10:23:03 treogen [  105.990000]  [<ffffffff80432e60>] scsi_done+0x0/0x20
> >>> Oct 12 10:23:03 treogen [  105.990000]  [<ffffffff80449c80>]
> >>> ata_scsi_flush_xlat+0x0/0x30
>
> > Oct 13 07:46:48 treogen [   99.850000]
> > Oct 13 07:46:48 treogen [   99.850000] ata3: EH in SWNCQ
> > mode,QC:qc_active 0x3 sactive 0x1
> > Oct 13 07:46:48 treogen [   99.850000] ata3: SWNCQ:qc_active 0x1
> > defer_bits 0x0 last_issue_tag 0x0
>
> The WARNING indicates that there is a SWNCQ bug in sata_nv.  Given that
> the problem appears when SYNCHRONIZE CACHE is being issued, I would

I can't follow you on SYNCHRONIZE CACHE.
The only command written to the syslog in the errors where
0x60==ATA_CMD_FPDMA_READ and 0xB0 (which is not in
include/linux/ata.h, but ATA-6 says that this is SMART related. That
makes sense, as smartd is failing).

> guess that sata_nv is not properly handling non-queued commands.

But that still seems correct, as I would not expect that SMART
commands get queued. (Thats just a guess, as I did not try to find the
code that does this distinction)

> This is a patch from libata-dev.git#nv-swncq (via #ALL).

Comparing sata_nv.c from 2.6.23-rc8-mm1 and 2.6.23-mm1 I see two
changes, that look suspicious:

http://git.kernel.org/?p=linux/kernel/git/jgarzik/libata-dev.git;a=commitdiff;h=31cc23b34913bc173680bdc87af79e551bf8cc0d

The comment says: "ahci and sata_sil24 are converted to use ata_std_qc_defer()."
But the patch also adds ".qc_defer = ata_std_qc_defer," to sata_nv.c

The second change is the removal of the 'lock' spinlock from sata_nv.c
that was used in nv_swncq_qc_issue and nv_swncq_host_interrupt.

Should I try to revert one or both of these changes?

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux