Skip site navigation (1)Skip section navigation (2)
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>