netdev
[Top] [All Lists]

e1000 question

To: netdev@xxxxxxxxxxx
Subject: e1000 question
From: "Ihar 'Philips' Filipau" <ifilipau@xxxxxxxxxxxxxx>
Date: Wed, 02 Jun 2004 10:22:33 +0200
Cc: Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>
Organization: Giga Stream
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040116

[ If this is wrong ML, will appreciate pointer to correct one. ]
[ CC: me, please - I'm not sub'd. ]
[ Intel's driver as in 2.6.5 - http://lxr.linux.no/source/drivers/net/e1000/e1000_main.c?v=2.6.5 ]


I'm looking into e1000 driver in irq handling and what I see, puzzles me.

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.


   Am I missing something here?

--
    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@xxxxxxxxxxxxxx     /  \                     Germany
www: http://www.giga-stream.de  ___/    \___   Switching for success

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

<Prev in Thread] Current Thread [Next in Thread>