Date: Tue, 4 Dec 2001 10:23:32 -0500 (EST) From: Robert Watson <rwatson@FreeBSD.org> To: Luigi Rizzo <luigi@FreeBSD.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/conf options.i386 src/sys/i386/i386 swtch.s trap.c src/sys/net if.h netisr.h src/sys/sys systm.h src/sys/i386/include asnames.h src/sys/kern kern_clock.c src/sys/dev/fxp if_fxp.c src/sys/pci if_dc.c if_dcreg.h if_sis.c ... Message-ID: <Pine.NEB.3.96L.1011204102208.62227B-100000@fledge.watson.org> In-Reply-To: <200112040557.fB45vnD46829@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Needless to say, I have some objection to this work going into -STABLE before -CURRENT; do you have a schedule for completing the merge into -CURRENT so this work isn't lost when we get to 5.0-RELEASE? Robert N M Watson FreeBSD Core Team, TrustedBSD Project robert@fledge.watson.org NAI Labs, Safeport Network Services On Mon, 3 Dec 2001, Luigi Rizzo wrote: > luigi 2001/12/03 21:57:49 PST > > Modified files: (Branch: RELENG_4) > sys/conf options.i386 > sys/i386/i386 swtch.s trap.c > sys/net if.h netisr.h > sys/sys systm.h > sys/i386/include asnames.h > sys/kern kern_clock.c > sys/dev/fxp if_fxp.c > sys/pci if_dc.c if_dcreg.h if_sis.c if_sisreg.h > Log: > As approved by the Release Engineer, here comes the code for polling > in network device drivers (x86, non-SMP only at the moment, for > reasons that I have extensively explained on the -net mailing list). > This code lets network devices operate in a semi-polling mode, > which makes systems much more resilient to attacks and overloads. > > If you don't enable it with an appropriate kernel option, your > kernel will be exactly the same as before this commit. No userland > code is affected. > > To use polling you have to put the following options in your kernel > config file: > > options DEVICE_POLLING > options HZ=1000 # not compulsory but strongly recommended > > and enable it at runtime as follows (by default it is disabled): > > sysctl kern.polling.enable=1 > > There are basically no other tunables related to this code, > though you might have a look at "sysctl kern.polling" to see > what other variables are there. > > The device drivers supported at the moment are "dc", "fxp" and > "sis", with more to come (but this code only makes sense for 100M > and Gigabit devices). Unmodified drivers will continue to operate > as before. > > Under little or moderate load you should see no difference in the > behaviour of your system. Under load, you should experience a > moderate improvement in peak performance, and a lot more stability > and responsiveness. > > A quick description of the files affected (all in sys/) > > conf/options.i386 > DEVICE_POLLING option > > i386/i386/swtch.s i386/i386/trap.c > hooks to call the polling code > > net/if.h net/netisr.h sys/systm.h i386/include/asnames.h > misc. constants and variable definitions (mostly one-liner). > > kern/kern_clock.c > The bulk of the polling code. Probably this code will be moved to a > separate file once equivalent functionality is added to -current. > > dev/fxp/if_fxp.c pci/if_dc.c pci/if_dcreg.h pci/if_sis.c pci/if_sisreg.h > device driver modifications > > Reviewed-by: -net > Approved by: jkh > > Revision Changes Path > 1.132.2.9 +6 -1 src/sys/conf/options.i386 > 1.110.2.9 +56 -2 src/sys/dev/fxp/if_fxp.c > 1.89.2.5 +5 -1 src/sys/i386/i386/swtch.s > 1.147.2.6 +6 -1 src/sys/i386/i386/trap.c > 1.44.2.4 +2 -1 src/sys/i386/include/asnames.h > 1.105.2.5 +253 -1 src/sys/kern/kern_clock.c > 1.58.2.3 +10 -1 src/sys/net/if.h > 1.21.2.3 +2 -1 src/sys/net/netisr.h > 1.9.2.25 +72 -0 src/sys/pci/if_dc.c > 1.4.2.12 +7 -0 src/sys/pci/if_dcreg.h > 1.13.4.10 +66 -0 src/sys/pci/if_sis.c > 1.1.4.5 +3 -0 src/sys/pci/if_sisreg.h > 1.111.2.11 +14 -0 src/sys/sys/systm.h > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1011204102208.62227B-100000>