From: Jesse Barnes <jbarnes@engr.sgi.com>
To: "David S. Miller" <davem@davemloft.net>
Cc: Greg Banks <gnb@sgi.com>,
akpm@osdl.org, linux-kernel@vger.kernel.org, jeremy@sgi.com,
johnip@sgi.com, netdev@oss.sgi.com
Subject: Re: [PATCH] I/O space write barrier
Date: Wed, 29 Sep 2004 13:43:55 -0700 [thread overview]
Message-ID: <200409291343.55863.jbarnes@engr.sgi.com> (raw)
In-Reply-To: <20040929133500.59d78765.davem@davemloft.net>
On Wednesday, September 29, 2004 1:35 pm, David S. Miller wrote:
> On Wed, 29 Sep 2004 20:36:46 +1000
>
> Greg Banks <gnb@sgi.com> wrote:
> > Ok, here's a patch for the tg3 network driver to use mmiowb(). Tests
> > over the last couple of days has shown that it solves the oopses in
> > tg3_tx() that I reported and attempted to patch some time ago:
> >
> > http://marc.theaimsgroup.com/?l=linux-netdev&m=108538612421774&w=2
> >
> > The CPU usage of the mmiowb() approach is also significantly better
> > than doing PCI reads to flush the writes (by setting the existing
> > TG3_FLAG_MBOX_WRITE_REORDER flag). In an artificial CPU-constrained
> > test on a ProPack kernel, the same amount of CPU work for the REORDER
> > solution pushes 85.1 MB/s over 2 NICs compared to 146.5 MB/s for the
> > mmiowb() solution.
>
> Please put this macro in asm/io.h or similar and make sure
> every platform has it implemented or provides a NOP version.
The patch that actually implements mmiowb() already does this, I think Greg
just used his patch for testing. The proper way to do it of course is to
just use mmiowb() where needed in tg3 after the write barrier patch gets in.
> A lot of people are going to get this wrong btw. The only
> way it's really going to be cured across the board is if someone
> like yourself who understands this audits all of the drivers.
Yep, just like PCI posting (though many people seem to have a grasp on that
now).
Thanks,
Jesse
next prev parent reply other threads:[~2004-09-29 20:43 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200409271103.39913.jbarnes@engr.sgi.com>
2004-09-29 10:36 ` [PATCH] I/O space write barrier Greg Banks
2004-09-29 20:35 ` David S. Miller
2004-09-29 20:43 ` Jesse Barnes [this message]
2004-09-29 20:50 ` David S. Miller
2004-09-30 2:23 ` Greg Banks
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=200409291343.55863.jbarnes@engr.sgi.com \
--to=jbarnes@engr.sgi.com \
--cc=akpm@osdl.org \
--cc=davem@davemloft.net \
--cc=gnb@sgi.com \
--cc=jeremy@sgi.com \
--cc=johnip@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@oss.sgi.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).