PERFORCE change 131271 for review

John Birrell jb at FreeBSD.org
Wed Dec 19 15:30:20 PST 2007


http://perforce.freebsd.org/chv.cgi?CH=131271

Change 131271 by jb at jb_freebsd1 on 2007/12/19 23:29:36

	IFC

Affected files ...

.. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/committers-guide/article.sgml#15 integrate
.. //depot/projects/dtrace/ports/LEGAL#29 integrate
.. //depot/projects/dtrace/ports/Tools/scripts/addport#6 integrate
.. //depot/projects/dtrace/src/lib/libc/stdtime/localtime.c#5 integrate
.. //depot/projects/dtrace/src/lib/libc/sys/select.2#5 integrate
.. //depot/projects/dtrace/src/lib/libfetch/Makefile#7 integrate
.. //depot/projects/dtrace/src/share/man/man4/syncache.4#5 integrate
.. //depot/projects/dtrace/src/share/man/man9/BUS_SETUP_INTR.9#6 integrate
.. //depot/projects/dtrace/src/share/man/man9/sf_buf.9#2 integrate
.. //depot/projects/dtrace/src/share/misc/bsd-family-tree#13 integrate
.. //depot/projects/dtrace/src/sys/arm/at91/at91.c#11 integrate
.. //depot/projects/dtrace/src/sys/boot/forth/support.4th#5 integrate
.. //depot/projects/dtrace/src/sys/conf/files.powerpc#15 integrate
.. //depot/projects/dtrace/src/sys/dev/aac/aac.c#9 integrate
.. //depot/projects/dtrace/src/sys/dev/mfi/mfi.c#12 integrate
.. //depot/projects/dtrace/src/sys/dev/mfi/mfi_pci.c#7 integrate
.. //depot/projects/dtrace/src/sys/dev/powermac_nvram/powermac_nvram.c#3 integrate
.. //depot/projects/dtrace/src/sys/dev/uart/uart_cpu_powerpc.c#5 integrate
.. //depot/projects/dtrace/src/sys/kern/subr_bus.c#11 integrate
.. //depot/projects/dtrace/src/sys/netgraph/ng_car.c#2 integrate
.. //depot/projects/dtrace/src/sys/netgraph/ng_car.h#2 integrate
.. //depot/projects/dtrace/src/sys/netinet/tcp_offload.c#2 integrate
.. //depot/projects/dtrace/src/sys/netinet/tcp_syncache.c#17 integrate
.. //depot/projects/dtrace/src/sys/powerpc/aim/ofw_machdep.c#3 integrate
.. //depot/projects/dtrace/src/sys/powerpc/conf/NOTES#11 integrate
.. //depot/projects/dtrace/src/sys/powerpc/include/_bus.h#4 integrate
.. //depot/projects/dtrace/src/sys/powerpc/include/bus.h#5 integrate
.. //depot/projects/dtrace/src/sys/powerpc/powermac/grackle.c#6 integrate
.. //depot/projects/dtrace/src/sys/powerpc/powermac/macio.c#5 integrate
.. //depot/projects/dtrace/src/sys/powerpc/powermac/uninorth.c#7 integrate
.. //depot/projects/dtrace/src/sys/powerpc/powerpc/bus_machdep.c#1 branch
.. //depot/projects/dtrace/src/sys/powerpc/psim/iobus.c#5 integrate
.. //depot/projects/dtrace/src/sys/vm/vm_page.c#27 integrate
.. //depot/projects/dtrace/src/sys/vm/vm_phys.c#2 integrate
.. //depot/projects/dtrace/src/tools/regression/bin/mv/regress.sh#2 integrate
.. //depot/projects/dtrace/src/usr.bin/ministat/Makefile#1 branch
.. //depot/projects/dtrace/src/usr.bin/ministat/README#1 branch
.. //depot/projects/dtrace/src/usr.bin/ministat/chameleon#1 branch
.. //depot/projects/dtrace/src/usr.bin/ministat/iguana#1 branch
.. //depot/projects/dtrace/src/usr.bin/ministat/ministat.c#1 branch
.. //depot/projects/dtrace/src/usr.sbin/boot98cfg/boot98cfg.c#4 integrate

Differences ...

==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/committers-guide/article.sgml#15 (text+ko) ====

@@ -13,7 +13,7 @@
       </author>
     </authorgroup>
 
-    <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/committers-guide/article.sgml,v 1.269 2007/10/15 13:27:28 marck Exp $</pubdate>
+    <pubdate>$FreeBSD: doc/en_US.ISO8859-1/articles/committers-guide/article.sgml,v 1.270 2007/12/19 19:25:51 pav Exp $</pubdate>
 
     <copyright>
       <year>1999</year>
@@ -2472,8 +2472,8 @@
 	      It will also add an entry to the
 	      <filename>CVSROOT/modules</filename> file and the port's
 	      category <filename>Makefile</filename>.  It was
-	      written by &a.mharo; and &a.will;, but Will is the current
-	      maintainer so please send questions/patches about
+	      written by &a.mharo; and &a.will;, and is currently maintained
+	      by &a.garga;, so please send questions/patches about
 	      <command>addport</command> to him.</para>
 	  </answer>
 	</qandaentry>

==== //depot/projects/dtrace/ports/LEGAL#29 (text+ko) ====

