On Tue, 21 Apr 2009, Holger Eitzenberger wrote:
> > > > no, doesn't apply to this hardware, as it is not ICH (integrated LOM)
> > > > it
> > > > is a standalone 82571 with an actual discreet eeprom chip per port.
>
> > holger, you're welcome to try this patch, it was made against net-2.6 from
> > a couple of weeks ago
>
> Thanks Jesse,
>
> I have a few questions after looking at your patch:
>
> * the older all-in-one e1000 driver does not use SWSM2 on the dual-port
> adapters. Does it mean it's affected as well? I ask because of the
> general necessity for me to justify the driver update after all.
The bit is a previously unused/undocumented bit that is shared between the
two ports (one of the few)
> * I was unable to locate SWSM2 in the documenation of 82571EB.
> However, the usage seems to be similar to SWSM. Refering to this
> snippet here:
>
> swsm2 = er32(SWSM2);
>
> if (!(swsm2 & E1000_SWSM2_LOCK)) {
> /* Only do this for the first interface on this card */
> ew32(SWSM2, swsm2 | E1000_SWSM2_LOCK);
>
> I see a general race condition, because the patch doesn't check SWSM2
> after writing it and there is nothing I see which prevents
> a preemption after reading SWSM2 the first time. Therefore from the
> documentation something like
>
> ew32(SWSM2, swsm2 | E1000_SWSM2_LOCK);
> swsm2 = er32(SWSM2);
> if (swsm2 & E1000_SWSM2_LOCK) {
> /* now you are sure you have the lock */
> }
>
> should be more correct.
>
> Please note however, that I do not have documentation about SWSM2
> in particular. If my above assumption about it's workings is not
> correct, please just ignore the last issue.
The bit doesn't quite work the same as the original SWSM lock bit. And we
are only trying to solve the problem of "has a driver loaded on either
port yet?" and since probe is not parallelizable, we are guaranteed not
to have a race here, or be preempted (to the point another probe could
run)
> Other than that I'm fine evaluating that patch in our testlab.
any news on the evaluation?
Thanks for the questions/answers,
Jesse
------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today.
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel