Contributed by johan on from the vr-vrrr-vroooom dept.
Please read on for Reyk's comment...
Subject: Re: CVS: cvs.openbsd.org: src From: Reyk Floeter
Date: 2008-07-19 12:36:16 On Fri, Jul 18, 2008 at 07:38:40AM -0600, Thordur I. Bjornsson wrote: > CVSROOT: /cvs > Module name: src > Changes by: firstname.lastname@example.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. > Yay! 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. Thanks thib!
(Comments are closed)