@@ -1,5 +1,5 @@
 # Creator:  Jordan Hubbard
-# $FreeBSD: ports/LEGAL,v 1.560 2007/12/14 23:08:17 pav Exp $
+# $FreeBSD: ports/LEGAL,v 1.561 2007/12/19 17:20:32 pav Exp $
 
    **********************************************************************
    ***                      NOTE TO COMMITTERS                        ***
@@ -96,6 +96,7 @@
 citrix_ica-*		german/citrix_ica	License prohibits redistribution
 citrix_ica-*		japanese/citrix_ica	License prohibits redistribution
 citrix_ica-*		net/citrix_ica		License prohibits redistribution
+cli_freebsd*		sysutils/arcconf	May not be redistributed
 cfs-*			security/cfs		Crypto; export-controlled
 code2000-*/CODE2000.ZIP	x11-fonts/code2000	Only unmodified original
 						package can be distributed

==== //depot/projects/dtrace/ports/Tools/scripts/addport#6 (text+ko) ====

@@ -32,7 +32,7 @@
 #
 # Id: addport,v 1.2 2000/04/02 06:21:13 will Exp (original shell script)
 # Id: addport,v 1.5 2000/04/22 22:19:43 mharo Exp (perl conversion)
-# $FreeBSD: ports/Tools/scripts/addport,v 1.51 2007/04/20 12:45:01 garga Exp $
+# $FreeBSD: ports/Tools/scripts/addport,v 1.52 2007/12/19 16:54:37 garga Exp $
 #
 # MAINTAINER=	garga at FreeBSD.org
 #
@@ -341,7 +341,7 @@
 	}
 
 	# figure out where the port name belongs in category Makefile
-	my @ports = &lsports;
+	my ($spaces, @ports) = &lsports;
 	errx(1, "Error: $portname already exists in $category\'s Makefile") if (&contains($portname, @ports));
 	my $port = "";
 	foreach my $tmp (sort(@ports)) {
@@ -364,16 +364,16 @@
 			# there were previous SUBDIR lines, but none was greater than we are,
 			# means, we're the last port, so, add ourselves after the last port
 			$port = $ports[$#ports];
-			$cmd = "/^    SUBDIR += $port/\na\n";
+			$cmd = "/^" . $spaces . "SUBDIR += $port/\na\n";
 		} else {
 			# OK, append ourselves in the right place, so things *stay* sorted.
-			$cmd = "/^    SUBDIR += $port/\ni\n";
+			$cmd = "/^" . $spaces . "SUBDIR += $port/\ni\n";
 		}
 	}
 	print "Inserting new port into $category/Makefile...\n";
 	open(ED, "|ed Makefile") || die "Cannot start ed to actually insert module\n";
-	print ED "$cmd    SUBDIR += $portname\n.\nw\nq\n";
-	close(ED);
+	print ED "$cmd" . $spaces . "SUBDIR += $portname\n.\nw\nq\n";
+		close(ED);
 
 	# commit the actual port.
 	chdir "$tmpdir/$category" or err(1, "$tmpdir/$category");
@@ -499,18 +499,25 @@
 
 sub lsports() {
     my @rv = ();
+    my $spaces;
 
     open(F, "Makefile") || die "can't open Makefile: $!";
     while(<F>) {
 	chomp;
 	chomp;
 	next if $_ !~ m/SUBDIR/;
+
+	if ( !defined($spaces) ) {
+		m/^([\s\t]+)[^\s\t]/;
+		$spaces = $1;
+	}
+
 	s/^[ \t]+SUBDIR[ \t]+\+?=[\ \t]+//;
 	push(@rv, $_);
     }
     close(F);
 
-    return @rv;
+    return ($spaces, @rv);
 }
 
 # this finds the last comment in the Makefile

==== //depot/projects/dtrace/src/lib/libc/stdtime/localtime.c#5 (text+ko) ====

@@ -9,7 +9,7 @@
 static char	elsieid[] __unused = "@(#)localtime.c	7.78";
 #endif /* !defined NOID */
 #endif /* !defined lint */
-__FBSDID("$FreeBSD: src/lib/libc/stdtime/localtime.c,v 1.41 2007/01/19 01:16:35 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdtime/localtime.c,v 1.42 2007/12/19 04:30:10 imp Exp $");
 
 /*
 ** Leap second handling from Bradley White (bww at k.gp.cs.cmu.edu).
@@ -1093,14 +1093,16 @@
 	struct tm *p_tm;
 
 	if (__isthreaded != 0) {
-		_pthread_mutex_lock(&localtime_mutex);
 		if (localtime_key < 0) {
-			if (_pthread_key_create(&localtime_key, free) < 0) {
-				_pthread_mutex_unlock(&localtime_mutex);
-				return(NULL);
+			_pthread_mutex_lock(&localtime_mutex);
+			if (localtime_key < 0) {
+				if (_pthread_key_create(&localtime_key, free) < 0) {
+					_pthread_mutex_unlock(&localtime_mutex);
+					return(NULL);
+				}
 			}
+			_pthread_mutex_unlock(&localtime_mutex);
 		}
-		_pthread_mutex_unlock(&localtime_mutex);
 		p_tm = _pthread_getspecific(localtime_key);
 		if (p_tm == NULL) {
 			if ((p_tm = (struct tm *)malloc(sizeof(struct tm)))
@@ -1146,16 +1148,18 @@
 const long		offset;
 struct tm * const	tmp;
 {
-	_MUTEX_LOCK(&gmt_mutex);
 	if (!gmt_is_set) {
-		gmt_is_set = TRUE;
+		_MUTEX_LOCK(&gmt_mutex);
+		if (!gmt_is_set) {
 #ifdef ALL_STATE
-		gmtptr = (struct state *) malloc(sizeof *gmtptr);
-		if (gmtptr != NULL)
+			gmtptr = (struct state *) malloc(sizeof *gmtptr);
+			if (gmtptr != NULL)
 #endif /* defined ALL_STATE */
