All of lore.kernel.org
 help / color / mirror / Atom feed
From: Harri Olin <harri.olin@gmail.com>
To: Mark Lord <liml@rtr.ca>
Cc: IDE/ATA development list <linux-ide@vger.kernel.org>,
	Brian Rademacher <rad@radfiles.net>,
	Eamonn Hamilton <EAMONN.HAMILTON@saic.com>
Subject: Re: sata_mv: trial fix for lost NCQ interrupts
Date: Wed, 14 Jan 2009 23:06:37 +0200	[thread overview]
Message-ID: <496E53DD.6040408@gmail.com> (raw)
In-Reply-To: <496D04EB.3060803@rtr.ca>

Mark Lord wrote:
> This patch is for trial/critique use only at the moment.
> Once I hear back from a few people who actually use it,
> I'll post an updated fix for upstream/backstream inclusion.
>
> I spent this afternoon nitpicking and bitpicking through the interrupt 
> code
> in sata_mv.c, and I believe I found a race on the hc_irq_cause 
> register.  The
> code was "helpfully" attempting to use read-modify-write to clear 
> individual
> port bits there, but this is impossible to do in a race-free fashion.
>
> So.. the obvious fix is to just write the bits being cleared, without 
> touching
> anything else.  This will also be faster, too, since no read is 
> required or
> desired.  I really don't see a downside, as long as it actually works 
> for everyone.
>
> It does work for me here.

I tried the patch and it works as well as it did without the patch. That 
is to say, timeouts still happen, every couple of minutes on moderate 
read/write load. Patched driver has not seen much use here as the system 
is in production use and it becomes quickly frustrating to wait for 
something to happen.

I also tried removing ATA_PROT_NODATA from libata-sff.c, as mentioned 
earlier, but after that all disks timeout constantly. It also dropped 
all sata_mv connected disks from md array immediately on boot.

I still see timeouts only on 4 lower ports where disk has also been 
connected to port +4. i.e. if port 7 is empty, port 3 will work just 
fine. I just would like to see some confirmation that others are seeing 
this same kind of behavior.

Hardware: Supermicro aoc-sat2-mv8 controller (6081 chip) and WD7500AYYS 
drives.

-- 
Harri.


  reply	other threads:[~2009-01-14 21:16 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-13 21:17 sata_mv: trial fix for lost NCQ interrupts Mark Lord
2009-01-14 21:06 ` Harri Olin [this message]
2009-01-14 21:26   ` Jeff Garzik
2009-01-14 22:08     ` Mark Lord
2009-01-14 22:06   ` Mark Lord
2009-01-14 23:18     ` Harri Olin
2009-01-14 23:22       ` Brian Rademacher
2009-01-15  2:53       ` Mark Lord
2009-01-15 13:06         ` Artem Bokhan
2009-01-16 17:03           ` [PATCH] sata_mv: fix timeouts on lower ports of 508x/6081 chips Mark Lord
2009-01-16 20:08             ` Harri Olin
2009-01-17  2:10               ` Brian Rademacher
2009-01-14 22:01 ` sata_mv: trial fix for lost NCQ interrupts Brian Rademacher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=496E53DD.6040408@gmail.com \
    --to=harri.olin@gmail.com \
    --cc=EAMONN.HAMILTON@saic.com \
    --cc=liml@rtr.ca \
    --cc=linux-ide@vger.kernel.org \
    --cc=rad@radfiles.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.