Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Apr 2004 16:00:31 -0700 (PDT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 50676 for review
Message-ID:  <200404082300.i38N0VqD012049@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=50676

Change 50676 by rwatson@rwatson_paprika on 2004/04/08 16:00:16

	Integrate netperf_socket:
	
	- pf warnings fixed, no longer requires nowerror.
	- Don't assume initial thread from execve is present when core is
	  dumped.
	- sendfile() bugfix.
	- Reclaim pager_map_size from KVA.

Affected files ...

.. //depot/projects/netperf_socket/sys/conf/files#14 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#12 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_video.c#3 integrate
.. //depot/projects/netperf_socket/sys/i386/acpica/acpi_toshiba.c#3 integrate
.. //depot/projects/netperf_socket/sys/kern/imgact_elf.c#5 integrate
.. //depot/projects/netperf_socket/sys/kern/uipc_syscalls.c#9 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_init.c#4 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_pager.c#3 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_pager.h#3 integrate

Differences ...

==== //depot/projects/netperf_socket/sys/conf/files#14 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.881 2004/04/03 18:42:05 phk Exp $
+# $FreeBSD: src/sys/conf/files,v 1.882 2004/04/08 18:17:13 mlaier Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -208,7 +208,7 @@
 contrib/ipfilter/netinet/mlfk_ipl.c	optional ipfilter inet
 contrib/pf/net/if_pflog.c		optional pflog
 contrib/pf/net/if_pfsync.c		optional pfsync
-contrib/pf/net/pf.c			optional pf nowerror
+contrib/pf/net/pf.c			optional pf
 contrib/pf/net/pf_ioctl.c		optional pf
 contrib/pf/net/pf_norm.c		optional pf
 contrib/pf/net/pf_table.c		optional pf

==== //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#12 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *	$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.134 2004/04/01 04:21:33 njl Exp $
+ *	$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.135 2004/04/08 16:45:12 njl Exp $
  */
 
 #include "opt_acpi.h"
@@ -187,7 +187,7 @@
 
 static devclass_t acpi_devclass;
 DRIVER_MODULE(acpi, nexus, acpi_driver, acpi_devclass, acpi_modevent, 0);
-MODULE_VERSION(acpi, 100);
+MODULE_VERSION(acpi, 1);
 
 SYSCTL_NODE(_debug, OID_AUTO, acpi, CTLFLAG_RW, NULL, "ACPI debugging");
 static char acpi_ca_version[12];

==== //depot/projects/netperf_socket/sys/dev/acpica/acpi_video.c#3 (text+ko) ====

@@ -24,7 +24,7 @@
  * SUCH DAMAGE.
  *
  *	$Id: acpi_vid.c,v 1.4 2003/10/13 10:07:36 taku Exp $
- *	$FreeBSD: src/sys/dev/acpica/acpi_video.c,v 1.2 2004/03/03 18:34:42 njl Exp $
+ *	$FreeBSD: src/sys/dev/acpica/acpi_video.c,v 1.3 2004/04/08 16:45:12 njl Exp $
  */
 
 #include <sys/param.h>
@@ -154,7 +154,7 @@
 
 DRIVER_MODULE(acpi_video, acpi, acpi_video_driver, acpi_video_devclass,
 	      acpi_video_modevent, NULL);
-MODULE_DEPEND(acpi_video, acpi, 100, 100, 100);
+MODULE_DEPEND(acpi_video, acpi, 1, 1, 1);
 
 struct sysctl_ctx_list	acpi_video_sysctl_ctx;
 struct sysctl_oid	*acpi_video_sysctl_tree;

==== //depot/projects/netperf_socket/sys/i386/acpica/acpi_toshiba.c#3 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/acpica/acpi_toshiba.c,v 1.4 2004/03/03 03:02:17 njl Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/acpica/acpi_toshiba.c,v 1.5 2004/04/08 16:45:12 njl Exp $");
 
 #include "opt_acpi.h"
 #include <sys/param.h>
@@ -172,7 +172,7 @@
 static devclass_t acpi_toshiba_devclass;
 DRIVER_MODULE(acpi_toshiba, acpi, acpi_toshiba_driver, acpi_toshiba_devclass,
 	      0, 0);
-MODULE_DEPEND(acpi_toshiba, acpi, 100, 100, 100);
+MODULE_DEPEND(acpi_toshiba, acpi, 1, 1, 1);
 
 static int	enable_fn_keys = 1;
 TUNABLE_INT("hw.acpi.toshiba.enable_fn_keys", &enable_fn_keys);

==== //depot/projects/netperf_socket/sys/kern/imgact_elf.c#5 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/imgact_elf.c,v 1.146 2004/04/03 20:25:41 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/imgact_elf.c,v 1.147 2004/04/08 06:37:00 marcel Exp $");
 
 #include <sys/param.h>
 #include <sys/exec.h>
@@ -1178,18 +1178,21 @@
 	    sizeof *psinfo);
 
 	/*
-	 * We want to start with the registers of the first thread in the
+	 * We want to start with the registers of the initial thread in the
 	 * process so that the .reg and .reg2 pseudo-sections created by bfd
 	 * will be identical to the .reg/$PID and .reg2/$PID pseudo-sections.
 	 * This makes sure that any tool that only looks for .reg and .reg2
 	 * and not for .reg/$PID and .reg2/$PID will behave the same as
-	 * before. The first thread is the thread with an ID equal to the 
+	 * before. The first thread is the thread with an ID equal to the
 	 * process' ID.
+	 * Note that the initial thread may already be gone. In that case
+	 * 'first' is NULL.
 	 */