-			gmtload(gmtptr);
+				gmtload(gmtptr);
+			gmt_is_set = TRUE;
+		}
+		_MUTEX_UNLOCK(&gmt_mutex);
 	}
-	_MUTEX_UNLOCK(&gmt_mutex);
 	timesub(timep, offset, gmtptr, tmp);
 #ifdef TM_ZONE
 	/*
@@ -1187,14 +1191,16 @@
 	struct tm *p_tm;
 
 	if (__isthreaded != 0) {
-		_pthread_mutex_lock(&gmtime_mutex);
 		if (gmtime_key < 0) {
-			if (_pthread_key_create(&gmtime_key, free) < 0) {
-				_pthread_mutex_unlock(&gmtime_mutex);
-				return(NULL);
+			_pthread_mutex_lock(&gmtime_mutex);
+			if (gmtime_key < 0) {
+				if (_pthread_key_create(&gmtime_key, free) < 0) {
+					_pthread_mutex_unlock(&gmtime_mutex);
+					return(NULL);
+				}
 			}
+			_pthread_mutex_unlock(&gmtime_mutex);
 		}
-		_pthread_mutex_unlock(&gmtime_mutex);
 		/*
 		 * Changed to follow POSIX.1 threads standard, which
 		 * is what BSD currently has.

==== //depot/projects/dtrace/src/lib/libc/sys/select.2#5 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)select.2	8.2 (Berkeley) 3/25/94
-.\" $FreeBSD: src/lib/libc/sys/select.2,v 1.33 2007/01/09 00:28:15 imp Exp $
+.\" $FreeBSD: src/lib/libc/sys/select.2,v 1.34 2007/12/19 03:33:13 imp Exp $
 .\"
 .Dd November 17, 2002
 .Dt SELECT 2
@@ -222,3 +222,6 @@
 by the
 .Fn select
 system call.
+.Fx 
+does not modify the return value, which can cause problems for applications
+ported from other systems.

==== //depot/projects/dtrace/src/lib/libfetch/Makefile#7 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/libfetch/Makefile,v 1.50 2007/12/14 10:26:58 des Exp $
+# $FreeBSD: src/lib/libfetch/Makefile,v 1.51 2007/12/19 05:10:07 ru Exp $
 
 .include <bsd.own.mk>
 
@@ -27,9 +27,9 @@
 
 SHLIB_MAJOR=    5
 
-ftperr.h: ftp.errors
+ftperr.h: ftp.errors ${.CURDIR}/Makefile
 	@echo "static struct fetcherr ftp_errlist[] = {" > ${.TARGET}
-	@cat ${.ALLSRC} \
+	@cat ${.CURDIR}/ftp.errors \
 	  | grep -v ^# \
 	  | sort \
 	  | while read NUM CAT STRING; do \
@@ -38,9 +38,9 @@
 	@echo "    { -1, FETCH_UNKNOWN, \"Unknown FTP error\" }" >> ${.TARGET}
 	@echo "};" >> ${.TARGET}
 
-httperr.h: http.errors
+httperr.h: http.errors ${.CURDIR}/Makefile
 	@echo "static struct fetcherr http_errlist[] = {" > ${.TARGET}
-	@cat ${.ALLSRC} \
+	@cat ${.CURDIR}/http.errors \
 	  | grep -v ^# \
 	  | sort \
 	  | while read NUM CAT STRING; do \

==== //depot/projects/dtrace/src/share/man/man4/syncache.4#5 (text+ko) ====

@@ -10,9 +10,9 @@
 .\"    notice, this list of conditions and the following disclaimer in the
 .\"    documentation and/or other materials provided with the distribution.
 .\"
-.\" $FreeBSD: src/share/man/man4/syncache.4,v 1.3 2006/04/11 15:30:13 brueffer Exp $
+.\" $FreeBSD: src/share/man/man4/syncache.4,v 1.4 2007/12/19 16:58:54 ru Exp $
 .\"
-.Dd August 31, 2001
+.Dd December 18, 2007
 .Dt SYNCACHE 4
 .Os
 .Sh NAME
@@ -132,7 +132,7 @@
 .Xr loader 8 .
 .It Va rexmtlimit
 Maximum number of times a SYN,ACK is retransmitted before being discarded.
-The default of 3 retransmits corresponds to a 15 second timeout, this value
+The default of 3 retransmits corresponds to a 45 second timeout, this value
 may be increased depending on the RTT to client machines.
 Tunable via
 .Xr sysctl 3 .

==== //depot/projects/dtrace/src/share/man/man9/BUS_SETUP_INTR.9#6 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/BUS_SETUP_INTR.9,v 1.21 2007/12/19 01:26:34 imp Exp $
+.\" $FreeBSD: src/share/man/man9/BUS_SETUP_INTR.9,v 1.22 2007/12/19 08:01:24 brueffer Exp $
 .\"
 .Dd December 18, 2007
 .Dt BUS_SETUP_INTR 9
@@ -206,7 +206,7 @@
 .Xr device 9 ,
 .Xr driver 9 ,
 .Xr mtx_init 9 ,
-.Xr wakeup
+.Xr wakeup 9
 .Sh AUTHORS
 .An -nosplit
 This manual page was written by

==== //depot/projects/dtrace/src/share/man/man9/sf_buf.9#2 (text+ko) ====

@@ -28,7 +28,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 .\" DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/sf_buf.9,v 1.2 2007/01/31 09:40:31 rwatson Exp $
+.\" $FreeBSD: src/share/man/man9/sf_buf.9,v 1.3 2007/12/19 20:34:09 rwatson Exp $
 .\"
 .Dd January 28, 2007
 .Dt SF_BUF 9
@@ -133,6 +133,7 @@
 .Xr sendfile 2 ,
 .Xr vm_page_wire 9
 .Sh AUTHORS
+.An -nosplit
 The
 .Vt "struct sf_buf"
 API was designed and implemented by

==== //depot/projects/dtrace/src/share/misc/bsd-family-tree#13 (text+ko) ====

@@ -213,6 +213,7 @@
  |     |              |      |             OpenBSD 4.1                 |
  |     |              |      |                 |                DragonFly 1.10.0
  |     |              |      |             OpenBSD 4.2                 |
+ |     |              |   NetBSD 4.0           |                       |
  |     V              |      |                 |                       |
 FreeBSD 7 -current    |  NetBSD -current  OpenBSD -current             |
  |                    |      |                 |                       |
@@ -470,6 +471,7 @@
 OpenBSD 4.1		2007-05-01 [OBD]
 DragonFly 1.10.0	2007-08-06 [DFB]
 OpenBSD 4.2		2007-11-01 [OBD]
+NetBSD 4.0		2007-12-19 [NBD]
 
 Bibliography
 ------------------------
@@ -530,4 +532,4 @@
 Copyright (c) 1997-2007 Wolfram Schneider <wosch at FreeBSD.ORG>
 URL: http://cvsweb.freebsd.org/src/share/misc/bsd-family-tree
 
-$FreeBSD: src/share/misc/bsd-family-tree,v 1.116 2007/11/02 19:25:06 maxim Exp $
+$FreeBSD: src/share/misc/bsd-family-tree,v 1.117 2007/12/19 18:19:53 maxim Exp $

==== //depot/projects/dtrace/src/sys/arm/at91/at91.c#11 (text) ====

@@ -23,7 +23,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.14 2007/12/17 05:08:54 kevlo Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.15 2007/12/19 17:34:17 imp Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -396,6 +396,48 @@
 
 #define NORMDEV 50
 
+/*
+ * Standard priority levels for the system.  0 is lowest and 7 is highest.
+ * These values are the ones Atmel uses for its Linux port, which differ
+ * a little form the ones that are in the standard distribution.  Also,
+ * the ones marked with 'TWEEK' are different based on experience.
+ */
+static int irq_prio[32] =
+{
+	7,	/* Advanced Interrupt Controller (FIQ) */
+	7,	/* System Peripherals */
+	1,	/* Parallel IO Controller A */
+	1,	/* Parallel IO Controller B */
+	1,	/* Parallel IO Controller C */
+	1,	/* Parallel IO Controller D */
+	5,	/* USART 0 */
+	5,	/* USART 1 */
+	5,	/* USART 2 */
+	5,	/* USART 3 */
+	0,	/* Multimedia Card Interface */
+	2,	/* USB Device Port */
+	4,	/* Two-Wire Interface */		/* TWEEK */
+	5,	/* Serial Peripheral Interface */
+	4,	/* Serial Synchronous Controller 0 */
+	6,	/* Serial Synchronous Controller 1 */	/* TWEEK */
+	4,	/* Serial Synchronous Controller 2 */
+	0,	/* Timer Counter 0 */
+	6,	/* Timer Counter 1 */			/* TWEEK */
+	0,	/* Timer Counter 2 */
+	0,	/* Timer Counter 3 */
+	0,	/* Timer Counter 4 */
+	0,	/* Timer Counter 5 */
+	2,	/* USB Host port */
+	3,	/* Ethernet MAC */
+	0,	/* Advanced Interrupt Controller (IRQ0) */
+	0,	/* Advanced Interrupt Controller (IRQ1) */
+	0,	/* Advanced Interrupt Controller (IRQ2) */
+	0,	/* Advanced Interrupt Controller (IRQ3) */
+	0,	/* Advanced Interrupt Controller (IRQ4) */
+	0,	/* Advanced Interrupt Controller (IRQ5) */
+ 	0	/* Advanced Interrupt Controller (IRQ6) */
+};
+
 static int
 at91_attach(device_t dev)
 {
@@ -432,13 +474,11 @@
 		bus_space_write_4(sc->sc_st, sc->sc_sys_sh, IC_SVR + 
 		    i * 4, i);
 		/* Priority. */
-		/* XXX: Give better priorities to IRQs */
 		bus_space_write_4(sc->sc_st, sc->sc_sys_sh, IC_SMR + i * 4,
-		    0);
+		    irq_prio[i]);
 		if (i < 8)
 			bus_space_write_4(sc->sc_st, sc->sc_sys_sh, IC_EOICR,
 			    1);
