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