Steven Stallion wrote:
>> I've put up a webrev at http://cr.opensolaris.org/~gdamore/eri
>>
>> This fixes (I believe) the heap corruption found in eri due to an
>> incorrect handling of the way pullup'd mblks were handled (which,
>> coincidentally, didn't make use of pullupmsg or msgpullup!).  I think
>> that problem was most likely introduced when I converted eri to GLDv3.
>>
>> At the same time, to reduce potential opportunity for confusion and
>> errors, I've removed the legacy handling for DMA and DVMA based
>> transmit.  The code was very complicated, and my own experiments show
>> very little impact.  (In fact, my simpler code appears to run slightly
>> faster on average using ttcp, but the differences observed were too
>> small to be conclusive.)   For the record, for ordinary (<= 1500 bytes)
>> ethernet frames, I believe that on the transmit side, it is always
>> faster to simply bcopy.  The situation is a bit more complicated for
>> receive, but I've not touched the receive path.  (Although this driver
>> also suffers from a very suboptimal receive path.  It implements loan up
>> "poorly", getting most of the complexity and almost none of the
>> performance benefit.)
>>
>> I will freely confess that I haven't spent huge amounts of time on all
>> possible permutations for performance analysis of this driver.  I
>> believe at this point, we are well past the situation where performance
>> on this driver is critical, as we are only talking about a 100 Mbps
>> driver.  I think the improved readability and sustainability, along with
>> no clear loss (or gain!) of performance, is enough to warrant moving
>> ahead at this point without burning many tens of hours in the various
>> test permutations necessary for a truly complete analysis.  If anyone
>> feels rather differently, please speak up!
>>
>> In a future RFE, I may remove the loan up of the RX path as well.  The
>> RX path has dvma disabled by default, and uses the slower DMA
>> interfaces.  Furthermore, it does not use esballoc(), and so I expect
>> the trade off to favor simplification and using simple bcopy to process
>> received packets.
>>
>> Thanks.
>>     
>
> Changes look straight-forward (and clean!) to me. I find it very
> interesting that eri did not make use of ddi_device_acc_attr_t.
>   

Yeah, that was surprising to me as well.  Thanks for reviewing it.

> Questions:
>
> 3489: does this condition warrant a cmn_err? May be tough to track down if
> this ever happens regularly.
>   

I don't think so.  I am bumping the error counter for now, but I really 
don't expect this to ever happen.

> Do you need a hand with testing? (I have an extra eri or two laying around
> collecting dust).
>   

I might take you up on it.

    -- Garrett
> Steve
>
> _______________________________________________
> driver-discuss mailing list
> driver-discuss@opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/driver-discuss
>   

_______________________________________________
driver-discuss mailing list
driver-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to