Date: Sat, 27 Dec 2003 16:30:35 -0800 (PST) From: Sam Leffler <sam@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 44410 for review Message-ID: <200312280030.hBS0UZOL043145@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=44410 Change 44410 by sam@sam_ebb on 2003/12/27 16:29:47 IFC Affected files ... .. //depot/projects/netperf+sockets/sys/alpha/alpha/vm_machdep.c#3 integrate .. //depot/projects/netperf+sockets/sys/amd64/amd64/vm_machdep.c#3 integrate .. //depot/projects/netperf+sockets/sys/dev/sio/sio_ebus.c#2 integrate .. //depot/projects/netperf+sockets/sys/dev/sio/sio_isa.c#2 integrate .. //depot/projects/netperf+sockets/sys/dev/sio/sio_puc.c#3 integrate .. //depot/projects/netperf+sockets/sys/dev/wi/if_wi_pccard.c#2 integrate .. //depot/projects/netperf+sockets/sys/i386/i386/vm_machdep.c#3 integrate .. //depot/projects/netperf+sockets/sys/ia64/ia64/vm_machdep.c#3 integrate .. //depot/projects/netperf+sockets/sys/kern/kern_exec.c#3 integrate .. //depot/projects/netperf+sockets/sys/kern/subr_mbuf.c#3 integrate .. //depot/projects/netperf+sockets/sys/modules/sio/Makefile#1 branch .. //depot/projects/netperf+sockets/sys/netinet/ip_dummynet.c#5 integrate .. //depot/projects/netperf+sockets/sys/powerpc/powerpc/vm_machdep.c#3 integrate .. //depot/projects/netperf+sockets/sys/sparc64/sparc64/vm_machdep.c#3 integrate .. //depot/projects/netperf+sockets/sys/sys/uio.h#3 integrate .. //depot/projects/netperf+sockets/sys/vm/vm_kern.c#3 integrate Differences ... ==== //depot/projects/netperf+sockets/sys/alpha/alpha/vm_machdep.c#3 (text+ko) ==== @@ -67,7 +67,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.96 2003/11/16 23:40:05 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.97 2003/12/27 07:52:46 silby Exp $"); #include "opt_kstack_pages.h" @@ -116,6 +116,7 @@ } sf_freelist; static u_int sf_buf_alloc_want; +extern int nsfbufspeak, nsfbufsused; /* * Finish a fork operation, with process p2 nearly set up. @@ -428,6 +429,8 @@ if (sf != NULL) { SLIST_REMOVE_HEAD(&sf_freelist.sf_head, free_list); sf->m = m; + nsfbufsused++; + nsfbufspeak = max(nsfbufspeak, nsfbufsused); } mtx_unlock(&sf_freelist.sf_lock); return (sf); @@ -457,6 +460,7 @@ sf->m = NULL; mtx_lock(&sf_freelist.sf_lock); SLIST_INSERT_HEAD(&sf_freelist.sf_head, sf, free_list); + nsfbufsused--; if (sf_buf_alloc_want > 0) wakeup_one(&sf_freelist); mtx_unlock(&sf_freelist.sf_lock); ==== //depot/projects/netperf+sockets/sys/amd64/amd64/vm_machdep.c#3 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.224 2003/11/21 03:02:00 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.225 2003/12/27 07:52:46 silby Exp $"); #include "opt_isa.h" #include "opt_kstack_pages.h" @@ -99,6 +99,7 @@ } sf_freelist; static u_int sf_buf_alloc_want; +extern int nsfbufspeak, nsfbufsused; /* * Finish a fork operation, with process p2 nearly set up. @@ -473,6 +474,8 @@ if (sf != NULL) { SLIST_REMOVE_HEAD(&sf_freelist.sf_head, free_list); sf->m = m; + nsfbufsused++; + nsfbufspeak = max(nsfbufspeak, nsfbufsused); } mtx_unlock(&sf_freelist.sf_lock); return (sf); @@ -502,6 +505,7 @@ sf->m = NULL; mtx_lock(&sf_freelist.sf_lock); SLIST_INSERT_HEAD(&sf_freelist.sf_head, sf, free_list); + nsfbufsused--; if (sf_buf_alloc_want > 0) wakeup_one(&sf_freelist); mtx_unlock(&sf_freelist.sf_lock); ==== //depot/projects/netperf+sockets/sys/dev/sio/sio_ebus.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/sio/sio_ebus.c,v 1.4 2003/08/23 00:11:16 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/sio/sio_ebus.c,v 1.5 2003/12/27 19:47:10 imp Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -48,6 +48,7 @@ /* Device interface */ DEVMETHOD(device_probe, sio_ebus_probe), DEVMETHOD(device_attach, sio_ebus_attach), + DEVMETHOD(device_detach, siodetach), { 0, 0 } }; ==== //depot/projects/netperf+sockets/sys/dev/sio/sio_isa.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/sio/sio_isa.c,v 1.13 2003/08/25 09:48:48 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/sio/sio_isa.c,v 1.14 2003/12/27 19:47:10 imp Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -51,6 +51,7 @@ /* Device interface */ DEVMETHOD(device_probe, sio_isa_probe), DEVMETHOD(device_attach, sio_isa_attach), + DEVMETHOD(device_detach, siodetach), { 0, 0 } }; ==== //depot/projects/netperf+sockets/sys/dev/sio/sio_puc.c#3 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/sio/sio_puc.c,v 1.7 2003/12/26 04:30:01 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/sio/sio_puc.c,v 1.8 2003/12/27 19:47:10 imp Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -52,6 +52,7 @@ /* Device interface */ DEVMETHOD(device_probe, sio_puc_probe), DEVMETHOD(device_attach, sio_puc_attach), + DEVMETHOD(device_detach, siodetach), { 0, 0 } }; ==== //depot/projects/netperf+sockets/sys/dev/wi/if_wi_pccard.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi_pccard.c,v 1.41 2003/09/22 05:33:22 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi_pccard.c,v 1.42 2003/12/27 18:07:50 imp Exp $"); #include "opt_wi.h" @@ -136,8 +136,8 @@ PCMCIA_CARD(BROMAX, IWN, 0), PCMCIA_CARD(BROMAX, IWN3, 0), PCMCIA_CARD(BROMAX, WCF11, 0), + PCMCIA_CARD(BUFFALO, WLI_CF_S11G, 0), PCMCIA_CARD(BUFFALO, WLI_PCM_S11, 0), - PCMCIA_CARD(BUFFALO, WLI_CF_S11G, 0), PCMCIA_CARD(COMPAQ, NC5004, 0), PCMCIA_CARD(CONTEC, FX_DS110_PCC, 0), PCMCIA_CARD(COREGA, WIRELESS_LAN_PCC_11, 0), @@ -155,16 +155,16 @@ PCMCIA_CARD(INTEL, PRO_WLAN_2011, 0), PCMCIA_CARD(INTERSIL, MA401RA, 0), PCMCIA_CARD(INTERSIL2, PRISM2, 0), + PCMCIA_CARD(IODATA2, WCF12, 0), PCMCIA_CARD(IODATA2, WNB11PCM, 0), - PCMCIA_CARD(IODATA2, WCF12, 0), PCMCIA_CARD(FUJITSU, WL110, 0), PCMCIA_CARD(LUCENT, WAVELAN_IEEE, 0), PCMCIA_CARD(MICROSOFT, MN_520, 0), PCMCIA_CARD(NOKIA, C020_WLAN, 0), PCMCIA_CARD(NOKIA, C110_WLAN, 0), PCMCIA_CARD(PLANEX_2, GWNS11H, 0), + PCMCIA_CARD(PROXIM, HARMONY, 0), PCMCIA_CARD(PROXIM, RANGELANDS_8430, 0), - PCMCIA_CARD(PROXIM, HARMONY, 0), PCMCIA_CARD(SAMSUNG, SWL_2000N, 0), PCMCIA_CARD(SIEMENS, SS1021, 0), PCMCIA_CARD(SIMPLETECH, SPECTRUM24_ALT, 0), ==== //depot/projects/netperf+sockets/sys/i386/i386/vm_machdep.c#3 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.220 2003/12/07 22:49:25 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.221 2003/12/27 07:52:47 silby Exp $"); #include "opt_npx.h" #ifdef PC98 @@ -112,6 +112,7 @@ static TAILQ_HEAD(, sf_buf) sf_buf_freelist; static u_int sf_buf_alloc_want; +extern int nsfbufspeak, nsfbufsused; /* * A lock used to synchronize access to the hash table and free list @@ -612,6 +613,10 @@ if (sf->ref_count == 0) TAILQ_REMOVE(&sf_buf_freelist, sf, free_entry); sf->ref_count++; + if (sf->ref_count == 1) { + nsfbufsused++; + nsfbufspeak = max(nsfbufspeak, nsfbufsused); + } goto done; } } @@ -633,6 +638,8 @@ LIST_INSERT_HEAD(hash_list, sf, list_entry); sf->ref_count = 1; sf->m = m; + nsfbufsused++; + nsfbufspeak = max(nsfbufspeak, nsfbufsused); pmap_qenter(sf->kva, &sf->m, 1); done: mtx_unlock(&sf_buf_lock); @@ -653,6 +660,7 @@ m = sf->m; sf->ref_count--; if (sf->ref_count == 0) { + nsfbufsused--; TAILQ_INSERT_TAIL(&sf_buf_freelist, sf, free_entry); if (sf_buf_alloc_want > 0) wakeup_one(&sf_buf_freelist); ==== //depot/projects/netperf+sockets/sys/ia64/ia64/vm_machdep.c#3 (text+ko) ==== @@ -38,7 +38,7 @@ * * from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91 * Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$ - * $FreeBSD: src/sys/ia64/ia64/vm_machdep.c,v 1.76 2003/11/16 23:40:06 alc Exp $ + * $FreeBSD: src/sys/ia64/ia64/vm_machdep.c,v 1.77 2003/12/27 07:52:47 silby Exp $ */ /* * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. @@ -113,6 +113,7 @@ } sf_freelist; static u_int sf_buf_alloc_want; +extern int nsfbufspeak, nsfbufsused; void cpu_thread_exit(struct thread *td) @@ -365,6 +366,8 @@ if (sf != NULL) { SLIST_REMOVE_HEAD(&sf_freelist.sf_head, free_list); sf->m = m; + nsfbufsused++; + nsfbufspeak = max(nsfbufspeak, nsfbufsused); } mtx_unlock(&sf_freelist.sf_lock); return (sf); @@ -394,6 +397,7 @@ sf->m = NULL; mtx_lock(&sf_freelist.sf_lock); SLIST_INSERT_HEAD(&sf_freelist.sf_head, sf, free_list); + nsfbufsused--; if (sf_buf_alloc_want > 0) wakeup_one(&sf_freelist); mtx_unlock(&sf_freelist.sf_lock); ==== //depot/projects/netperf+sockets/sys/kern/kern_exec.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.232 2003/11/12 03:14:29 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.233 2003/12/27 19:40:03 alc Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" @@ -795,7 +795,6 @@ exec_unmap_first_page(imgp) struct image_params *imgp; { - GIANT_REQUIRED; if (imgp->firstpage) { pmap_qremove((vm_offset_t)imgp->image_header, 1); ==== //depot/projects/netperf+sockets/sys/kern/subr_mbuf.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/subr_mbuf.c,v 1.57 2003/12/07 21:53:41 truckman Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_mbuf.c,v 1.58 2003/12/27 07:52:47 silby Exp $"); #include "opt_mac.h" #include "opt_param.h" @@ -173,6 +173,8 @@ int nmbclusters; int nmbcnt; int nsfbufs; +int nsfbufspeak; +int nsfbufsused; /* * Sizes of objects per bucket. There are this size's worth of mbufs @@ -318,6 +320,10 @@ "Number used to scale kmem_map to ensure sufficient space for counters"); SYSCTL_INT(_kern_ipc, OID_AUTO, nsfbufs, CTLFLAG_RDTUN, &nsfbufs, 0, "Maximum number of sendfile(2) sf_bufs available"); +SYSCTL_INT(_kern_ipc, OID_AUTO, nsfbufspeak, CTLFLAG_RD, &nsfbufspeak, 0, + "Number of sendfile(2) sf_bufs at peak usage"); +SYSCTL_INT(_kern_ipc, OID_AUTO, nsfbufsused, CTLFLAG_RD, &nsfbufsused, 0, + "Number of sendfile(2) sf_bufs in use"); SYSCTL_INT(_kern_ipc, OID_AUTO, mbuf_wait, CTLFLAG_RW, &mbuf_wait, 0, "Sleep time of mbuf subsystem wait allocations during exhaustion"); SYSCTL_UINT(_kern_ipc, OID_AUTO, mbuf_hiwm, CTLFLAG_RW, &mbuf_hiwm, 0, ==== //depot/projects/netperf+sockets/sys/netinet/ip_dummynet.c#5 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/ip_dummynet.c,v 1.75 2003/12/06 09:01:25 emax Exp $ + * $FreeBSD: src/sys/netinet/ip_dummynet.c,v 1.76 2003/12/27 14:08:53 maxim Exp $ */ #define DUMMYNET_DEBUG @@ -79,7 +79,7 @@ /* * We keep a private variable for the simulation time, but we could - * probably use an existing one ("softticks" in sys/kern/kern_timer.c) + * probably use an existing one ("softticks" in sys/kern/kern_timeout.c) */ static dn_key curr_time = 0 ; /* current simulation time */ ==== //depot/projects/netperf+sockets/sys/powerpc/powerpc/vm_machdep.c#3 (text+ko) ==== @@ -38,7 +38,7 @@ * * from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91 * Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$ - * $FreeBSD: src/sys/powerpc/powerpc/vm_machdep.c,v 1.93 2003/11/16 23:40:06 alc Exp $ + * $FreeBSD: src/sys/powerpc/powerpc/vm_machdep.c,v 1.94 2003/12/27 07:52:47 silby Exp $ */ /* * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University. @@ -116,6 +116,7 @@ } sf_freelist; static u_int sf_buf_alloc_want; +extern int nsfbufspeak, nsfbufsused; /* * Finish a fork operation, with process p2 nearly set up. @@ -282,6 +283,8 @@ if (sf != NULL) { SLIST_REMOVE_HEAD(&sf_freelist.sf_head, free_list); sf->m = m; + nsfbufsused++; + nsfbufspeak = max(nsfbufspeak, nsfbufsused); pmap_qenter(sf->kva, &sf->m, 1); } mtx_unlock(&sf_freelist.sf_lock); @@ -313,6 +316,7 @@ sf->m = NULL; mtx_lock(&sf_freelist.sf_lock); SLIST_INSERT_HEAD(&sf_freelist.sf_head, sf, free_list); + nsfbufsused--; if (sf_buf_alloc_want > 0) wakeup_one(&sf_freelist); mtx_unlock(&sf_freelist.sf_lock); ==== //depot/projects/netperf+sockets/sys/sparc64/sparc64/vm_machdep.c#3 (text+ko) ==== @@ -40,7 +40,7 @@ * from: @(#)vm_machdep.c 7.3 (Berkeley) 5/13/91 * Utah $Hdr: vm_machdep.c 1.16.1.1 89/06/23$ * from: FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.167 2001/07/12 - * $FreeBSD: src/sys/sparc64/sparc64/vm_machdep.c,v 1.55 2003/11/16 23:40:06 alc Exp $ + * $FreeBSD: src/sys/sparc64/sparc64/vm_machdep.c,v 1.56 2003/12/27 07:52:47 silby Exp $ */ #include "opt_kstack_pages.h" @@ -100,6 +100,7 @@ } sf_freelist; static u_int sf_buf_alloc_want; +extern int nsfbufspeak, nsfbufsused; PMAP_STATS_VAR(uma_nsmall_alloc); PMAP_STATS_VAR(uma_nsmall_alloc_oc); @@ -409,6 +410,8 @@ if (sf != NULL) { SLIST_REMOVE_HEAD(&sf_freelist.sf_head, free_list); sf->m = m; + nsfbufsused++; + nsfbufspeak = max(nsfbufspeak, nsfbufsused); pmap_qenter(sf->kva, &sf->m, 1); } mtx_unlock(&sf_freelist.sf_lock); @@ -440,6 +443,7 @@ sf->m = NULL; mtx_lock(&sf_freelist.sf_lock); SLIST_INSERT_HEAD(&sf_freelist.sf_head, sf, free_list); + nsfbufsused--; if (sf_buf_alloc_want > 0) wakeup_one(&sf_freelist); mtx_unlock(&sf_freelist.sf_lock); ==== //depot/projects/netperf+sockets/sys/sys/uio.h#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)uio.h 8.5 (Berkeley) 2/22/94 - * $FreeBSD: src/sys/sys/uio.h,v 1.29 2003/12/26 05:54:35 alfred Exp $ + * $FreeBSD: src/sys/sys/uio.h,v 1.30 2003/12/27 10:30:43 bde Exp $ */ #ifndef _SYS_UIO_H_ @@ -85,14 +85,15 @@ struct vm_object; -void uio_yield(void); -int uiomove(void *, int, struct uio *); -int uiomove_frombuf(void *buf, int buflen, struct uio *uio); -int uiomoveco(void *, int, struct uio *, struct vm_object *, int); int copyinfrom(const void * __restrict src, void * __restrict dst, size_t len, int seg); int copyinstrfrom(const void * __restrict src, void * __restrict dst, size_t len, size_t * __restrict copied, int seg); +void uio_yield(void); +int uiomove(void *cp, int n, struct uio *uio); +int uiomove_frombuf(void *buf, int buflen, struct uio *uio); +int uiomoveco(void *cp, int n, struct uio *uio, struct vm_object *obj, + int disposable); #else /* !_KERNEL */ ==== //depot/projects/netperf+sockets/sys/vm/vm_kern.c#3 (text+ko) ==== @@ -67,7 +67,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/vm/vm_kern.c,v 1.108 2003/11/10 00:44:00 mini Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/vm_kern.c,v 1.109 2003/12/28 00:10:48 alc Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -261,8 +261,6 @@ int ret; vm_map_t result; - GIANT_REQUIRED; - size = round_page(size); *min = (vm_offset_t) vm_map_min(parent);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200312280030.hBS0UZOL043145>