-		    
 	}
 	bus_space_write_4(sc->sc_st, sc->sc_sys_sh, IC_SPU, 32);
 	/* No debug. */

==== //depot/projects/dtrace/src/sys/boot/forth/support.4th#5 (text+ko) ====

@@ -22,7 +22,7 @@
 \ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 \ SUCH DAMAGE.
 \
-\ $FreeBSD: src/sys/boot/forth/support.4th,v 1.16 2006/10/13 20:48:17 ru Exp $
+\ $FreeBSD: src/sys/boot/forth/support.4th,v 1.17 2007/12/19 17:06:32 ambrisko Exp $
 
 \ Loader.rc support functions:
 \
@@ -463,8 +463,10 @@
 
 : digit?
   line_pointer c@ >r
+  r@ [char] - =
   r@ [char] 0 >=
   r> [char] 9 <= and
+  or
 ;
 
 : quote?

==== //depot/projects/dtrace/src/sys/conf/files.powerpc#15 (text+ko) ====

@@ -1,7 +1,7 @@
 # This file tells config what files go into building a kernel,
 # files marked standard are always included.
 #
-# $FreeBSD: src/sys/conf/files.powerpc,v 1.70 2007/12/16 01:02:47 marcel Exp $
+# $FreeBSD: src/sys/conf/files.powerpc,v 1.71 2007/12/19 18:00:48 marcel Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -85,6 +85,7 @@
 powerpc/powerpc/atomic.S	standard
 powerpc/powerpc/autoconf.c	standard
 powerpc/powerpc/bcopy.c		standard
