From: "Ihar 'Philips' Filipau" <ifilipau@giga-stream.de>
To: Mitchell Blank Jr <mitch@sfgoth.com>
Cc: netdev@oss.sgi.com,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: e1000 question
Date: Wed, 02 Jun 2004 12:34:36 +0200 [thread overview]
Message-ID: <40BDAD3C.3030103@giga-stream.de> (raw)
In-Reply-To: <20040602103027.GA74881@gaz.sfgoth.com>
[-- Attachment #1: Type: text/plain, Size: 1571 bytes --]
Thanks, Mitch!
That explains everything.
Went reading pci_alloc_consistent()'s RTFM.
That is exactly what I was missing in couple of my drivers.
Mitchell Blank Jr wrote:
> Ihar 'Philips' Filipau wrote:
>
>> Functions e1000_clean_{t,r}x_irq are very similar: both of them are
>>checking descriptor flag updated by nic.
>> Host CPU, obviously, to perform this check, will cache descriptor.
>> If, say e1000_clean_rx_irq() will be called twice in short time
>>range, I expect that it can miss change of the flag, since old flag may
>>still sit in host CPU cache.
>
>
> Please see Documentation/DMA-mapping.txt; especially the part starting
> at "There are two types of DMA mappings..." Ring buffers are allocated
> as "consistent" DMA memory.
>
> For most architectures this will mean that the cache hardware snoops the
> PCI bus and automatically invalidates cache lines as they are written to.
> For architectures that can't do that then Linux will mark those memory
> regions uncacheable.
>
--
Johnson's law:
Systems resemble the organizations that create them.
-- ___ ___
Ihar 'Philips' Filipau \ / Sr. Software Developer
Tel: +49 681 959 16 0 \ / GIGA STREAM
Fax: +49 681 959 16 100 \/ Konrad Zuse Strasse 7
Mobile: +49 173 39 462 49 /\ 66115 Saarbruecken
email: ifilipau@giga-stream.de / \ Germany
www: http://www.giga-stream.de ___/ \___ Switching for success
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/x-pkcs7-signature, Size: 3439 bytes --]
next prev parent reply other threads:[~2004-06-02 10:34 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-02 8:22 e1000 question Ihar 'Philips' Filipau
2004-06-02 10:30 ` Mitchell Blank Jr
2004-06-02 10:34 ` Ihar 'Philips' Filipau [this message]
2004-06-06 22:19 ` Mitchell Blank Jr
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=40BDAD3C.3030103@giga-stream.de \
--to=ifilipau@giga-stream.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mitch@sfgoth.com \
--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).