netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 --]

  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).