-	first = TAILQ_FIRST(&p->p_threads);
-	while (first->td_tid > PID_MAX)
+	thr = first = TAILQ_FIRST(&p->p_threads);
+	while (first != NULL && first->td_tid > PID_MAX)
 		first = TAILQ_NEXT(first, td_plist);
-	thr = first;
+	if (first != NULL)
+		thr = first;
 	do {
 		if (dst != NULL) {
 			status->pr_version = PRSTATUS_VERSION;
@@ -1209,7 +1212,7 @@
 		/* XXX allow for MD specific notes. */
 		thr = (thr == first) ? TAILQ_FIRST(&p->p_threads) :
 		    TAILQ_NEXT(thr, td_plist);
-		if (thr == first)
+		if (thr == first && thr != NULL)
 			thr = TAILQ_NEXT(thr, td_plist);
 	} while (thr != NULL);
 

==== //depot/projects/netperf_socket/sys/kern/uipc_syscalls.c#9 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.180 2004/04/05 21:03:36 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.181 2004/04/08 07:14:34 silby Exp $");
 
 #include "opt_compat.h"
 #include "opt_ktrace.h"
@@ -1823,8 +1823,14 @@
 			xfsize = PAGE_SIZE - pgoff;
 		if (uap->nbytes && xfsize > (uap->nbytes - sbytes))
 			xfsize = uap->nbytes - sbytes;
-		if (xfsize <= 0)
-			break;
+		if (xfsize <= 0) {
+			if (m_header != NULL) {
+				m = m_header;
+				m_header = NULL;
+				goto retry_space;
+			} else
+				break;
+		}
 		/*
 		 * Optimize the non-blocking case by looking at the socket space
 		 * before going to the extra work of constituting the sf_buf.

==== //depot/projects/netperf_socket/sys/vm/vm_init.c#4 (text+ko) ====

@@ -63,7 +63,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/vm/vm_init.c,v 1.42 2004/04/06 20:15:36 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/vm/vm_init.c,v 1.43 2004/04/08 19:08:49 alc Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -185,12 +185,12 @@
 		panic("startup: table size inconsistency");
 
 	clean_map = kmem_suballoc(kernel_map, &kmi->clean_sva, &kmi->clean_eva,
-			(nbuf*BKVASIZE) + (nswbuf*MAXPHYS) + pager_map_size);
+			(nbuf*BKVASIZE) + (nswbuf*MAXPHYS));
 	buffer_map = kmem_suballoc(clean_map, &kmi->buffer_sva,
 			&kmi->buffer_eva, (nbuf*BKVASIZE));
 	buffer_map->system_map = 1;
 	pager_map = kmem_suballoc(clean_map, &kmi->pager_sva, &kmi->pager_eva,
-				(nswbuf*MAXPHYS) + pager_map_size);
+				(nswbuf*MAXPHYS));
 	pager_map->system_map = 1;
 	exec_map = kmem_suballoc(kernel_map, &minaddr, &maxaddr,
 				(16*(ARG_MAX+(PAGE_SIZE*3))));

==== //depot/projects/netperf_socket/sys/vm/vm_pager.c#3 (text+ko) ====

@@ -64,7 +64,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/vm/vm_pager.c,v 1.94 2004/04/06 20:15:37 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/vm/vm_pager.c,v 1.95 2004/04/08 19:08:49 alc Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -176,9 +176,6 @@
  * cleaning requests (NPENDINGIO == 64) * the maximum swap cluster size
  * (MAXPHYS == 64k) if you want to get the most efficiency.
  */
-#define PAGER_MAP_SIZE	(8 * 1024 * 1024)
-
-int pager_map_size = PAGER_MAP_SIZE;
 vm_map_t pager_map;
 static int bswneeded;
 static vm_offset_t swapbkva;		/* swap buffers kva */

==== //depot/projects/netperf_socket/sys/vm/vm_pager.h#3 (text+ko) ====

@@ -32,7 +32,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)vm_pager.h	8.4 (Berkeley) 1/12/94
- * $FreeBSD: src/sys/vm/vm_pager.h,v 1.46 2004/04/06 20:15:37 imp Exp $
+ * $FreeBSD: src/sys/vm/vm_pager.h,v 1.47 2004/04/08 19:08:49 alc Exp $
  */
 
 /*
@@ -91,7 +91,6 @@
 #endif
 
 extern vm_map_t pager_map;
-extern int pager_map_size;
 extern struct pagerops *pagertab[];
 extern struct mtx pbuf_mtx;
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200404082300.i38N0VqD012049>