PERFORCE change 94709 for review

Peter Wemm peter at FreeBSD.org
Thu Apr 6 00:45:55 UTC 2006


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

Change 94709 by peter at peter_daintree on 2006/04/06 00:45:38

	IFC @94708

Affected files ...

.. //depot/projects/hammer/bin/ps/keyword.c#16 integrate
.. //depot/projects/hammer/lib/libc/stdlib/malloc.c#28 integrate
.. //depot/projects/hammer/sbin/ping/ping.8#10 integrate
.. //depot/projects/hammer/sbin/ping/ping.c#19 integrate
.. //depot/projects/hammer/share/man/man4/man4.i386/acpi_ibm.4#11 integrate
.. //depot/projects/hammer/share/man/man4/ng_fec.4#3 integrate
.. //depot/projects/hammer/share/man/man9/Makefile#62 integrate
.. //depot/projects/hammer/sys/amd64/amd64/io_apic.c#51 integrate
.. //depot/projects/hammer/sys/dev/bfe/if_bfe.c#24 integrate
.. //depot/projects/hammer/sys/dev/iicbus/iic.c#9 integrate
.. //depot/projects/hammer/sys/dev/iicbus/iicbb.c#4 integrate
.. //depot/projects/hammer/sys/dev/iicbus/iicsmb.c#3 integrate
.. //depot/projects/hammer/sys/geom/eli/g_eli.c#8 integrate
.. //depot/projects/hammer/sys/i386/i386/io_apic.c#21 integrate
.. //depot/projects/hammer/sys/netinet/tcp_input.c#62 integrate
.. //depot/projects/hammer/sys/netinet/tcp_sack.c#24 integrate
.. //depot/projects/hammer/sys/sparc64/sparc64/trap.c#21 integrate
.. //depot/projects/hammer/usr.bin/calendar/calendars/calendar.freebsd#47 integrate
.. //depot/projects/hammer/usr.bin/find/option.c#9 integrate
.. //depot/projects/hammer/usr.sbin/pmcstat/pmcstat_log.c#7 integrate

Differences ...

==== //depot/projects/hammer/bin/ps/keyword.c#16 (text+ko) ====

@@ -33,7 +33,7 @@
 #endif /* not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/ps/keyword.c,v 1.74 2006/03/08 09:15:20 gad Exp $");
+__FBSDID("$FreeBSD: src/bin/ps/keyword.c,v 1.75 2006/04/05 17:40:46 gad Exp $");
 
 #include <sys/param.h>
 #include <sys/time.h>
@@ -302,6 +302,8 @@
 	hp = strchr(p, '=');
 	if (hp)
 		*hp++ = '\0';
+	else
+		hp = p;
 
 	key.name = p;
 	v = bsearch(&key, var, sizeof(var)/sizeof(VAR) - 1, sizeof(VAR), vcmp);

==== //depot/projects/hammer/lib/libc/stdlib/malloc.c#28 (text+ko) ====

@@ -185,7 +185,7 @@
 #endif
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.122 2006/04/04 19:46:28 jasone Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.124 2006/04/05 18:46:24 jasone Exp $");
 
 #include "libc_private.h"
 #ifdef MALLOC_DEBUG
@@ -1537,6 +1537,7 @@
 	}
 	/* Not reached. */
 	assert(0);
+	return (NULL);
 }
 
 static inline void
@@ -1639,14 +1640,9 @@
 	total_pages = chunk->map[run_ind].npages;
 	need_pages = (size >> pagesize_2pow);
 
-#ifdef MALLOC_DEBUG
-	for (i = 0; i < total_pages; i++) {
-		assert(chunk->map[run_ind + i].free);
-		assert(chunk->map[run_ind + i].large == false);
-		assert(chunk->map[run_ind + i].npages == total_pages);
-		assert(chunk->map[run_ind + i].pos == i);
-	}
-#endif
+	assert(chunk->map[run_ind].free);
+	assert(chunk->map[run_ind].large == false);
+	assert(chunk->map[run_ind].npages == total_pages);
 
 	/* Split enough pages from the front of run to fit allocation size. */
 	map_offset = run_ind;