+powerpc/powerpc/bus_machdep.c	standard
 powerpc/powerpc/busdma_machdep.c standard
 powerpc/powerpc/copystr.c	standard
 powerpc/powerpc/cpu.c		standard

==== //depot/projects/dtrace/src/sys/dev/aac/aac.c#9 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.125 2007/12/07 18:05:41 emaste Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.126 2007/12/19 14:33:40 emaste Exp $");
 
 /*
  * Driver for the Adaptec 'FSA' family of PCI/SCSI RAID adapters.
@@ -2980,15 +2980,13 @@
 
 	switch (event->ev_type) {
 	case AAC_EVENT_CMFREE:
-		mtx_lock(&sc->aac_io_lock);
+		mtx_assert(&sc->aac_io_lock, MA_OWNED);
 		if (aac_alloc_command(sc, (struct aac_command **)arg)) {
 			aac_add_event(sc, event);
-			mtx_unlock(&sc->aac_io_lock);
 			return;
 		}
 		free(event, M_AACBUF);
 		wakeup(arg);
-		mtx_unlock(&sc->aac_io_lock);
 		break;
 	default:
 		break;

==== //depot/projects/dtrace/src/sys/dev/mfi/mfi.c#12 (text) ====

@@ -51,7 +51,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi.c,v 1.33 2007/08/25 23:58:44 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi.c,v 1.34 2007/12/19 17:22:07 ambrisko Exp $");
 
 #include "opt_mfi.h"
 
@@ -774,16 +774,12 @@
 				free(log_state, M_MFIBUF);
 			return (error);
 		}
-		/*
-		 * Don't run them yet since we can't parse them.
-		 * We can indirectly get the contents from
-		 * the AEN mechanism via setting it lower then
-		 * current.  The firmware will iterate through them.
-		 */
+		/* The message log is a circular buffer */
 		for (seq = log_state->shutdown_seq_num;
-		     seq <= log_state->newest_seq_num; seq++) {
+		     seq != log_state->newest_seq_num; seq++) {
 			mfi_get_entry(sc, seq);
 		}
+		mfi_get_entry(sc, seq);
 	} else
 		seq = seq_start;
 	mfi_aen_register(sc, seq, class_locale.word);

==== //depot/projects/dtrace/src/sys/dev/mfi/mfi_pci.c#7 (text) ====

@@ -51,7 +51,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi_pci.c,v 1.9 2007/08/25 23:58:45 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/mfi/mfi_pci.c,v 1.10 2007/12/19 17:23:47 ambrisko Exp $");
 
 /* PCI/PCI-X/PCIe bus interface for the LSI MegaSAS controllers */
 
@@ -117,6 +117,7 @@
 	{0x1000, 0x0411, 0xffff, 0xffff, MFI_FLAGS_1064R, "LSI MegaSAS 1064R"}, /* Brocton IOP */
 	{0x1000, 0x0413, 0xffff, 0xffff, MFI_FLAGS_1064R, "LSI MegaSAS 1064R"}, /* Verde ZCR */
 	{0x1028, 0x0015, 0xffff, 0xffff, MFI_FLAGS_1064R, "Dell PERC 5/i"},
+	{0x1000, 0x0060, 0x1028, 0xffff, MFI_FLAGS_1078,  "Dell PERC 6"},
 	{0x1000, 0x0060, 0xffff, 0xffff, MFI_FLAGS_1078,  "LSI MegaSAS 1078"},
 	{0, 0, 0, 0, 0, NULL}
 };

==== //depot/projects/dtrace/src/sys/dev/powermac_nvram/powermac_nvram.c#3 (text+ko) ====

