From: Jeremy Higdon <jeremy@sgi.com>
To: James Bottomley <James.Bottomley@steeleye.com>
Cc: Jesse Barnes <jbarnes@engr.sgi.com>, linux-arch@vger.kernel.org
Subject: Re: [PATCH] I/O space write barrier
Date: Thu, 23 Sep 2004 15:22:51 -0700 [thread overview]
Message-ID: <20040923222250.GB157288@sgi.com> (raw)
In-Reply-To: <1095967651.2157.42.camel@mulgrave>
On Thu, Sep 23, 2004 at 03:27:24PM -0400, James Bottomley wrote:
> On Thu, 2004-09-23 at 15:07, Jesse Barnes wrote:
> > If we're waiting for an interrupt here, I don't think it matters if we flush
> > or order, we'll wait the same amount of time regardless.
>
> I don't think so. Your ordering barrier doesn't cause a posted write
> flush. Posted writes have theoretically no upper limit defined in the
> spec for the time they may remain posted, so in the former case, you are
> guaranteed that by the time you set the flag and exit the function that
> interrupts are enabled in the qla1280. If you apply the patch you sent
> in, this guarantee is broken and you don't really know how much longer
> after exiting the function it will be before interrupts become enabled
> (although in practice it's probably only of the order of ms).
>
> James
James, is this what you want?
I think these are the only writes that need ordering, as opposed to flushing.
Being not certain what was intended in the other cases, it's safer to leave
them be.
===== drivers/scsi/qla1280.c 1.65 vs edited =====
--- 1.65/drivers/scsi/qla1280.c 2004-07-28 20:59:10 -07:00
+++ edited/drivers/scsi/qla1280.c 2004-09-23 15:19:56 -07:00
@@ -3398,7 +3398,7 @@
sp->flags |= SRB_SENT;
ha->actthreads++;
WRT_REG_WORD(®->mailbox4, ha->req_ring_index);
- (void) RD_REG_WORD(®->mailbox4); /* PCI posted write flush */
+ mmiowb(); /* posted write ordering */
out:
if (status)
@@ -3666,7 +3666,7 @@
sp->flags |= SRB_SENT;
ha->actthreads++;
WRT_REG_WORD(®->mailbox4, ha->req_ring_index);
- (void) RD_REG_WORD(®->mailbox4); /* PCI posted write flush */
+ mmiowb(); /* posted write ordering */
out:
if (status)
@@ -3778,7 +3778,7 @@
/* Set chip new ring index. */
WRT_REG_WORD(®->mailbox4, ha->req_ring_index);
- (void) RD_REG_WORD(®->mailbox4); /* PCI posted write flush */
+ mmiowb(); /* posted write ordering */
LEAVE("qla1280_isp_cmd");
}
next prev parent reply other threads:[~2004-09-23 22:33 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-23 18:48 [PATCH] I/O space write barrier Jesse Barnes
2004-09-23 19:03 ` James Bottomley
2004-09-23 19:07 ` Jesse Barnes
2004-09-23 19:27 ` James Bottomley
2004-09-23 19:41 ` Jesse Barnes
2004-09-23 19:57 ` Jeremy Higdon
2004-09-23 22:22 ` Jeremy Higdon [this message]
2004-09-23 23:36 ` James Bottomley
2004-09-24 5:03 ` Jeremy Higdon
2004-09-23 19:55 ` Jeremy Higdon
2004-09-23 20:09 ` Jesse Barnes
2004-09-27 0:45 ` Benjamin Herrenschmidt
2004-09-27 15:41 ` Jesse Barnes
-- strict thread matches above, loose matches on Subject: below --
2004-10-21 23:13 Jesse Barnes
2004-10-21 23:13 ` Jesse Barnes
2004-10-22 1:01 ` Grant Grundler
2004-10-22 1:01 ` Grant Grundler
2004-10-22 3:05 ` Jesse Barnes
2004-10-22 3:05 ` Jesse Barnes
2004-10-22 4:26 ` Greg Banks
2004-10-22 4:26 ` Greg Banks
2004-10-22 15:26 ` Grant Grundler
2004-10-22 15:26 ` Grant Grundler
2004-10-05 22:38 Jesse Barnes
2004-10-04 20:39 Albert Cahalan
2004-10-04 21:20 ` Jesse Barnes
2004-10-05 0:32 ` Albert Cahalan
2004-10-05 1:22 ` Benjamin Herrenschmidt
2004-10-05 2:26 ` Jesse Barnes
2004-10-05 3:04 ` Benjamin Herrenschmidt
2004-10-05 15:33 ` Jesse Barnes
2004-10-05 22:41 ` Benjamin Herrenschmidt
2004-10-05 23:09 ` Jesse Barnes
2004-10-05 23:57 ` Roland Dreier
2004-10-06 1:45 ` Benjamin Herrenschmidt
2004-10-05 2:33 ` Jesse Barnes
2004-09-27 18:03 Jesse Barnes
2004-09-29 10:36 ` Greg Banks
2004-09-29 20:35 ` David S. Miller
2004-09-29 20:43 ` Jesse Barnes
2004-09-29 20:50 ` David S. Miller
2004-09-30 2:23 ` Greg Banks
2004-09-29 22:55 ` Jesse Barnes
2004-09-30 7:15 ` Jeremy Higdon
2004-09-30 21:21 ` Guennadi Liakhovetski
2004-10-16 0:38 ` Jeremy Higdon
2004-10-16 3:20 ` Matthew Wilcox
2004-10-16 3:31 ` Jeremy Higdon
2004-09-22 15:45 Jesse Barnes
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=20040923222250.GB157288@sgi.com \
--to=jeremy@sgi.com \
--cc=James.Bottomley@steeleye.com \
--cc=jbarnes@engr.sgi.com \
--cc=linux-arch@vger.kernel.org \
/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.