tech-net archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: NetBSD 5.1 TCP performance issue (lots of ACK)
On Fri, Oct 28, 2011 at 08:24:53PM -0500, David Young wrote:
> > I don't think so: if WRX_ST_DD is not set, we won't read anything more frm
> > this descriptor so there's no need to sync it again.
>
> Currently, if WRX_ST_DD is not set, we sync the descriptor and
> get out of the loop:
>
> WM_CDRXSYNC(sc, i, BUS_DMASYNC_PREREAD);
> break;
>
> If WRX_ST_DD is set, however, we do read more from the descriptor. That
> is why I ask whether we should sync it again.
>
> It is strange and possibly unnecessary to have two sync calls
> back-to-back, for it would be:
>
> WM_CDRXSYNC(sc, i, BUS_DMASYNC_PREREAD);
> if ((status & WRX_ST_DD) == 0) {
> break;
> }
>
> /*
> * sync again, to make sure the values below have been read
> * after status.
> */
> WM_CDRXSYNC(sc, i, BUS_DMASYNC_POSTREAD|BUS_DMASYNC_POSTWRITE);
OK, I see. But, is there a platoform where BUS_DMASYNC_PREREAD is not
a NOP ? I can't what kind of work BUS_DMASYNC_PREREAD could have to do ...
--
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
NetBSD: 26 ans d'experience feront toujours la difference
--
Home |
Main Index |
Thread Index |
Old Index