@@ -23,7 +23,7 @@
  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/powermac_nvram/powermac_nvram.c,v 1.1 2006/08/01 22:19:00 sobomax Exp $
+ * $FreeBSD: src/sys/dev/powermac_nvram/powermac_nvram.c,v 1.2 2007/12/19 18:00:48 marcel Exp $
  */
 
 #include <sys/param.h>
@@ -40,6 +40,7 @@
 #include <machine/bus.h>
 #include <machine/md_var.h>
 #include <machine/nexusvar.h>
+#include <machine/pio.h>
 #include <machine/resource.h>
 
 #include <sys/rman.h>

==== //depot/projects/dtrace/src/sys/dev/uart/uart_cpu_powerpc.c#5 (text) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_powerpc.c,v 1.3 2007/04/02 22:00:22 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_powerpc.c,v 1.4 2007/12/19 18:00:49 marcel Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -38,8 +38,8 @@
 #include <dev/uart/uart.h>
 #include <dev/uart/uart_cpu.h>
 
-bus_space_tag_t uart_bus_space_io = PPC_BUS_SPACE_IO;
-bus_space_tag_t uart_bus_space_mem = PPC_BUS_SPACE_MEM;
+bus_space_tag_t uart_bus_space_io = &bs_le_tag;
+bus_space_tag_t uart_bus_space_mem = &bs_le_tag;
 
 int
 uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)

==== //depot/projects/dtrace/src/sys/kern/subr_bus.c#11 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/subr_bus.c,v 1.202 2007/11/30 21:30:14 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/subr_bus.c,v 1.203 2007/12/19 22:05:07 imp Exp $");
 
 #include "opt_bus.h"
 
@@ -1220,13 +1220,16 @@
  * @brief Get the maximum unit number used in a devclass
  *
  * Note that this is one greater than the highest currently-allocated
- * unit.
+ * unit.  If a null devclass_t is passed in, -1 is returned to indicate
+ * that not even the devclass has been allocated yet.
  *
  * @param dc		the devclass to examine
  */
 int
 devclass_get_maxunit(devclass_t dc)
 {
+	if (dc == NULL)
+		return (-1);
 	return (dc->maxunit);
 }
 

==== //depot/projects/dtrace/src/sys/netgraph/ng_car.c#2 (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/netgraph/ng_car.c,v 1.4 2007/06/13 11:01:17 mav Exp $
+ * $FreeBSD: src/sys/netgraph/ng_car.c,v 1.5 2007/12/19 22:50:14 mav Exp $
  */
 
 /*
@@ -263,6 +263,7 @@
 	hook_p dest = hinfo->dest;
 	struct mbuf *m = NULL;
 	int error = 0;
+	int len;
 
 	/* Node is useless without destination hook. */
 	if (dest == NULL) {
@@ -298,11 +299,18 @@
 		}					\
 	} while (0)
 
+	/* Packet is counted as 128 tokens for better resolution */
+	if (hinfo->conf.opt & NG_CAR_COUNT_PACKETS) {
+		len = 128;
+	} else {
+		len = m->m_pkthdr.len;
+	}
+
 	/* Check commited token bucket. */
