Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Mar 1999 18:07:11 +0600 (NS)
From:      Ustimenko Semen <semen@iclub.nsu.ru>
To:        David Greenman <dg@root.com>
Cc:        Peter Jeremy <peter.jeremy@AUSS2.ALCATEL.COM.AU>, freebsd-bugs@FreeBSD.ORG
Subject:   Re: kern/10535: Very poor ethernet performance with tx driver 
Message-ID:  <Pine.BSF.4.05.9903131732420.66832-100000@iclub.nsu.ru>
In-Reply-To: <199903112135.NAA09579@implode.root.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi!

I was out here for some time, but returned!

On Thu, 11 Mar 1999, David Greenman wrote:

> >David Greenman <dg@root.com> wrote:
> >>   The real question in my mind is why does the driver frob with the PHY
> >>in a critical path? That's guaranteed to cause the performance to suck, no
> >>matter what you do with the for-loops.
> >

It access PHY registers in two places:
while processing GP2 interrupt to get results of autonegotiation,
and while queuing packets.
So this happens not often.

> >At the beginning of epic_ifstart(), there is a check that the link is up,
> >otherwise the mbufs are dropped in the bit bucket.  I'm not sure why the
> >link status has to be read twice.  At least it is only once per packet.
> 
>    It shouldn't do that.
> 

Basic Mode Status Register has link up bit, and it is latched. So
i've put two read operation.

Without this construction, card locks up on some systems.
Don't know why. Possibly becouse of lack of volatile word
in CSR_READ.

Good luck.



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9903131732420.66832-100000>