[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CVS: cvs.openbsd.org: src
- To: source-changes_(_at_)_cvs_(_dot_)_openbsd_(_dot_)_org
- Subject: Re: CVS: cvs.openbsd.org: src
- From: Reyk Floeter <reyk_(_at_)_openbsd_(_dot_)_org>
- Date: Sat, 19 Jul 2008 14:36:16 +0200
On Fri, Jul 18, 2008 at 07:38:40AM -0600, Thordur I. Bjornsson wrote:
> CVSROOT: /cvs
> Module name: src
> Changes by: thib_(_at_)_cvs_(_dot_)_openbsd_(_dot_)_org 2008/07/18 07:38:40
> Modified files:
> sys/dev/pci : if_vr.c if_vrreg.h
> Log message:
> o Use mbufs, for the RX ring, instead of malloc()'ing an MCLBYTES sized buffer.
> o On non-strict alignment archs, dont copy the mbuf, every time, unload it, and send
> it up the stack and just get a new one for the rx ring. We still do the copy on
> strict alignment archs though...
> o create a function to handle mbuf allocation for the rx ring, vr_mbuf_alloc(),
> use it to allocate the mbufs and shuffle the bus dma setup around.
> ideas/code from vic(4) and sis(4);
> ok reyk@, brad@, dlg@
> tested by many, been in snapshots for a while.
Heads up, this is an important diff for people using vr(4) and systems
like the new-age Soekrises (eg. net5501). The driver was not working
under high load without this diff because it was, erm, totally wrong.
Testing the updated driver shows that it is much better now, even
under load with many small packets.