-	if (hinfo->tc - m->m_pkthdr.len >= 0) {
+	if (hinfo->tc - len >= 0) {
 		/* This packet is green. */
 		++hinfo->stats.green_pkts;
-		hinfo->tc -= m->m_pkthdr.len;
+		hinfo->tc -= len;
 		NG_CAR_PERFORM_MATCH_ACTION(hinfo->conf.green_action);
 	} else {
 
@@ -310,10 +318,10 @@
 		ng_car_refillhook(hinfo);
 
 		 /* Check commited token bucket again after refill. */
-		if (hinfo->tc - m->m_pkthdr.len >= 0) {
+		if (hinfo->tc - len >= 0) {
 			/* This packet is green */
 			++hinfo->stats.green_pkts;
-			hinfo->tc -= m->m_pkthdr.len;
+			hinfo->tc -= len;
 			NG_CAR_PERFORM_MATCH_ACTION(hinfo->conf.green_action);
 
 		/* If not green and mode is SHAPE, enqueue packet. */
@@ -324,8 +332,7 @@
 		/* If not green and mode is RED, calculate probability. */
 		} else if (hinfo->conf.mode == NG_CAR_RED) {
 			/* Is packet is bigger then extended burst? */
-			if (m->m_pkthdr.len - (hinfo->tc - m->m_pkthdr.len) >
-			    hinfo->conf.ebs) {
+			if (len - (hinfo->tc - len) > hinfo->conf.ebs) {
 				/* This packet is definitely red. */
 				++hinfo->stats.red_pkts;
 				hinfo->te = 0;
@@ -333,13 +340,13 @@
 
 			/* Use token bucket to simulate RED-like drop
 			   probability. */
-			} else if (hinfo->te + (m->m_pkthdr.len - hinfo->tc) <
+			} else if (hinfo->te + (len - hinfo->tc) <
 			    hinfo->conf.ebs) {
 				/* This packet is yellow */
 				++hinfo->stats.yellow_pkts;
-				hinfo->te += m->m_pkthdr.len - hinfo->tc;
+				hinfo->te += len - hinfo->tc;
 				/* Go to negative tokens. */
-				hinfo->tc -= m->m_pkthdr.len;
+				hinfo->tc -= len;
 				NG_CAR_PERFORM_MATCH_ACTION(hinfo->conf.yellow_action);
 			} else {
 				/* This packet is probaly red. */
@@ -350,10 +357,10 @@
 		/* If not green and mode is SINGLE/DOUBLE RATE. */
 		} else {
 			/* Check extended token bucket. */
-			if (hinfo->te - m->m_pkthdr.len >= 0) {
+			if (hinfo->te - len >= 0) {
 				/* This packet is yellow */
 				++hinfo->stats.yellow_pkts;
-				hinfo->te -= m->m_pkthdr.len;
+				hinfo->te -= len;
 				NG_CAR_PERFORM_MATCH_ACTION(hinfo->conf.yellow_action);
 			} else {
 				/* This packet is red */
@@ -430,6 +437,19 @@
 				    sizeof(bconf->downstream));
 				bcopy(&priv->lower.conf, &bconf->upstream,
 				    sizeof(bconf->upstream));
+				/* Convert internal 1/(8*128) of pps into pps */
+				if (bconf->downstream.opt & NG_CAR_COUNT_PACKETS) {
+				    bconf->downstream.cir /= 1024;
+				    bconf->downstream.pir /= 1024;
+				    bconf->downstream.cbs /= 128;
+				    bconf->downstream.ebs /= 128;
+				}
+				if (bconf->upstream.opt & NG_CAR_COUNT_PACKETS) {
+				    bconf->upstream.cir /= 1024;
+				    bconf->upstream.pir /= 1024;
+				    bconf->upstream.cbs /= 128;
+				    bconf->upstream.ebs /= 128;
+				}
 			}
 			break;
 		case NGM_CAR_SET_CONF:
@@ -438,19 +458,45 @@
 				(struct ng_car_bulkconf *)msg->data;
 
 				/* Check for invalid or illegal config. */
-				if ((msg->header.arglen != sizeof(*bconf))
-				    || (bconf->downstream.cir > 1000000000)
-				    || (bconf->downstream.pir > 1000000000)
-				    || (bconf->upstream.cir > 1000000000)
-				    || (bconf->upstream.pir > 1000000000)
-				    || (bconf->downstream.cbs == 0
-					&& bconf->downstream.ebs == 0)
-				    || (bconf->upstream.cbs == 0
-					&& bconf->upstream.ebs == 0))
+				if (msg->header.arglen != sizeof(*bconf)) {
+					error = EINVAL;
+					break;
+				}
+				/* Convert pps into internal 1/(8*128) of pps */
+				if (bconf->downstream.opt & NG_CAR_COUNT_PACKETS) {
+				    bconf->downstream.cir *= 1024;
+				    bconf->downstream.pir *= 1024;
+				    bconf->downstream.cbs *= 125;
+				    bconf->downstream.ebs *= 125;
+				}
+				if (bconf->upstream.opt & NG_CAR_COUNT_PACKETS) {
+				    bconf->upstream.cir *= 1024;
+				    bconf->upstream.pir *= 1024;
+				    bconf->upstream.cbs *= 125;
+				    bconf->upstream.ebs *= 125;
+				}
+				if ((bconf->downstream.cir > 1000000000) ||
+				    (bconf->downstream.pir > 1000000000) ||
+				    (bconf->upstream.cir > 1000000000) ||
+				    (bconf->upstream.pir > 1000000000) ||
+				    (bconf->downstream.cbs == 0 &&
+					bconf->downstream.ebs == 0) ||
+				    (bconf->upstream.cbs == 0 &&
+					bconf->upstream.ebs == 0))
 				{
 					error = EINVAL;
 					break;
 				}
+				if ((bconf->upstream.mode == NG_CAR_SHAPE) &&
+				    (bconf->upstream.cir == 0)) {
+					error = EINVAL;
+					break;
+				}
+				if ((bconf->downstream.mode == NG_CAR_SHAPE) &&
+				    (bconf->downstream.cir == 0)) {
+					error = EINVAL;
+					break;
+				}
 
 				/* Copy downstream config. */
 				bcopy(&bconf->downstream, &priv->upper.conf,
@@ -653,7 +699,11 @@
 
 			/* If we have more packet, try it. */
 			m = hinfo->q[hinfo->q_first];
-			hinfo->tc -= m->m_pkthdr.len;
+			if (hinfo->conf.opt & NG_CAR_COUNT_PACKETS) {
+				hinfo->tc -= 128;
+			} else {
+				hinfo->tc -= m->m_pkthdr.len;
+			}
 		}
 	}
 
@@ -707,7 +757,11 @@
 
 		/* If this is a first packet in the queue. */
 		if (len == 0) {
-			hinfo->tc -= m->m_pkthdr.len;
+			if (hinfo->conf.opt & NG_CAR_COUNT_PACKETS) {
+				hinfo->tc -= 128;
+			} else {
+				hinfo->tc -= m->m_pkthdr.len;
+			}
 
 			/* Schedule queue processing. */
 			ng_car_schedule(hinfo);

==== //depot/projects/dtrace/src/sys/netgraph/ng_car.h#2 (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/netgraph/ng_car.h,v 1.1 2007/05/15 16:09:23 mav Exp $
+ * $FreeBSD: src/sys/netgraph/ng_car.h,v 1.2 2007/12/19 22:50:14 mav Exp $
  */
 
 #ifndef _NETGRAPH_NG_CAR_H_
@@ -115,6 +115,7 @@
 
 /* mode options (opt) */
 #define NG_CAR_COLOR_AWARE	1
+#define NG_CAR_COUNT_PACKETS	2
 
 /* Bulk config */
 struct ng_car_bulkconf {

==== //depot/projects/dtrace/src/sys/netinet/tcp_offload.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/netinet/tcp_offload.c,v 1.1 2007/12/17 07:56:27 kmacy Exp $");
+__FBSDID("$FreeBSD: src/sys/netinet/tcp_offload.c,v 1.2 2007/12/19 05:17:40 kmacy Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -72,23 +72,17 @@
 
 	ifp = rt->rt_ifp;
 	if ((ifp->if_capenable & IFCAP_TOE) == 0) {
-		printf("no toe capability on %p\n", ifp);
-		
 		error = EINVAL;
 		goto fail;
 	}
 	
 	tdev = TOEDEV(ifp);
 	if (tdev == NULL) {
-		printf("tdev not set\n");
-
 		error = EPERM;
 		goto fail;
 	}
 	
 	if (tdev->tod_can_offload(tdev, so) == 0) {
-		printf("not offloadable\n");
-
 		error = EPERM;
 		goto fail;
 	}

==== //depot/projects/dtrace/src/sys/netinet/tcp_syncache.c#17 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/netinet/tcp_syncache.c,v 1.140 2007/12/17 07:56:27 kmacy Exp $");
+__FBSDID("$FreeBSD: src/sys/netinet/tcp_syncache.c,v 1.141 2007/12/19 16:56:28 ru Exp $");
 
 #include "opt_inet.h"
 #include "opt_inet6.h"
@@ -42,6 +42,7 @@
 #include <sys/systm.h>
 #include <sys/kernel.h>
 #include <sys/sysctl.h>
+#include <sys/limits.h>
 #include <sys/lock.h>
 #include <sys/mutex.h>
 #include <sys/malloc.h>
@@ -111,7 +112,7 @@
 struct syncache {
 	TAILQ_ENTRY(syncache)	sc_hash;
 	struct		in_conninfo sc_inc;	/* addresses */
-	u_long		sc_rxttime;		/* retransmit time */
+	int		sc_rxttime;		/* retransmit time */
 	u_int16_t	sc_rxmits;		/* retransmit counter */
 
 	u_int32_t	sc_tsreflect;		/* timestamp to reflect */
@@ -183,7 +184,7 @@
 
 /*
  * Transmit the SYN,ACK fewer times than TCP_MAXRXTSHIFT specifies.
- * 3 retransmits corresponds to a timeout of (1 + 2 + 4 + 8 == 15) seconds,
+ * 3 retransmits corresponds to a timeout of 3 * (1 + 2 + 4 + 8) == 45 seconds,
  * the odds are that the user has given up attempting to connect by then.
  */
 #define SYNCACHE_MAXREXMTS		3
@@ -344,6 +345,8 @@
 	sch->sch_length++;
 
 	/* Reinitialize the bucket row's timer. */
+	if (sch->sch_length == 1)
+		sch->sch_nextc = ticks + INT_MAX;
 	syncache_timeout(sc, sch, 1);
 
 	SCH_UNLOCK(sch);
@@ -382,11 +385,12 @@
 	sc->sc_rxttime = ticks +
 		TCPTV_RTOBASE * (tcp_backoff[sc->sc_rxmits]);
 	sc->sc_rxmits++;
-	if (sch->sch_nextc > sc->sc_rxttime)
+	if (TSTMP_LT(sc->sc_rxttime, sch->sch_nextc)) {
 		sch->sch_nextc = sc->sc_rxttime;
-	if (!TAILQ_EMPTY(&sch->sch_bucket) && docallout)
-		callout_reset(&sch->sch_timer, sch->sch_nextc - ticks,
-		    syncache_timer, (void *)sch);
+		if (docallout)
+			callout_reset(&sch->sch_timer, sch->sch_nextc - ticks,
+			    syncache_timer, (void *)sch);
+	}
 }
 
 /*
@@ -405,6 +409,12 @@
 	/* NB: syncache_head has already been locked by the callout. */
 	SCH_LOCK_ASSERT(sch);
 
+	/*
+	 * In the following cycle we may remove some entries and/or
+	 * advance some timeouts, so re-initialize the bucket timer.
+	 */
+	sch->sch_nextc = tick + INT_MAX;
+
 	TAILQ_FOREACH_SAFE(sc, &sch->sch_bucket, sc_hash, nsc) {
 		/*
 		 * We do not check if the listen socket still exists
@@ -414,8 +424,8 @@
 		 * then the RST will be sent by the time the remote
 		 * host does the SYN/ACK->ACK.
 		 */
-		if (sc->sc_rxttime > tick) {
-			if (sc->sc_rxttime < sch->sch_nextc)
+		if (TSTMP_GT(sc->sc_rxttime, tick)) {
+			if (TSTMP_LT(sc->sc_rxttime, sch->sch_nextc))
 				sch->sch_nextc = sc->sc_rxttime;
 			continue;
 		}

==== //depot/projects/dtrace/src/sys/powerpc/aim/ofw_machdep.c#3 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list