From: David Brownell <david-b@pacbell.net>
To: Anton Blanchard <anton@samba.org>
Cc: Jeff Garzik <jgarzik@pobox.com>, linux-kernel@vger.kernel.org
Subject: Re: pci_set_mwi() ... why isn't it used more?
Date: Thu, 30 Jan 2003 08:25:07 -0800 [thread overview]
Message-ID: <3E3951E3.7060806@pacbell.net> (raw)
In-Reply-To: 20030130135215.GF6028@krispykreme
Anton Blanchard wrote:
>
>
>>I suppose the potential for broken PCI devices is exactly why MWI
>>isn't automatically enabled when DMA mastering is enabled, though
>>I don't understand why the cacheline size doesn't get fixed then
>>(unless it's that same issue). Devices can use the cacheline size
>>to get better Memory Read Line/Read Multiple" throughput; setting
>>it shouldn't be tied exclusively to enabling MWI.
>
>
> There are a number of cases where we cant enable MWI either because
> the PCI card doesnt support the CPU cacheline size or we have to set the
> PCI card cacheline size to something smaller due to various bugs.
At least the former case seems like it should be easily detectible.
The cacheline setting "must" be supported (sez the PCI spec) if MWI
can be enabled ... and may be supported in other cases too.
> eg I understand earlier versions of the e100 dont support a 128 byte
> cacheline (and the top bits are read only so setting it up for 128 bytes
> will result in it it being set to 0). Not good for read multiple/line
> and even worse if we decide to enable MWI :)
At least on 2.5.59, the pci_generic_prep_mwi() code doesn't check
for that type of error: it just writes the cacheline size, and
doesn't verify that setting it worked as expected. Checking for
that kind of problem would make it safer to call pci_set_mwi() in
such cases ... e.g. using it on a P4 with 128 byte L1 cachelines
would fail cleanly, while on an Athlon (64 byte L1) it might work
(depending in which top bits are unusable).
- Dave
next prev parent reply other threads:[~2003-01-30 16:07 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-01-20 18:41 pci_set_mwi() ... why isn't it used more? David Brownell
2003-01-20 19:00 ` Jeff Garzik
2003-01-20 19:37 ` David Brownell
2003-01-30 13:52 ` Anton Blanchard
2003-01-30 16:25 ` David Brownell [this message]
2003-01-30 16:59 ` Ivan Kokshaysky
2003-01-30 18:35 ` David Brownell
2003-01-30 23:34 ` Ivan Kokshaysky
2003-01-31 0:11 ` Jeff Garzik
2003-01-31 0:51 ` David Brownell
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=3E3951E3.7060806@pacbell.net \
--to=david-b@pacbell.net \
--cc=anton@samba.org \
--cc=jgarzik@pobox.com \
--cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox