rpms/kernel/devel linux-2.6-libata-sata_nv-adma.patch, NONE, 1.1 kernel-2.6.spec, 1.3083, 1.3084
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Tue Apr 17 19:00:12 UTC 2007
- Previous message (by thread): rpms/kernel/devel kernel-2.6.spec,1.3082,1.3083
- Next message (by thread): rpms/selinux-policy/devel modules-strict.conf, 1.27, 1.28 modules-targeted.conf, 1.55, 1.56 policy-20070219.patch, 1.48, 1.49 selinux-policy.spec, 1.433, 1.434
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: davej
Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv21615
Modified Files:
kernel-2.6.spec
Added Files:
linux-2.6-libata-sata_nv-adma.patch
Log Message:
* Tue Apr 17 2007 Dave Jones <davej at redhat.com>
- sata_nv: Don't attempt using ADMA for (READ|SET)_MAX commands
linux-2.6-libata-sata_nv-adma.patch:
sata_nv.c | 23 ++++++++++++++++++++---
1 files changed, 20 insertions(+), 3 deletions(-)
--- NEW FILE linux-2.6-libata-sata_nv-adma.patch ---
>From davej Tue Apr 17 14:48:11 2007
Return-path: <kyle at athena.road.mcmartin.ca>
X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on
gelk.kernelslacker.org
X-Spam-Level:
X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,FORGED_RCVD_HELO
autolearn=ham version=3.1.8
Envelope-to: davej at codemonkey.org.uk
Delivery-date: Tue, 17 Apr 2007 19:47:53 +0100
Received: from testure.choralone.org [194.9.77.134]
by gelk.kernelslacker.org with IMAP (fetchmail-6.3.6)
for <davej at localhost> (single-drop); Tue, 17 Apr 2007 14:48:11 -0400 (EDT)
Received: from stout.engsoc.carleton.ca ([134.117.69.22])
by testure.choralone.org with esmtp (Exim 4.63)
(envelope-from <kyle at athena.road.mcmartin.ca>)
id 1HdsiW-0002XC-Ij
for davej at codemonkey.org.uk; Tue, 17 Apr 2007 19:47:53 +0100
Received: from localhost (stout [127.0.0.1])
by stout.engsoc.carleton.ca (Postfix) with ESMTP id D6A9C58409A
for <davej at codemonkey.org.uk>; Tue, 17 Apr 2007 14:47:45 -0400 (EDT)
Received: from fattire.cabal.ca (cabal.ca [134.117.69.58])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(No client certificate requested)
by stout.engsoc.carleton.ca (Postfix) with ESMTP id 236F9584099
for <davej at codemonkey.org.uk>; Tue, 17 Apr 2007 14:47:45 -0400 (EDT)
Received: from athena.road.mcmartin.ca (206-248-151-76.dsl.ncf.ca [206.248.151.76])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(Client CN "roadwarrior.mcmartin.ca", Issuer "there.is.no.cabal.ca" (verified OK))
by fattire.cabal.ca (Postfix) with ESMTP id B4120837DB
for <davej at codemonkey.org.uk>; Tue, 17 Apr 2007 14:47:44 -0400 (EDT)
Received: by athena.road.mcmartin.ca (Postfix, from userid 1000)
id 7DF183B06E; Tue, 17 Apr 2007 14:45:42 -0400 (EDT)
Resent-From: kyle at athena.road.mcmartin.ca
Resent-Date: Tue, 17 Apr 2007 14:45:41 -0400
Resent-Message-ID: <20070417184541.GB24014 at athena.road.mcmartin.ca>
Resent-To: davej at codemonkey.org.uk
X-Original-To: kyle at mcmartin.ca
Received: from vger.kernel.org (vger.kernel.org [209.132.176.167])
by fattire.cabal.ca (Postfix) with ESMTP id 474E8837DD
for <kyle at mcmartin.ca>; Fri, 13 Apr 2007 13:10:30 -0400 (EDT)
Received: (majordomo at vger.kernel.org) by vger.kernel.org via listexpand
id S1754104AbXDMRKR (ORCPT <rfc822;kyle at mcmartin.ca>);
Fri, 13 Apr 2007 13:10:17 -0400
Received: (majordomo at vger.kernel.org) by vger.kernel.org id S1754107AbXDMRKR
(ORCPT <rfc822;linux-ide-outgoing>); Fri, 13 Apr 2007 13:10:17 -0400
Received: from stout.engsoc.carleton.ca ([134.117.69.22]:55761 "EHLO
stout.engsoc.carleton.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
with ESMTP id S1754104AbXDMRKP (ORCPT
<rfc822;linux-ide at vger.kernel.org>); Fri, 13 Apr 2007 13:10:15 -0400
Received: from localhost (stout [127.0.0.1])
by stout.engsoc.carleton.ca (Postfix) with ESMTP id 8E62058408C;
Fri, 13 Apr 2007 13:10:14 -0400 (EDT)
Received: from fattire.cabal.ca (cabal.ca [134.117.69.58])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(No client certificate requested)
by stout.engsoc.carleton.ca (Postfix) with ESMTP id DE73E584097;
Fri, 13 Apr 2007 13:10:13 -0400 (EDT)
Received: from athena.road.mcmartin.ca (206-248-151-76.dsl.ncf.ca [206.248.151.76])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(Client CN "roadwarrior.mcmartin.ca", Issuer "there.is.no.cabal.ca" (verified OK))
by fattire.cabal.ca (Postfix) with ESMTP id 79979837DD;
Fri, 13 Apr 2007 13:10:13 -0400 (EDT)
Received: by athena.road.mcmartin.ca (Postfix, from userid 1000)
id 079373B06E; Fri, 13 Apr 2007 13:08:31 -0400 (EDT)
Date: Fri, 13 Apr 2007 13:08:31 -0400
From: Kyle McMartin <kyle at canonical.com>
To: Robert Hancock <hancockr at shaw.ca>
Cc: linux-ide at vger.kernel.org, jgarzik at pobox.com, bcollins at ubuntu.com
Subject: [PATCH] sata_nv: Don't attempt using ADMA for (READ|SET)_MAX commands
Message-ID: <20070413170831.GC27674 at athena.road.mcmartin.ca>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.5.13 (2006-08-11)
X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at engsoc.carleton.ca
Sender: linux-ide-owner at vger.kernel.org
Precedence: bulk
X-Mailing-List: linux-ide at vger.kernel.org
X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at engsoc.carleton.ca
Status: RO
Content-Length: 1715
Lines: 57
READ_NATIVE_MAX and SET_MAX were causing timeouts on sata_nv controllers.
Disabling ADMA helped, but that is quite a large hammer to use. Reverting
382a6652e91b34d5480cfc0ed840c196650493d4 also helped, but we might as well
fix it right, instead of disabling the performance gain on cache flushes
by using ADMA mode.
Signed-off-by: Kyle McMartin <kyle at canonical.com>
---
This patch depends on the Host Protected Area patch Alan sent to linux-ide
this week.
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c
index 9d9670a..eaf9b76 100644
--- a/drivers/ata/sata_nv.c
+++ b/drivers/ata/sata_nv.c
@@ -1162,6 +1162,20 @@ static void nv_adma_fill_sg(struct ata_queued_cmd *qc, struct nv_adma_cpb *cpb)
cpb->next_aprd = cpu_to_le64(0);
}
+static int nv_blacklist_adma_for_hpa_cmds(struct ata_taskfile *tf)
+{
+ switch(tf->command) {
+ case ATA_CMD_READ_NATIVE_MAX:
+ case ATA_CMD_READ_NATIVE_MAX_EXT:
+ case ATA_CMD_SET_MAX:
+ case ATA_CMD_SET_MAX_EXT:
+ return 1;
+
+ default:
+ return 0;
+ }
+}
+
static int nv_adma_use_reg_mode(struct ata_queued_cmd *qc)
{
struct nv_adma_port_priv *pp = qc->ap->private_data;
@@ -1173,8 +1187,12 @@ static int nv_adma_use_reg_mode(struct ata_queued_cmd *qc)
return 1;
if((qc->flags & ATA_QCFLAG_DMAMAP) ||
- (qc->tf.protocol == ATA_PROT_NODATA))
- return 0;
+ (qc->tf.protocol == ATA_PROT_NODATA)) {
+ if (nv_blacklist_adma_for_hpa_cmds(&qc->tf))
+ return 1; /* (SET|READ)_NATIVE_MAX time out in ADMA mdoe */
+ else
+ return 0;
+ }
return 1;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.3083
retrieving revision 1.3084
diff -u -r1.3083 -r1.3084
--- kernel-2.6.spec 17 Apr 2007 18:30:23 -0000 1.3083
+++ kernel-2.6.spec 17 Apr 2007 19:00:05 -0000 1.3084
@@ -587,6 +587,7 @@
# SATA Bits
Patch2200: linux-2.6-sata-promise-pata-ports.patch
Patch2201: linux-2.6-libata-hpa.patch
+Patch2202: linux-2.6-libata-sata_nv-adma.patch
Patch2204: linux-2.6-ata-quirk.patch
# ACPI bits
@@ -1312,7 +1313,9 @@
# Enable PATA ports on Promise SATA.
#%patch2200 -p1
# HPA support for libata.
-#%patch2201 -p1
+%patch2201 -p1
+# sata_nv: Don't attempt using ADMA for (READ|SET)_MAX commands
+%patch2202 -p1
# libata: don't initialize sg in ata_exec_internal() if DMA_NONE
# ia64 ata quirk
%patch2204 -p1
@@ -2307,7 +2310,7 @@
%changelog
* Tue Apr 17 2007 Dave Jones <davej at redhat.com>
-- disable libata hpa patch (needs debugging)
+- sata_nv: Don't attempt using ADMA for (READ|SET)_MAX commands
* Tue Apr 17 2007 Dave Jones <davej at redhat.com>
- disable sparse checking (segfault)
- Previous message (by thread): rpms/kernel/devel kernel-2.6.spec,1.3082,1.3083
- Next message (by thread): rpms/selinux-policy/devel modules-strict.conf, 1.27, 1.28 modules-targeted.conf, 1.55, 1.56 policy-20070219.patch, 1.48, 1.49 selinux-policy.spec, 1.433, 1.434
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-cvs-commits
mailing list