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

Reply via email to