@@ -1662,12 +1658,10 @@
 	while (map_offset < run_ind + total_pages) {
 		log2_run_pages = ffs(map_offset) - 1;
 		run_pages = (1 << log2_run_pages);
-		for (i = 0; i < run_pages; i++) {
-			chunk->map[map_offset + i].free = true;
-			chunk->map[map_offset + i].large = false;
-			chunk->map[map_offset + i].npages = run_pages;
-			chunk->map[map_offset + i].pos = i;
-		}
+
+		chunk->map[map_offset].free = true;
+		chunk->map[map_offset].large = false;
+		chunk->map[map_offset].npages = run_pages;
 
 		chunk->nfree_runs[log2_run_pages]++;
 
@@ -1737,12 +1731,10 @@
 	while (map_offset < (chunk_size >> pagesize_2pow)) {
 		log2_run_pages = ffs(map_offset) - 1;
 		run_pages = (1 << log2_run_pages);
-		for (i = 0; i < run_pages; i++) {
-			chunk->map[map_offset + i].free = true;
-			chunk->map[map_offset + i].large = false;
-			chunk->map[map_offset + i].npages = run_pages;
-			chunk->map[map_offset + i].pos = i;
-		}
+
+		chunk->map[map_offset].free = true;
+		chunk->map[map_offset].large = false;
+		chunk->map[map_offset].npages = run_pages;
 
 		chunk->nfree_runs[log2_run_pages]++;
 
@@ -1970,7 +1962,7 @@
 arena_run_dalloc(arena_t *arena, arena_run_t *run, size_t size)
 {
 	arena_chunk_t *chunk;
-	unsigned i, run_ind, buddy_ind, base_run_ind, run_pages, log2_run_pages;
+	unsigned run_ind, buddy_ind, base_run_ind, run_pages, log2_run_pages;
 
 	chunk = (arena_chunk_t *)CHUNK_ADDR2BASE(run);
 	run_ind = (unsigned)(((uintptr_t)run - (uintptr_t)chunk)
@@ -1983,12 +1975,9 @@
 	chunk->pages_used -= run_pages;
 
 	/* Mark run as deallocated. */
-	for (i = 0; i < run_pages; i++) {
-		chunk->map[run_ind + i].free = true;
-		chunk->map[run_ind + i].large = false;
-		chunk->map[run_ind + i].npages = run_pages;
-		chunk->map[run_ind + i].pos = i;
-	}
+	chunk->map[run_ind].free = true;
+	chunk->map[run_ind].large = false;
+	chunk->map[run_ind].npages = run_pages;
 
 	/*
 	 * Tell the kernel that we don't need the data in this run, but only if
@@ -2029,10 +2018,7 @@
 		chunk->nfree_runs[log2_run_pages]--;
 
 		/* Coalesce. */
-		for (i = 0; i < (run_pages << 1); i++) {
-			chunk->map[base_run_ind + i].npages = (run_pages << 1);
-			chunk->map[base_run_ind + i].pos = i;
-		}
+		chunk->map[base_run_ind].npages = (run_pages << 1);
 
 		/* Update run_ind to be the beginning of the coalesced run. */
 		run_ind = base_run_ind;

==== //depot/projects/hammer/sbin/ping/ping.8#10 (text+ko) ====

@@ -26,9 +26,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)ping.8	8.2 (Berkeley) 12/11/93
-.\" $FreeBSD: src/sbin/ping/ping.8,v 1.53 2005/11/18 10:32:11 ru Exp $
+.\" $FreeBSD: src/sbin/ping/ping.8,v 1.54 2006/04/05 12:30:42 glebius Exp $
 .\"
-.Dd August 15, 2005
+.Dd April 4, 2006
 .Dt PING 8
 .Os
 .Sh NAME
@@ -52,6 +52,7 @@
 .Op Fl S Ar src_addr
 .Op Fl s Ar packetsize
 .Op Fl t Ar timeout
+.Op Fl W Ar waittime
 .Op Fl z Ar tos
 .Ar host
 .Nm
@@ -68,6 +69,7 @@
 .Op Fl s Ar packetsize
 .Op Fl T Ar ttl
 .Op Fl t Ar timeout
+.Op Fl W Ar waittime
 .Op Fl z Ar tos
 .Ar mcast-group
 .Sh DESCRIPTION
@@ -306,6 +308,10 @@
 packets other than
 .Tn ECHO_RESPONSE
 that are received are listed.
+.It Fl W Ar waittime
+Time in milliseconds to wait for a reply for each packet sent.
+If a reply arrives later, the packet is not printed as replied, but
+considered as replied when calculating statistics.
 .It Fl z Ar tos
 Use the specified type of service.
 .El

==== //depot/projects/hammer/sbin/ping/ping.c#19 (text+ko) ====

@@ -42,7 +42,7 @@
 #endif /* not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sbin/ping/ping.c,v 1.108 2005/12/01 22:03:34 ru Exp $");
+__FBSDID("$FreeBSD: src/sbin/ping/ping.c,v 1.109 2006/04/05 12:30:42 glebius Exp $");
 
 /*
  *			P I N G . C
@@ -100,7 +100,7 @@
 					/* runs out of buffer space */
 #define	MAXIPLEN	(sizeof(struct ip) + MAX_IPOPTLEN)
 #define	MAXICMPLEN	(ICMP_ADVLENMIN + MAX_IPOPTLEN)
-#define	MAXWAIT		10		/* max seconds to wait for response */
+#define	MAXWAIT		10000		/* max ms to wait for response */
 #define	MAXALARM	(60 * 60)	/* max seconds for alarm timeout */
 #define	MAXTOS		255
 
@@ -143,6 +143,7 @@
 #define	F_MASK		0x80000
 #define	F_TIME		0x100000
 #define	F_SWEEP		0x200000
+#define	F_WAITTIME	0x400000
 
 /*
  * MAX_DUP_CHK is the number of bits in received table, i.e. the maximum
@@ -183,6 +184,8 @@
 int sweepmin = 0;		/* start value of payload in sweep */
 int sweepincr = 1;		/* payload increment in sweep */
 int interval = 1000;		/* interval between packets, ms */
+int waittime = MAXWAIT;		/* timeout for each packet */
+long nrcvtimeout = 0;		/* # of packets we got back after waittime */
 
 /* timing */
 int timing;			/* flag to do timing */
@@ -261,7 +264,7 @@
 
 	outpack = outpackhdr + sizeof(struct ip);
 	while ((ch = getopt(argc, argv,
-		"Aac:DdfG:g:h:I:i:Ll:M:m:nop:QqRrS:s:T:t:vz:"
+		"Aac:DdfG:g:h:I:i:Ll:M:m:nop:QqRrS:s:T:t:vW:z:"
 #ifdef IPSEC
 #ifdef IPSEC_POLICY_IPSEC
 		"P:"
@@ -469,6 +472,14 @@
 		case 'v':
 			options |= F_VERBOSE;
 			break;
+		case 'W':		/* wait ms for answer */
+			t = strtod(optarg, &ep);
+			if (*ep || ep == optarg || t > (double)INT_MAX)
+				errx(EX_USAGE, "invalid timing interval: `%s'",
+				    optarg);
+			options |= F_WAITTIME;
+			waittime = (int)t;
+			break;
 		case 'z':
 			options |= F_HDRINCL;
 			ultmp = strtoul(optarg, &ep, 0);
@@ -880,8 +891,10 @@
 					intvl.tv_sec = 2 * tmax / 1000;
 					if (!intvl.tv_sec)
 						intvl.tv_sec = 1;
-				} else
-					intvl.tv_sec = MAXWAIT;
+				} else {
+					intvl.tv_sec = waittime / 1000;
+					intvl.tv_usec = waittime % 1000 * 1000;
+				}
 			}
 			(void)gettimeofday(&last, NULL);
 			if (ntransmitted - nreceived - 1 > nmissedmax) {
@@ -1075,6 +1088,11 @@
 
 		if (options & F_QUIET)
 			return;
+	
+		if (options & F_WAITTIME && triptime > waittime) {
+			++nrcvtimeout;
+			return;
+		}
 
 		if (options & F_FLOOD)
 			(void)write(STDOUT_FILENO, &BSPACE, 1);
@@ -1373,6 +1391,8 @@
 			    (int)(((ntransmitted - nreceived) * 100) /
 			    ntransmitted));
 	}
+	if (nrcvtimeout)
+		(void)printf(", %ld packets out of wait time", nrcvtimeout);
 	(void)putchar('\n');
 	if (nreceived && timing) {
 		double n = nreceived + nrepeats;
@@ -1686,13 +1706,14 @@
 usage()
 {
 
-	(void)fprintf(stderr, "%s\n%s\n%s\n%s\n%s\n%s\n%s\n",
+	(void)fprintf(stderr, "%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n",
 "usage: ping [-AaDdfnoQqRrv] [-c count] [-G sweepmaxsize] [-g sweepminsize]",
 "            [-h sweepincrsize] [-i wait] [-l preload] [-M mask | time] [-m ttl]",
 "           " SECOPT " [-p pattern] [-S src_addr] [-s packetsize] [-t timeout]",
-"            [-z tos] host",
+"            [-W waittime] [-z tos] host",
 "       ping [-AaDdfLnoQqRrv] [-c count] [-I iface] [-i wait] [-l preload]",
 "            [-M mask | time] [-m ttl]" SECOPT " [-p pattern] [-S src_addr]",
-"            [-s packetsize] [-T ttl] [-t timeout] [-z tos] mcast-group");
+"            [-s packetsize] [-T ttl] [-t timeout] [-W waittime]",
+"            [-z tos] mcast-group");
 	exit(EX_USAGE);
 }

==== //depot/projects/hammer/share/man/man4/man4.i386/acpi_ibm.4#11 (text+ko) ====

@@ -23,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man4/man4.i386/acpi_ibm.4,v 1.12 2006/04/01 11:21:00 brueffer Exp $
+.\" $FreeBSD: src/share/man/man4/man4.i386/acpi_ibm.4,v 1.14 2006/04/05 21:51:40 brueffer Exp $
 .\"
 .Dd January 14, 2006
 .Dt ACPI_IBM 4 i386

==== //depot/projects/hammer/share/man/man4/ng_fec.4#3 (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/man4/ng_fec.4,v 1.3 2006/03/05 15:56:22 keramida Exp $
+.\" $FreeBSD: src/share/man/man4/ng_fec.4,v 1.4 2006/04/06 00:32:28 dd Exp $
 .\"
 .Dd July 22, 2004
 .Dt NG_FEC 4
@@ -68,9 +68,9 @@
 .Pp
 The following control messages define the forwarding method for a node:
 .Bl -tag -width indent
-.It Dv NGM_FEC_MODE_INET Pq Dq Li set_mode_mac
+.It Dv NGM_FEC_MODE_MAC Pq Dq Li set_mode_mac
 Forwarding decisions will be based on the link-layer MAC address of the destination.
-.It Dv NGM_FEC_MODE_MAC Pq Dq Li set_mode_inet
+.It Dv NGM_FEC_MODE_INET Pq Dq Li set_mode_inet
 Forwarding decisions will be based on the IP address of the destination.
 .El
 .Sh SHUTDOWN

==== //depot/projects/hammer/share/man/man9/Makefile#62 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/man/man9/Makefile,v 1.270 2006/02/01 19:39:25 glebius Exp $
+# $FreeBSD: src/share/man/man9/Makefile,v 1.271 2006/04/04 22:56:08 jmg Exp $
 
 MAN=	accept_filter.9 \
 	accf_data.9 \
@@ -382,6 +382,47 @@
 MLINKS+=BUS_SETUP_INTR.9 bus_setup_intr.9 \
 	BUS_SETUP_INTR.9 BUS_TEARDOWN_INTR.9 \
 	BUS_SETUP_INTR.9 bus_teardown_intr.9
+MLINKS+=bus_space.9 bus_space_barrier.9 \
+	bus_space.9 bus_space_copy_region_1.9 \
+	bus_space.9 bus_space_copy_region_2.9 \
+	bus_space.9 bus_space_copy_region_4.9 \
+	bus_space.9 bus_space_copy_region_8.9 \
+	bus_space.9 bus_space_free.9 \
+	bus_space.9 bus_space_map.9 \
+	bus_space.9 bus_space_read_1.9 \
+	bus_space.9 bus_space_read_2.9 \
+	bus_space.9 bus_space_read_4.9 \
+	bus_space.9 bus_space_read_8.9 \
+	bus_space.9 bus_space_read_multi_1.9 \
+	bus_space.9 bus_space_read_multi_2.9 \
+	bus_space.9 bus_space_read_multi_4.9 \
+	bus_space.9 bus_space_read_multi_8.9 \
+	bus_space.9 bus_space_read_region_1.9 \
+	bus_space.9 bus_space_read_region_2.9 \
+	bus_space.9 bus_space_read_region_4.9 \
+	bus_space.9 bus_space_read_region_8.9 \
+	bus_space.9 bus_space_set_multi_1.9 \
+	bus_space.9 bus_space_set_multi_2.9 \
+	bus_space.9 bus_space_set_multi_4.9 \
+	bus_space.9 bus_space_set_multi_8.9 \
+	bus_space.9 bus_space_set_region_1.9 \
+	bus_space.9 bus_space_set_region_2.9 \
+	bus_space.9 bus_space_set_region_4.9 \
+	bus_space.9 bus_space_set_region_8.9 \
+	bus_space.9 bus_space_subregion.9 \
+	bus_space.9 bus_space_unmap.9 \
+	bus_space.9 bus_space_write_1.9 \
+	bus_space.9 bus_space_write_2.9 \
+	bus_space.9 bus_space_write_4.9 \
+	bus_space.9 bus_space_write_8.9 \
+	bus_space.9 bus_space_write_multi_1.9 \
+	bus_space.9 bus_space_write_multi_2.9 \
+	bus_space.9 bus_space_write_multi_4.9 \
+	bus_space.9 bus_space_write_multi_8.9 \
+	bus_space.9 bus_space_write_region_1.9 \
+	bus_space.9 bus_space_write_region_2.9 \
+	bus_space.9 bus_space_write_region_4.9 \
+	bus_space.9 bus_space_write_region_8.9
 MLINKS+=byteorder.9 be16dec.9 \
 	byteorder.9 be16enc.9 \
 	byteorder.9 be16toh.9 \

==== //depot/projects/hammer/sys/amd64/amd64/io_apic.c#51 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.23 2006/03/20 19:39:07 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.24 2006/04/05 20:43:19 jhb Exp $");
 
 #include "opt_atpic.h"
 #include "opt_isa.h"
@@ -89,6 +89,7 @@
 	u_int io_edgetrigger:1;
 	u_int io_masked:1;
 	int io_bus:4;
+	uint32_t io_lowreg;
 };
 
 struct ioapic {
@@ -207,9 +208,7 @@
 
 	mtx_lock_spin(&icu_lock);
 	if (intpin->io_masked) {
-		flags = ioapic_read(io->io_addr,
-		    IOAPIC_REDTBL_LO(intpin->io_intpin));
-		flags &= ~(IOART_INTMASK);
+		flags = intpin->io_lowreg & ~IOART_INTMASK;
 		ioapic_write(io->io_addr, IOAPIC_REDTBL_LO(intpin->io_intpin),
 		    flags);
 		intpin->io_masked = 0;
@@ -226,9 +225,7 @@
 
 	mtx_lock_spin(&icu_lock);
 	if (!intpin->io_masked && !intpin->io_edgetrigger) {
-		flags = ioapic_read(io->io_addr,
-		    IOAPIC_REDTBL_LO(intpin->io_intpin));
-		flags |= IOART_INTMSET;
+		flags = intpin->io_lowreg | IOART_INTMSET;
 		ioapic_write(io->io_addr, IOAPIC_REDTBL_LO(intpin->io_intpin),
 		    flags);
 		intpin->io_masked = 1;
@@ -313,6 +310,7 @@
 
 	/* Write the values to the APIC. */
 	mtx_lock_spin(&icu_lock);
+	intpin->io_lowreg = low;
 	ioapic_write(io->io_addr, IOAPIC_REDTBL_LO(intpin->io_intpin), low);
 	value = ioapic_read(io->io_addr, IOAPIC_REDTBL_HI(intpin->io_intpin));
 	value &= ~IOART_DEST;

==== //depot/projects/hammer/sys/dev/bfe/if_bfe.c#24 (text+ko) ====

@@ -26,7 +26,7 @@
 
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.31 2006/02/14 12:44:54 glebius Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.32 2006/04/04 22:30:12 pjd Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -366,7 +366,6 @@
 	if (bfe_dma_alloc(dev)) {
 		printf("bfe%d: failed to allocate DMA resources\n",
 		    sc->bfe_unit);
-		bfe_release_resources(sc);
 		error = ENXIO;
 		goto fail;
 	}
@@ -421,7 +420,6 @@
 			bfe_intr, sc, &sc->bfe_intrhand);
 
 	if (error) {
-		bfe_release_resources(sc);
 		printf("bfe%d: couldn't set up irq\n", unit);
 		goto fail;
 	}

==== //depot/projects/hammer/sys/dev/iicbus/iic.c#9 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/iicbus/iic.c,v 1.33 2006/04/04 17:08:40 imp Exp $
+ * $FreeBSD: src/sys/dev/iicbus/iic.c,v 1.34 2006/04/04 23:29:17 imp Exp $
  *
  */
 #include <sys/param.h>
@@ -122,15 +122,9 @@
 {
 	struct iic_softc *sc = (struct iic_softc *)device_get_softc(dev);
 
-	if (!sc)
-		return (ENOMEM);
-
-	bzero(sc, sizeof(struct iic_softc));
-
 	sc->sc_devnode = make_dev(&iic_cdevsw, device_get_unit(dev),
 			UID_ROOT, GID_WHEEL,
 			0600, "iic%d", device_get_unit(dev));
-
 	return (0);
 }
 
@@ -146,7 +140,7 @@
 }
 
 static int
-iicopen (struct cdev *dev, int flags, int fmt, struct thread *td)
+iicopen(struct cdev *dev, int flags, int fmt, struct thread *td)
 {
 	struct iic_softc *sc = IIC_SOFTC(minor(dev));
 

==== //depot/projects/hammer/sys/dev/iicbus/iicbb.c#4 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/iicbus/iicbb.c,v 1.13 2003/08/24 17:49:13 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/iicbus/iicbb.c,v 1.14 2006/04/04 23:29:17 imp Exp $");
 
 /*
  * Generic I2C bit-banging code
@@ -115,13 +115,9 @@
 {
 	struct iicbb_softc *sc = (struct iicbb_softc *)device_get_softc(dev);
 
-	bzero(sc, sizeof(struct iicbb_softc));
-
 	sc->iicbus = device_add_child(dev, "iicbus", -1);
-
 	if (!sc->iicbus)
 		return (ENXIO);
-
 	bus_generic_attach(dev);
 
 	return (0);

==== //depot/projects/hammer/sys/dev/iicbus/iicsmb.c#3 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/iicbus/iicsmb.c,v 1.12 2003/08/10 14:28:24 ticso Exp $
+ * $FreeBSD: src/sys/dev/iicbus/iicsmb.c,v 1.13 2006/04/04 23:29:17 imp Exp $
  *
  */
 
@@ -153,8 +153,6 @@
 {
 	struct iicsmb_softc *sc = (struct iicsmb_softc *)device_get_softc(dev);
 
-	bzero(sc, sizeof(*sc));
-
 	sc->smbus = device_add_child(dev, "smbus", -1);
 
 	/* probe and attach the smbus */

==== //depot/projects/hammer/sys/geom/eli/g_eli.c#8 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/eli/g_eli.c,v 1.20 2006/02/11 13:08:24 pjd Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/eli/g_eli.c,v 1.21 2006/04/05 22:07:31 pjd Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -466,7 +466,7 @@
 	 * Calculate how much memory do we need.
 	 * We need separate crypto operation for every single sector.
 	 * It is much faster to calculate total amount of needed memory here and
-	 * do the allocation once insteaf of allocate memory in pieces (many,
+	 * do the allocation once instead of allocating memory in pieces (many,
 	 * many pieces).
 	 */
 	size = sizeof(*crp) * nsec;

==== //depot/projects/hammer/sys/i386/i386/io_apic.c#21 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/io_apic.c,v 1.27 2006/03/20 19:39:07 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/io_apic.c,v 1.28 2006/04/05 20:43:19 jhb Exp $");
 
 #include "opt_isa.h"
 
@@ -88,6 +88,7 @@
 	u_int io_edgetrigger:1;
 	u_int io_masked:1;
 	int io_bus:4;
+	uint32_t io_lowreg;
 };
 
 struct ioapic {
@@ -206,9 +207,7 @@
 
 	mtx_lock_spin(&icu_lock);
 	if (intpin->io_masked) {
-		flags = ioapic_read(io->io_addr,
-		    IOAPIC_REDTBL_LO(intpin->io_intpin));
-		flags &= ~(IOART_INTMASK);
+		flags = intpin->io_lowreg & ~IOART_INTMASK;
 		ioapic_write(io->io_addr, IOAPIC_REDTBL_LO(intpin->io_intpin),
 		    flags);
 		intpin->io_masked = 0;
@@ -225,9 +224,7 @@
 
 	mtx_lock_spin(&icu_lock);
 	if (!intpin->io_masked && !intpin->io_edgetrigger) {
-		flags = ioapic_read(io->io_addr,
-		    IOAPIC_REDTBL_LO(intpin->io_intpin));
-		flags |= IOART_INTMSET;
+		flags = intpin->io_lowreg | IOART_INTMSET;
 		ioapic_write(io->io_addr, IOAPIC_REDTBL_LO(intpin->io_intpin),
 		    flags);
 		intpin->io_masked = 1;
@@ -312,6 +309,7 @@
 
 	/* Write the values to the APIC. */
 	mtx_lock_spin(&icu_lock);
+	intpin->io_lowreg = low;
 	ioapic_write(io->io_addr, IOAPIC_REDTBL_LO(intpin->io_intpin), low);
 	value = ioapic_read(io->io_addr, IOAPIC_REDTBL_HI(intpin->io_intpin));
 	value &= ~IOART_DEST;

==== //depot/projects/hammer/sys/netinet/tcp_input.c#62 (text+ko) ====

@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)tcp_input.c	8.12 (Berkeley) 5/24/95
- * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.295 2006/04/04 12:26:07 rwatson Exp $
+ * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.296 2006/04/05 08:45:59 rwatson Exp $
  */
 
 #include "opt_ipfw.h"		/* for ipfw_fwd		*/
@@ -3272,7 +3272,8 @@
 	return (0);
 
 drop:
-	INP_UNLOCK(tw->tw_inpcb);
+	if (tw != NULL)
+		INP_UNLOCK(tw->tw_inpcb);
 	m_freem(m);
 	return (0);
 }

==== //depot/projects/hammer/sys/netinet/tcp_sack.c#24 (text+ko) ====

@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)tcp_sack.c	8.12 (Berkeley) 5/24/95
- * $FreeBSD: src/sys/netinet/tcp_sack.c,v 1.29 2006/02/18 17:05:00 andre Exp $
+ * $FreeBSD: src/sys/netinet/tcp_sack.c,v 1.30 2006/04/05 00:11:04 mohans Exp $
  */
 
 /*-
@@ -392,6 +392,8 @@
 		if (SEQ_GT(sack.end, sack.start) &&
 		    SEQ_GT(sack.start, tp->snd_una) &&
 		    SEQ_GT(sack.start, th_ack) &&
+		    SEQ_LT(sack.start, tp->snd_max) &&
+		    SEQ_GT(sack.end, tp->snd_una) &&
 		    SEQ_LEQ(sack.end, tp->snd_max))
 			sack_blocks[num_sack_blks++] = sack;
 	}

==== //depot/projects/hammer/sys/sparc64/sparc64/trap.c#21 (text+ko) ====

@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/sparc64/sparc64/trap.c,v 1.80 2006/04/03 21:27:01 marius Exp $");
+__FBSDID("$FreeBSD: src/sys/sparc64/sparc64/trap.c,v 1.81 2006/04/04 21:00:44 marius Exp $");
 
 #include "opt_ddb.h"
 #include "opt_ktr.h"
@@ -354,14 +354,13 @@
 			break;
 		case T_DATA_ERROR:
 			/*
-			 * handle PCI poke/peek as per UltraSPARC IIi
-			 * User's Manual 16.2.1.
+			 * Handle PCI poke/peek as per UltraSPARC IIi
+			 * User's Manual 16.2.1, modulo checking the
+			 * TPC as USIII CPUs generate a precise trap
+			 * instead of a special deferred one.
 			 */
-#define MEMBARSYNC_INST	((u_int32_t)0x8143e040)
 			if (tf->tf_tpc > (u_long)fas_nofault_begin &&
-			    tf->tf_tpc < (u_long)fas_nofault_end &&
-			    *(u_int32_t *)tf->tf_tpc == MEMBARSYNC_INST &&
-			    ((u_int32_t *)tf->tf_tpc)[-2] == MEMBARSYNC_INST) {
+			    tf->tf_tpc < (u_long)fas_nofault_end) {
 				cache_flush();
 				cache_enable();
 				tf->tf_tpc = (u_long)fas_fault;
@@ -369,7 +368,6 @@
 				error = 0;
 				break;
 			}
-#undef MEMBARSYNC_INST
 			error = 1;
 			break;
 		default:

==== //depot/projects/hammer/usr.bin/calendar/calendars/calendar.freebsd#47 (text+ko) ====

@@ -1,7 +1,7 @@
 /*
  * FreeBSD
  *
- * $FreeBSD: src/usr.bin/calendar/calendars/calendar.freebsd,v 1.176 2006/04/04 13:06:21 jmelo Exp $
+ * $FreeBSD: src/usr.bin/calendar/calendars/calendar.freebsd,v 1.177 2006/04/04 22:32:14 alepulver Exp $
  */
 
 #ifndef _calendar_freebsd_
@@ -231,6 +231,7 @@
 12/18	Dag-Erling Smorgrav <des at FreeBSD.org> born in Brussels, Belgium, 1977
 12/18	Semen Ustimenko <semenu at FreeBSD.org> born in Novosibirsk, Russian Federation, 1979
 12/22	Maxim Sobolev <sobomax at FreeBSD.org> born in Dnepropetrovsk, Ukraine, 1976
+12/23	Alejandro Pulver <alepulver at FreeBSD.org> born in Buenos Aires, Argentina, 1989
 12/23	Sean Chittenden <seanc at FreeBSD.org> born in Seattle, Washington, United States, 1979
 12/28	Soren Schmidt <sos at FreeBSD.org> born in Maribo, Denmark, 1960
 12/28	Ade Lovett <ade at FreeBSD.org> born in London, England, 1969

==== //depot/projects/hammer/usr.bin/find/option.c#9 (text+ko) ====

@@ -41,7 +41,7 @@
 #endif /* not lint */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/usr.bin/find/option.c,v 1.24 2006/04/03 20:36:37 ceri Exp $");
+__FBSDID("$FreeBSD: src/usr.bin/find/option.c,v 1.25 2006/04/05 23:06:11 ceri Exp $");
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -62,15 +62,15 @@
 	{ "!",		c_simple,	f_not,		0 },
 	{ "(",		c_simple,	f_openparen,	0 },
 	{ ")",		c_simple,	f_closeparen,	0 },
+	{ "-Bmin",	c_Xmin,		f_Xmin,		F_TIME_B },
+	{ "-Bnewer",	c_newer,	f_newer,	F_TIME_B },
+	{ "-Btime",	c_Xtime,	f_Xtime,	F_TIME_B },
 	{ "-a",		c_and,		NULL,		0 },
 	{ "-acl",	c_acl,		f_acl,		0 },
 	{ "-amin",	c_Xmin,		f_Xmin,		F_TIME_A },
 	{ "-and",	c_and,		NULL,		0 },
 	{ "-anewer",	c_newer,	f_newer,	F_TIME_A },
 	{ "-atime",	c_Xtime,	f_Xtime,	F_TIME_A },
-	{ "-Bmin",	c_Xmin,		f_Xmin,		F_TIME_B },
-	{ "-Bnewer",	c_newer,	f_newer,	F_TIME_B },
-	{ "-Btime",	c_Xtime,	f_Xtime,	F_TIME_B },
 	{ "-cmin",	c_Xmin,		f_Xmin,		F_TIME_C },
 	{ "-cnewer",	c_newer,	f_newer,	F_TIME_C },
 	{ "-ctime",	c_Xtime,	f_Xtime,	F_TIME_C },
@@ -97,23 +97,23 @@
 	{ "-mtime",	c_Xtime,	f_Xtime,	0 },
 	{ "-name",	c_name,		f_name,		0 },
 	{ "-newer",	c_newer,	f_newer,	0 },
+	{ "-newerBB",	c_newer,	f_newer,	F_TIME_B | F_TIME2_B },
+	{ "-newerBa",	c_newer,	f_newer,	F_TIME_B | F_TIME2_A },
+	{ "-newerBc",	c_newer,	f_newer,	F_TIME_B | F_TIME2_C },
+	{ "-newerBm",	c_newer,	f_newer,	F_TIME_B },
+	{ "-newerBt",	c_newer,	f_newer,	F_TIME_B | F_TIME2_T },
+	{ "-neweraB",	c_newer,	f_newer,	F_TIME_A | F_TIME2_B },
 	{ "-neweraa",	c_newer,	f_newer,	F_TIME_A | F_TIME2_A },
-	{ "-neweraB",	c_newer,	f_newer,	F_TIME_A | F_TIME2_B },
 	{ "-newerac",	c_newer,	f_newer,	F_TIME_A | F_TIME2_C },
 	{ "-neweram",	c_newer,	f_newer,	F_TIME_A },
 	{ "-newerat",	c_newer,	f_newer,	F_TIME_A | F_TIME2_T },
-	{ "-newerBa",	c_newer,	f_newer,	F_TIME_B | F_TIME2_A },
-	{ "-newerBB",	c_newer,	f_newer,	F_TIME_B | F_TIME2_B },
-	{ "-newerBc",	c_newer,	f_newer,	F_TIME_B | F_TIME2_C },
-	{ "-newerBm",	c_newer,	f_newer,	F_TIME_B },
-	{ "-newerBt",	c_newer,	f_newer,	F_TIME_B | F_TIME2_T },
+	{ "-newercB",	c_newer,	f_newer,	F_TIME_C | F_TIME2_B },
 	{ "-newerca",	c_newer,	f_newer,	F_TIME_C | F_TIME2_A },
-	{ "-newercB",	c_newer,	f_newer,	F_TIME_C | F_TIME2_B },
 	{ "-newercc",	c_newer,	f_newer,	F_TIME_C | F_TIME2_C },
 	{ "-newercm",	c_newer,	f_newer,	F_TIME_C },
 	{ "-newerct",	c_newer,	f_newer,	F_TIME_C | F_TIME2_T },
+	{ "-newermB",	c_newer,	f_newer,	F_TIME2_B },
 	{ "-newerma",	c_newer,	f_newer,	F_TIME2_A },
-	{ "-newermB",	c_newer,	f_newer,	F_TIME2_B },
 	{ "-newermc",	c_newer,	f_newer,	F_TIME2_C },
 	{ "-newermm",	c_newer,	f_newer,	0 },
 	{ "-newermt",	c_newer,	f_newer,	F_TIME2_T },

==== //depot/projects/hammer/usr.sbin/pmcstat/pmcstat_log.c#7 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/usr.sbin/pmcstat/pmcstat_log.c,v 1.9 2006/04/02 12:52:16 jkoshy Exp $");
+__FBSDID("$FreeBSD: src/usr.sbin/pmcstat/pmcstat_log.c,v 1.10 2006/04/05 15:12:25 jkoshy Exp $");
 
 #include <sys/param.h>
 #include <sys/endian.h>
@@ -135,6 +135,7 @@
 	int		pgf_overflow;	/* whether a count overflowed */
 	pmc_id_t	pgf_pmcid;	/* id of the associated pmc */
 	size_t		pgf_nbuckets;	/* #buckets in this gmon.out */
+	unsigned int	pgf_nsamples;	/* #samples in this gmon.out */
 	pmcstat_interned_string pgf_name;	/* pathname of gmon.out file */
 	size_t		pgf_ndatabytes;	/* number of bytes mapped */
 	void		*pgf_gmondata;	/* pointer to mmap'ed data */
@@ -910,6 +911,7 @@
 		    FUNCTION_ALIGNMENT;	/* see <machine/profile.h> */
 		pgf->pgf_ndatabytes = sizeof(struct gmonhdr) +
 		    pgf->pgf_nbuckets * sizeof(HISTCOUNTER);
+		pgf->pgf_nsamples = 0;
 
 		pmcstat_gmon_create_file(pgf, image);
 
@@ -941,6 +943,8 @@
 		hc[bucket]++;
 	else /* mark that an overflow occurred */
 		pgf->pgf_overflow = 1;
+
+	pgf->pgf_nsamples++;
 }
 
 /*
@@ -1796,22 +1800,31 @@
 
 	for (i = 0; i < PMCSTAT_NHASH; i++) {
 		LIST_FOREACH_SAFE(pi, &pmcstat_image_hash[i], pi_next, pitmp) {
+
+			if (mf)
+				(void) fprintf(mf, " \"%s\" => \"%s\"",
+				    pmcstat_string_unintern(pi->pi_execpath),
+				    pmcstat_string_unintern(pi->pi_samplename));
+
 			/* flush gmon.out data to disk */
 			LIST_FOREACH_SAFE(pgf, &pi->pi_gmlist, pgf_next,
 			    pgftmp) {
 				pmcstat_gmon_unmap_file(pgf);
 			    	LIST_REMOVE(pgf, pgf_next);
-
+				if (mf)
+					(void) fprintf(mf, " %s/%d",
+					    pmcstat_pmcid_to_name(pgf->pgf_pmcid),
+					    pgf->pgf_nsamples);
 				if (pgf->pgf_overflow && a->pa_verbosity >= 1)
 					warnx("WARNING: profile \"%s\" "
 					    "overflowed.",
-					    pmcstat_string_unintern(pgf->pgf_name));
+					    pmcstat_string_unintern(
+					        pgf->pgf_name));
 			    	free(pgf);
 			}
+
 			if (mf)
-				(void) fprintf(mf, " \"%s\" -> \"%s\"\n",
-				    pmcstat_string_unintern(pi->pi_execpath),
-				    pmcstat_string_unintern(pi->pi_samplename));
+				(void) fprintf(mf, "\n");
 
 			LIST_REMOVE(pi, pi_next);
 			free(pi);


More information about the p4-projects mailing list