PERFORCE change 44409 for review
Sam Leffler
sam at FreeBSD.org
Sat Dec 27 16:29:38 PST 2003
http://perforce.freebsd.org/chv.cgi?CH=44409
Change 44409 by sam at sam_ebb on 2003/12/27 16:29:12
IFC
Affected files ...
.. //depot/projects/netperf/sys/alpha/alpha/vm_machdep.c#8 integrate
.. //depot/projects/netperf/sys/amd64/amd64/vm_machdep.c#10 integrate
.. //depot/projects/netperf/sys/dev/sio/sio_ebus.c#3 integrate
.. //depot/projects/netperf/sys/dev/sio/sio_isa.c#4 integrate
.. //depot/projects/netperf/sys/dev/sio/sio_puc.c#4 integrate
.. //depot/projects/netperf/sys/dev/wi/if_wi_pccard.c#8 integrate
.. //depot/projects/netperf/sys/i386/i386/vm_machdep.c#7 integrate
.. //depot/projects/netperf/sys/ia64/ia64/vm_machdep.c#10 integrate
.. //depot/projects/netperf/sys/kern/kern_exec.c#9 integrate
.. //depot/projects/netperf/sys/kern/subr_mbuf.c#9 integrate
.. //depot/projects/netperf/sys/modules/sio/Makefile#1 branch
.. //depot/projects/netperf/sys/netinet/ip_dummynet.c#21 integrate
.. //depot/projects/netperf/sys/powerpc/powerpc/vm_machdep.c#6 integrate
.. //depot/projects/netperf/sys/sparc64/sparc64/vm_machdep.c#6 integrate
.. //depot/projects/netperf/sys/sys/uio.h#4 integrate
.. //depot/projects/netperf/sys/vm/vm_kern.c#9 integrate
Differences ...
==== //depot/projects/netperf/sys/alpha/alpha/vm_machdep.c#8 (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/sys/amd64/amd64/vm_machdep.c#10 (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/sys/dev/sio/sio_ebus.c#3 (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/sys/dev/sio/sio_isa.c#4 (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/sys/dev/sio/sio_puc.c#4 (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/sys/dev/wi/if_wi_pccard.c#8 (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/sys/i386/i386/vm_machdep.c#7 (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/sys/ia64/ia64/vm_machdep.c#10 (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/sys/kern/kern_exec.c#9 (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/sys/kern/subr_mbuf.c#9 (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/sys/netinet/ip_dummynet.c#21 (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/sys/powerpc/powerpc/vm_machdep.c#6 (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/sys/sparc64/sparc64/vm_machdep.c#6 (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/sys/sys/uio.h#4 (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/sys/vm/vm_kern.c#9 (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);
More information about the p4-projects
mailing list