Date: Wed, 17 Nov 2010 03:12:25 +1100 (EST) From: Bruce Evans <brde@optusnet.com.au> To: Maxim Sobolev <sobomax@FreeBSD.org> Cc: svn-src-stable@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org, svn-src-stable-7@FreeBSD.org Subject: Re: svn commit: r215368 - in stable/7/sys: arm/at91 arm/xscale/ixp425 contrib/dev/oltr dev/ae dev/an dev/ar dev/arl dev/ath dev/awi dev/ce dev/cm dev/cnw dev/cp dev/cs dev/ctau dev/cx dev/cxgb dev/ed d... Message-ID: <20101117030118.X1203@besplex.bde.org> In-Reply-To: <201011160440.oAG4e3YU039413@svn.freebsd.org> References: <201011160440.oAG4e3YU039413@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 16 Nov 2010, Maxim Sobolev wrote: > Log: > MFC r207554: > > Add new tunable 'net.link.ifqmaxlen' to set default send interface > queue length. The default value for this parameter is 50, which is > quite low for many of today's uses and the only way to modify this > parameter right now is to edit if_var.h file. Also add read-only > sysctl with the same name, so that it's possible to retrieve the > current value. This was quite low for yestdeay's uses (starting in about 1995), but today it is little missed since only yesterday's low-end hardware uses it. Most of today's interfaces are 1Gbps, and for this it is almost essential for the hardware to have a ring buffer with > 50 entries, so most of today's drivers ignore ifqmaxlen and set the queue length to the almost equally bogus value of the ring buffer size (-1). I set it to about 10000 instead in bge and em (10000 is too large, but fixes streaming under certain loads when hz is small). > Modified: > stable/7/sys/arm/at91/if_ate.c > stable/7/sys/arm/xscale/ixp425/if_npe.c > stable/7/sys/contrib/dev/oltr/if_oltr.c > stable/7/sys/dev/ae/if_ae.c > stable/7/sys/dev/an/if_an.c > stable/7/sys/dev/ar/if_ar.c > stable/7/sys/dev/arl/if_arl.c > stable/7/sys/dev/ath/if_ath.c > stable/7/sys/dev/awi/awi.c > stable/7/sys/dev/ce/if_ce.c > stable/7/sys/dev/cm/smc90cx6.c > stable/7/sys/dev/cnw/if_cnw.c > stable/7/sys/dev/cp/if_cp.c > stable/7/sys/dev/cs/if_cs.c > stable/7/sys/dev/ctau/if_ct.c > stable/7/sys/dev/cx/if_cx.c > stable/7/sys/dev/cxgb/cxgb_main.c > stable/7/sys/dev/ed/if_ed.c > stable/7/sys/dev/ep/if_ep.c > stable/7/sys/dev/ex/if_ex.c > stable/7/sys/dev/ie/if_ie.c > stable/7/sys/dev/iicbus/if_ic.c > stable/7/sys/dev/ipw/if_ipw.c > stable/7/sys/dev/iwi/if_iwi.c > stable/7/sys/dev/le/lance.c > stable/7/sys/dev/malo/if_malo.c > stable/7/sys/dev/my/if_my.c > stable/7/sys/dev/nxge/if_nxge.c > stable/7/sys/dev/pdq/pdq_ifsubr.c > stable/7/sys/dev/ppbus/if_plip.c > stable/7/sys/dev/ral/rt2560.c > stable/7/sys/dev/ral/rt2661.c > stable/7/sys/dev/ray/if_ray.c > stable/7/sys/dev/sbni/if_sbni.c > stable/7/sys/dev/sbsh/if_sbsh.c > stable/7/sys/dev/sn/if_sn.c > stable/7/sys/dev/snc/dp83932.c > stable/7/sys/dev/sr/if_sr.c > stable/7/sys/dev/usb/if_aue.c > stable/7/sys/dev/usb/if_axe.c > stable/7/sys/dev/usb/if_cdce.c > stable/7/sys/dev/usb/if_cue.c > stable/7/sys/dev/usb/if_kue.c > stable/7/sys/dev/usb/if_rue.c > stable/7/sys/dev/usb/if_rum.c > stable/7/sys/dev/usb/if_udav.c > stable/7/sys/dev/usb/if_ural.c > stable/7/sys/dev/usb/if_zyd.c > stable/7/sys/dev/usb/udbp.c > stable/7/sys/dev/vx/if_vx.c > stable/7/sys/dev/wi/if_wi.c > stable/7/sys/dev/wl/if_wl.c > stable/7/sys/dev/wpi/if_wpi.c > stable/7/sys/dev/xe/if_xe.c > stable/7/sys/i4b/capi/capi_l4if.c > stable/7/sys/i4b/driver/i4b_ing.c > stable/7/sys/i4b/driver/i4b_isppp.c > stable/7/sys/i4b/driver/i4b_trace.c > stable/7/sys/i4b/layer1/ifpi/i4b_ifpi_pci.c > stable/7/sys/i4b/layer1/ifpi2/i4b_ifpi2_pci.c > stable/7/sys/i4b/layer1/ifpnp/i4b_ifpnp_avm.c > stable/7/sys/i4b/layer1/ihfc/i4b_ihfc_drv.c > stable/7/sys/i4b/layer1/isic/i4b_bchan.c > stable/7/sys/i4b/layer1/itjc/i4b_itjc_pci.c > stable/7/sys/i4b/layer1/iwic/i4b_iwic_bchan.c > stable/7/sys/i4b/layer4/i4b_i4bdrv.c Note that there is only yeterday's hardware in this list. The queue length should be per-interface and configured only by a sysctl, or better, drivers dynamically configure it to a good value. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101117030118.X1203>