Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Jan 2004 15:50:14 -0800 (PST)
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 44926 for review
Message-ID:  <200401072350.i07NoEo4095649@repoman.freebsd.org>

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

Change 44926 by sam@sam_ebb on 2004/01/07 15:49:30

	IFC

Affected files ...

.. //depot/projects/netperf/sys/alpha/alpha/mp_machdep.c#7 integrate
.. //depot/projects/netperf/sys/amd64/include/profile.h#2 integrate
.. //depot/projects/netperf/sys/compat/ndis/kern_ndis.c#10 integrate
.. //depot/projects/netperf/sys/compat/ndis/subr_ndis.c#11 integrate
.. //depot/projects/netperf/sys/compat/ndis/subr_ntoskrnl.c#7 integrate
.. //depot/projects/netperf/sys/dev/ath/if_ath.c#55 integrate
.. //depot/projects/netperf/sys/fs/procfs/procfs.c#3 integrate
.. //depot/projects/netperf/sys/i386/isa/pcvt/pcvt_ext.c#2 integrate
.. //depot/projects/netperf/sys/net/route.c#32 integrate
.. //depot/projects/netperf/sys/netinet/ip_icmp.c#13 integrate
.. //depot/projects/netperf/sys/netinet/tcp_input.c#16 integrate
.. //depot/projects/netperf/sys/netinet/tcp_subr.c#15 integrate
.. //depot/projects/netperf/sys/vm/vm_contig.c#5 integrate
.. //depot/projects/netperf/sys/vm/vm_kern.c#11 integrate

Differences ...

==== //depot/projects/netperf/sys/alpha/alpha/mp_machdep.c#7 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.51 2003/12/03 14:57:25 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.52 2004/01/07 23:00:20 jhb Exp $");
 
 #include "opt_kstack_pages.h"
 
@@ -351,7 +351,7 @@
 	boot_cpu_id = PCPU_GET(cpuid);
 	KASSERT(boot_cpu_id == hwrpb->rpb_primary_cpu_id,
 	    ("cpu_mp_probe() called on non-primary CPU"));
-	all_cpus = 1 << boot_cpu_id;
+	all_cpus = PCPU_GET(cpumask);
 
 	mp_ncpus = 1;
 
@@ -413,12 +413,12 @@
 		all_cpus |= (1 << i);
 		mp_ncpus++;
 	}
-	PCPU_SET(other_cpus, all_cpus & ~(1 << boot_cpu_id));
+	PCPU_SET(other_cpus, all_cpus & ~PCPU_GET(cpumask));
 
 	for (i = 0; i < hwrpb->rpb_pcs_cnt; i++) {
 		if (i == boot_cpu_id)
 			continue;
-		if (all_cpus & (1 << i))
+		if (!CPU_ABSENT(i))
 			smp_start_secondary(i);
 	}
 }
@@ -476,7 +476,7 @@
 void
 ipi_self(u_int64_t ipi)
 {
-	ipi_selected(1 << PCPU_GET(cpuid), ipi);
+	ipi_selected(PCPU_GET(cpumask), ipi);
 }
 
 /*
@@ -489,7 +489,7 @@
 	u_int64_t ipi;
 	int cpumask;
 
-	cpumask = 1 << PCPU_GET(cpuid);
+	cpumask = PCPU_GET(cpumask);
 
 	CTR1(KTR_SMP, "smp_handle_ipi(), ipis=%lx", ipis);
 	while (ipis) {

==== //depot/projects/netperf/sys/amd64/include/profile.h#2 (text+ko) ====

@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)profile.h	8.1 (Berkeley) 6/11/93
- * $FreeBSD: src/sys/amd64/include/profile.h,v 1.32 2003/06/02 00:28:39 obrien Exp $
+ * $FreeBSD: src/sys/amd64/include/profile.h,v 1.33 2004/01/06 20:36:21 nectar Exp $
  */
 
 #ifndef _MACHINE_PROFILE_H_
@@ -148,7 +148,6 @@
 #ifdef __GNUC__
 void	mcount(void) __asm(".mcount");
 #endif
-static void	_mcount(uintfptr_t frompc, uintfptr_t selfpc);
 __END_DECLS
 
 #endif /* _KERNEL */

==== //depot/projects/netperf/sys/compat/ndis/kern_ndis.c#10 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.22 2004/01/06 07:09:26 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.23 2004/01/07 06:15:56 wpaul Exp $");
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -704,6 +704,8 @@
 	return(0);
 }
 
+typedef void (*ndis_senddone_func)(ndis_handle, ndis_packet *, ndis_status);
+
 int
 ndis_send_packets(arg, packets, cnt)
 	void			*arg;
@@ -713,14 +715,14 @@
 	struct ndis_softc	*sc;
 	ndis_handle		adapter;
 	__stdcall ndis_sendmulti_handler	sendfunc;
-	int			i, idx;
-	struct ifnet		*ifp;
-	struct mbuf		*m;
+	__stdcall ndis_senddone_func		senddonefunc;
+	int			i;
 	ndis_packet		*p;
 
 	sc = arg;
 	adapter = sc->ndis_block.nmb_miniportadapterctx;
 	sendfunc = sc->ndis_chars.nmc_sendmulti_func;
+	senddonefunc = sc->ndis_block.nmb_senddone_func;
 	sendfunc(adapter, packets, cnt);
 
 	for (i = 0; i < cnt; i++) {
@@ -733,21 +735,7 @@
 		 */
 		if (p == NULL || p->np_oob.npo_status == NDIS_STATUS_PENDING)
 			continue;
-		idx = p->np_txidx;
-		m = p->np_m0;
-		ifp = &sc->arpcom.ac_if;
-		if (sc->ndis_sc)
-			bus_dmamap_unload(sc->ndis_ttag, sc->ndis_tmaps[idx]);
-		sc->ndis_txarray[idx] = NULL;
-		sc->ndis_txpending++;
-		m_freem(m);
-		ndis_free_packet(p);
-		if (p->np_oob.npo_status == NDIS_STATUS_SUCCESS)
-			ifp->if_opackets++;
-		else
-			ifp->if_oerrors++;
-		ifp->if_timer = 0;
-		ifp->if_flags &= ~IFF_OACTIVE;
+		senddonefunc(&sc->ndis_block, p, p->np_oob.npo_status);
 	}
 
 	return(0);

==== //depot/projects/netperf/sys/compat/ndis/subr_ndis.c#11 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.27 2004/01/06 18:06:54 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.30 2004/01/07 19:26:47 wpaul Exp $");
 
 /*
  * This file implements a translation layer between the BSD networking
@@ -72,6 +72,7 @@
 #include <net/if_dl.h>
 #include <net/if_media.h>
 
+#include <machine/atomic.h>
 #include <machine/bus_memio.h>
 #include <machine/bus_pio.h>
 #include <machine/bus.h>
@@ -789,6 +790,7 @@
  * The errorlog routine uses a variable argument list, so we
  * have to declare it this way.
  */
+#define ERRMSGLEN 512
 static void
 ndis_syslog(ndis_handle adapter, ndis_error_code code,
 	uint32_t numerrors, ...)
@@ -798,12 +800,15 @@
 	int			i, error;
 	char			*str = NULL, *ustr = NULL;
 	uint16_t		flags;
+	char			msgbuf[ERRMSGLEN];
 
 	block = (ndis_miniport_block *)adapter;
 
 	error = pe_get_message(block->nmb_img, code, &str, &i, &flags);
 	if (error == 0 && flags & MESSAGE_RESOURCE_UNICODE) {
-		ndis_unicode_to_ascii((uint16_t *)str, i, &ustr);
+		ustr = msgbuf;
+		ndis_unicode_to_ascii((uint16_t *)str,
+		    ((i / 2)) > (ERRMSGLEN - 1) ? ERRMSGLEN : i, &ustr);
 		str = ustr;
 	}
 	device_printf (block->nmb_dev, "NDIS ERROR: %x (%s)\n", code,
@@ -816,8 +821,6 @@
 		    va_arg(ap, void *));
 	va_end(ap);
 
-	if (ustr != NULL)
-		free(ustr, M_DEVBUF);
 	return;
 }
 
@@ -1780,9 +1783,7 @@
 ndis_interlock_inc(addend)
 	uint32_t		*addend;
 {
-	mtx_lock(&ndis_interlock);
-	*addend++;
-	mtx_unlock(&ndis_interlock);
+	atomic_add_long((u_long *)addend, 1);
 	return(*addend);
 }
 
@@ -1790,9 +1791,7 @@
 ndis_interlock_dec(addend)
 	uint32_t		*addend;
 {
-	mtx_lock(&ndis_interlock);
-	*addend--;
-	mtx_unlock(&ndis_interlock);
+	atomic_subtract_long((u_long *)addend, 1);
 	return(*addend);
 }
 
@@ -2087,13 +2086,13 @@
 {
 	ndis_list_entry		*flink;
 
-	mtx_lock_spin((struct mtx *)lock->nsl_spinlock);
+	mtx_lock((struct mtx *)lock->nsl_spinlock);
 	flink = head->nle_flink;
 	entry->nle_flink = flink;
 	entry->nle_blink = head;
 	flink->nle_blink = entry;
 	head->nle_flink = entry;
-	mtx_unlock_spin((struct mtx *)lock->nsl_spinlock);
+	mtx_unlock((struct mtx *)lock->nsl_spinlock);
 
 	return(flink);
 }
@@ -2106,12 +2105,12 @@
 	ndis_list_entry		*flink;
 	ndis_list_entry		*entry;
 
-	mtx_lock_spin((struct mtx *)lock->nsl_spinlock);
+	mtx_lock((struct mtx *)lock->nsl_spinlock);
 	entry = head->nle_flink;
 	flink = entry->nle_flink;
 	head->nle_flink = flink;
 	flink->nle_blink = head;
-	mtx_unlock_spin((struct mtx *)lock->nsl_spinlock);
+	mtx_unlock((struct mtx *)lock->nsl_spinlock);
 
 	return(entry);
 }
@@ -2124,13 +2123,13 @@
 {
 	ndis_list_entry		*blink;
 
-	mtx_lock_spin((struct mtx *)lock->nsl_spinlock);
+	mtx_lock((struct mtx *)lock->nsl_spinlock);
 	blink = head->nle_blink;
 	entry->nle_flink = head;
 	entry->nle_blink = blink;
 	blink->nle_flink = entry;
 	head->nle_blink = entry;
-	mtx_unlock_spin((struct mtx *)lock->nsl_spinlock);
+	mtx_unlock((struct mtx *)lock->nsl_spinlock);
 
 	return(blink);
 }

==== //depot/projects/netperf/sys/compat/ndis/subr_ntoskrnl.c#7 (text+ko) ====

@@ -31,8 +31,9 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.8 2004/01/06 07:09:26 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.10 2004/01/07 20:31:51 wpaul Exp $");
 
+#include <sys/ctype.h>
 #include <sys/param.h>
 #include <sys/types.h>
 #include <sys/errno.h>
@@ -44,6 +45,7 @@
 #include <sys/callout.h>
 #include <sys/kernel.h>
 
+#include <machine/atomic.h>
 #include <machine/clock.h>
 #include <machine/bus_memio.h>
 #include <machine/bus_pio.h>
@@ -63,8 +65,8 @@
 
 #define FUNC void(*)(void)
 
-__stdcall static uint32_t ntoskrnl_unicode_equal(ndis_unicode_string *,
-	ndis_unicode_string *, uint32_t);
+__stdcall static uint8_t ntoskrnl_unicode_equal(ndis_unicode_string *,
+	ndis_unicode_string *, uint8_t);
 __stdcall static void ntoskrnl_unicode_copy(ndis_unicode_string *,
 	ndis_unicode_string *);
 __stdcall static uint32_t ntoskrnl_unicode_to_ansi(ndis_ansi_string *,
@@ -139,29 +141,29 @@
 	return(0);
 }
 
-__stdcall static uint32_t 
-ntoskrnl_unicode_equal(str1, str2, casesensitive)
+__stdcall static uint8_t 
+ntoskrnl_unicode_equal(str1, str2, caseinsensitive)
 	ndis_unicode_string	*str1;
 	ndis_unicode_string	*str2;
-	uint32_t		casesensitive;
+	uint8_t			caseinsensitive;
 {
-	char			*astr1 = NULL, *astr2 = NULL;
-	int			rval = 1;
+	int			i;
 
-	ndis_unicode_to_ascii(str1->nus_buf, str2->nus_len, &astr1);
-	ndis_unicode_to_ascii(str2->nus_buf, str2->nus_len, &astr2);
+	if (str1->nus_len != str2->nus_len)
+		return(FALSE);
 
-	if (casesensitive)
-		rval = strcmp(astr1, astr2);
-#ifdef notdef
-	else
-		rval = strcasecmp(astr1, astr2);
-#endif
+	for (i = 0; i < str1->nus_len; i++) {
+		if (caseinsensitive == TRUE) {
+			if (toupper((char)(str1->nus_buf[i] & 0xFF)) !=
+			    toupper((char)(str2->nus_buf[i] & 0xFF)))
+				return(FALSE);
+		} else {
+			if (str1->nus_buf[i] != str2->nus_buf[i])
+				return(FALSE);
+		}
+	}
 
-	free(astr1, M_DEVBUF);
-	free(astr2, M_DEVBUF);
-
-	return(rval);
+	return(TRUE);
 }
 
 __stdcall static void
@@ -578,10 +580,7 @@
 
 	__asm__ __volatile__ ("" : "=c" (addend));
 
-	mtx_lock(&ntoskrnl_interlock);
-	(*addend)++;
-	mtx_unlock(&ntoskrnl_interlock);
-
+	atomic_add_long((volatile u_long *)addend, 1);
 	return(*addend);
 }
 
@@ -592,10 +591,7 @@
 
 	__asm__ __volatile__ ("" : "=c" (addend));
 
-	mtx_lock(&ntoskrnl_interlock);
-	(*addend)--;
-	mtx_unlock(&ntoskrnl_interlock);
-
+	atomic_subtract_long((volatile u_long *)addend, 1);
 	return(*addend);
 }
 

==== //depot/projects/netperf/sys/dev/ath/if_ath.c#55 (text+ko) ====

@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.38 2003/12/28 07:00:32 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.44 2004/01/07 19:16:49 sam Exp $");
 
 /*
  * Driver for the Atheros Wireless LAN controller.
@@ -151,9 +151,11 @@
 static	int ath_outdoor = AH_TRUE;		/* outdoor operation */
 SYSCTL_INT(_hw_ath, OID_AUTO, outdoor, CTLFLAG_RD, &ath_outdoor,
 	    0, "enable/disable outdoor operation");
+TUNABLE_INT("hw.ath.outdoor", &ath_outdoor);
 static	int ath_countrycode = CTRY_DEFAULT;	/* country code */
 SYSCTL_INT(_hw_ath, OID_AUTO, countrycode, CTLFLAG_RD, &ath_countrycode,
 	    0, "country code");
+TUNABLE_INT("hw.ath.countrycode", &ath_countrycode);
 static	int ath_regdomain = 0;			/* regulatory domain */
 SYSCTL_INT(_hw_ath, OID_AUTO, regdomain, CTLFLAG_RD, &ath_regdomain,
 	    0, "regulatory domain");
@@ -162,6 +164,7 @@
 int	ath_debug = 0;
 SYSCTL_INT(_hw_ath, OID_AUTO, debug, CTLFLAG_RW, &ath_debug,
 	    0, "control debugging printfs");
+TUNABLE_INT("hw.ath.debug", &ath_debug);
 #define	IFF_DUMPPKTS(_ifp, _m) \
 	((ath_debug & _m) || \
 	    ((_ifp)->if_flags & (IFF_DEBUG|IFF_LINK2)) == (IFF_DEBUG|IFF_LINK2))
@@ -200,7 +203,7 @@
 	HAL_STATUS status;
 	int error = 0;
 
-	DPRINTF(ATH_DEBUG_ANY, ("ath_attach: devid 0x%x\n", devid));
+	DPRINTF(ATH_DEBUG_ANY, ("%s: devid 0x%x\n", __func__, devid));
 
 	/* set these up early for if_printf use */
 	if_initname(ifp, device_get_name(sc->sc_dev),
@@ -365,7 +368,7 @@
 {
 	struct ifnet *ifp = &sc->sc_ic.ic_if;
 
-	DPRINTF(ATH_DEBUG_ANY, ("ath_detach: if_flags %x\n", ifp->if_flags));
+	DPRINTF(ATH_DEBUG_ANY, ("%s: if_flags %x\n", __func__, ifp->if_flags));
 
 	ath_stop(ifp);
 	bpfdetach(ifp);
@@ -384,7 +387,7 @@
 {
 	struct ifnet *ifp = &sc->sc_ic.ic_if;
 
-	DPRINTF(ATH_DEBUG_ANY, ("ath_suspend: if_flags %x\n", ifp->if_flags));
+	DPRINTF(ATH_DEBUG_ANY, ("%s: if_flags %x\n", __func__, ifp->if_flags));
 
 	ath_stop(ifp);
 }
@@ -394,7 +397,7 @@
 {
 	struct ifnet *ifp = &sc->sc_ic.ic_if;
 
-	DPRINTF(ATH_DEBUG_ANY, ("ath_resume: if_flags %x\n", ifp->if_flags));
+	DPRINTF(ATH_DEBUG_ANY, ("%s: if_flags %x\n", __func__, ifp->if_flags));
 
 	if (ifp->if_flags & IFF_UP) {
 		ath_init(ifp);
@@ -408,7 +411,7 @@
 {
 	struct ifnet *ifp = &sc->sc_ic.ic_if;
 
-	DPRINTF(ATH_DEBUG_ANY, ("ath_shutdown: if_flags %x\n", ifp->if_flags));
+	DPRINTF(ATH_DEBUG_ANY, ("%s: if_flags %x\n", __func__, ifp->if_flags));
 
 	ath_stop(ifp);
 }
@@ -427,18 +430,18 @@
 		 * The hardware is not ready/present, don't touch anything.
 		 * Note this can happen early on if the IRQ is shared.
 		 */
-		DPRINTF(ATH_DEBUG_ANY, ("ath_intr: invalid; ignored\n"));
+		DPRINTF(ATH_DEBUG_ANY, ("%s: invalid; ignored\n", __func__));
 		return;
 	}
 	if ((ifp->if_flags & (IFF_RUNNING|IFF_UP)) != (IFF_RUNNING|IFF_UP)) {
-		DPRINTF(ATH_DEBUG_ANY,
-			("ath_intr: if_flags 0x%x\n", ifp->if_flags));
+		DPRINTF(ATH_DEBUG_ANY, ("%s: if_flags 0x%x\n",
+			__func__, ifp->if_flags));
 		ath_hal_getisr(ah, &status);	/* clear ISR */
 		ath_hal_intrset(ah, 0);		/* disable further intr's */
 		return;
 	}
 	ath_hal_getisr(ah, &status);		/* NB: clears ISR too */
-	DPRINTF(ATH_DEBUG_INTR, ("ath_intr: status 0x%x\n", status));
+	DPRINTF(ATH_DEBUG_INTR, ("%s: status 0x%x\n", __func__, status));
 #ifdef AR_DEBUG
 	if (ath_debug &&
 	    (status & (HAL_INT_FATAL|HAL_INT_RXORN|HAL_INT_BMISS))) {
@@ -507,7 +510,7 @@
 	struct ath_softc *sc = arg;
 	struct ieee80211com *ic = &sc->sc_ic;
 
-	DPRINTF(ATH_DEBUG_ANY, ("ath_bmiss_proc: pending %u\n", pending));
+	DPRINTF(ATH_DEBUG_ANY, ("%s: pending %u\n", __func__, pending));
 	KASSERT(ic->ic_opmode == IEEE80211_M_STA,
 		("unexpect operating mode %u", ic->ic_opmode));
 	if (ic->ic_state == IEEE80211_S_RUN) {
@@ -546,7 +549,8 @@
 	HAL_STATUS status;
 	HAL_CHANNEL hchan;
 
-	DPRINTF(ATH_DEBUG_ANY, ("ath_init: if_flags 0x%x\n", ifp->if_flags));
+	DPRINTF(ATH_DEBUG_ANY, ("%s: if_flags 0x%x\n",
+		__func__, ifp->if_flags));
 
 	ATH_LOCK(sc);
 	/*
@@ -620,8 +624,8 @@
 	struct ath_softc *sc = ifp->if_softc;
 	struct ath_hal *ah = sc->sc_ah;
 
-	DPRINTF(ATH_DEBUG_ANY, ("ath_stop: invalid %u if_flags 0x%x\n",
-		sc->sc_invalid, ifp->if_flags));
+	DPRINTF(ATH_DEBUG_ANY, ("%s: invalid %u if_flags 0x%x\n",
+		__func__, sc->sc_invalid, ifp->if_flags));
 
 	ATH_LOCK(sc);
 	if (ifp->if_flags & IFF_RUNNING) {
@@ -723,8 +727,8 @@
 			TAILQ_REMOVE(&sc->sc_txbuf, bf, bf_list);
 		ATH_TXBUF_UNLOCK(sc);
 		if (bf == NULL) {
-			DPRINTF(ATH_DEBUG_ANY,
-				("ath_start: out of xmit buffers\n"));
+			DPRINTF(ATH_DEBUG_ANY, ("%s: out of xmit buffers\n",
+				__func__));
 			sc->sc_stats.ast_tx_qstop++;
 			ifp->if_flags |= IFF_OACTIVE;
 			break;
@@ -740,8 +744,8 @@
 			 */
 			if (ic->ic_state != IEEE80211_S_RUN) {
 				DPRINTF(ATH_DEBUG_ANY,
-					("ath_start: ignore data packet, "
-					"state %u\n", ic->ic_state));
+					("%s: ignore data packet, state %u\n",
+					__func__, ic->ic_state));
 				sc->sc_stats.ast_tx_discard++;
 				ATH_TXBUF_LOCK(sc);
 				TAILQ_INSERT_TAIL(&sc->sc_txbuf, bf, bf_list);
@@ -763,7 +767,8 @@
 			m = ieee80211_encap(ifp, m, &ni);
 			if (m == NULL) {
 				DPRINTF(ATH_DEBUG_ANY,
-					("ath_start: encapsulation failure\n"));
+					("%s: encapsulation failure\n",
+					__func__));
 				sc->sc_stats.ast_tx_encap++;
 				goto bad;
 			}
@@ -1054,9 +1059,8 @@
 		mfilt[0] = mfilt[1] = ~0;
 	}
 	ath_hal_setmcastfilter(ah, mfilt[0], mfilt[1]);
-	DPRINTF(ATH_DEBUG_MODE,
-		("ath_mode_init: RX filter 0x%x, MC filter %08x:%08x\n",
-		rfilt, mfilt[0], mfilt[1]));
+	DPRINTF(ATH_DEBUG_MODE, ("%s: RX filter 0x%x, MC filter %08x:%08x\n",
+		__func__, rfilt, mfilt[0], mfilt[1]));
 }
 
 static void

==== //depot/projects/netperf/sys/fs/procfs/procfs.c#3 (text+ko) ====

@@ -37,7 +37,7 @@
  *
  *	@(#)procfs_vfsops.c	8.7 (Berkeley) 5/10/95
  *
- * $FreeBSD: src/sys/fs/procfs/procfs.c,v 1.10 2003/12/07 17:40:00 des Exp $
+ * $FreeBSD: src/sys/fs/procfs/procfs.c,v 1.11 2004/01/07 17:58:51 rwatson Exp $
  */
 
 #include <sys/param.h>
@@ -70,7 +70,9 @@
 	char *fullpath = "unknown";
 	char *freepath = NULL;
 
+	vn_lock(p->p_textvp, LK_EXCLUSIVE | LK_RETRY, td);
 	vn_fullpath(td, p->p_textvp, &fullpath, &freepath);
+	VOP_UNLOCK(p->p_textvp, 0, td);
 	sbuf_printf(sb, "%s", fullpath);
 	if (freepath)
 		free(freepath, M_TEMP);

==== //depot/projects/netperf/sys/i386/isa/pcvt/pcvt_ext.c#2 (text+ko) ====

@@ -44,7 +44,7 @@
  *
  * 	Last Edit-Date: [Fri Mar  8 19:57:55 2002]
  *
- * $FreeBSD: src/sys/i386/isa/pcvt/pcvt_ext.c,v 1.29 2003/03/02 16:54:36 des Exp $
+ * $FreeBSD: src/sys/i386/isa/pcvt/pcvt_ext.c,v 1.30 2004/01/07 10:12:59 joerg Exp $
  *
  *---------------------------------------------------------------------------*/
 
@@ -2397,7 +2397,7 @@
 int
 usl_vt_ioctl(dev_t dev, int cmd, caddr_t data, int flag, struct thread *td)
 {
-	struct proc *p = td->td_proc;
+	struct proc *p;
 	int i, j, error, opri;
 	struct vt_mode newmode;
 
@@ -2406,6 +2406,7 @@
 
 	case VT_SETMODE:
 		newmode = *(struct vt_mode *)data;
+		p = td->td_proc;
 
 		opri = spltty();
 
@@ -2479,6 +2480,8 @@
 		return 0;
 
 	case VT_RELDISP:
+		p = td->td_proc;
+
 		if (minor(dev) != current_video_screen)
 			return EPERM;
 		if (vsp->smode.mode != VT_PROCESS)

==== //depot/projects/netperf/sys/net/route.c#32 (text+ko) ====

@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)route.c	8.3.1.1 (Berkeley) 2/23/95
- * $FreeBSD: src/sys/net/route.c,v 1.93 2003/12/07 21:44:14 sam Exp $
+ * $FreeBSD: src/sys/net/route.c,v 1.94 2004/01/07 23:42:21 sam Exp $
  */
 
 #include "opt_inet.h"
@@ -1277,7 +1277,7 @@
 			rt = rtalloc1(dst, 1, 0UL);
 			if (rt != NULL) {
 				RT_REMREF(rt);
-				RT_UNLOCK(rt);
+				/* XXX what about if change? */
 			} else
 				senderr(EHOSTUNREACH);
 			rt0 = rt;

==== //depot/projects/netperf/sys/netinet/ip_icmp.c#13 (text+ko) ====

@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)ip_icmp.c	8.2 (Berkeley) 1/4/94
- * $FreeBSD: src/sys/netinet/ip_icmp.c,v 1.85 2003/11/20 20:07:37 andre Exp $
+ * $FreeBSD: src/sys/netinet/ip_icmp.c,v 1.86 2004/01/06 23:20:07 andre Exp $
  */
 
 #include "opt_ipsec.h"
@@ -546,7 +546,11 @@
 			       (int)(gw >> 24), (int)((gw >> 16) & 0xff),
 			       (int)((gw >> 8) & 0xff), (int)(gw & 0xff));
 		}
-		if (drop_redirect)
+		/*
+		 * RFC1812 says we must ignore ICMP redirects if we
+		 * are acting as router.
+		 */
+		if (drop_redirect || ipforwarding)
 			break;
 		if (code > 3)
 			goto badcode;

==== //depot/projects/netperf/sys/netinet/tcp_input.c#16 (text+ko) ====

@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)tcp_input.c	8.12 (Berkeley) 5/24/95
- * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.217 2003/11/25 20:58:59 andre Exp $
+ * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.218 2004/01/06 23:29:46 andre Exp $
  */
 
 #include "opt_ipfw.h"		/* for ipfw_fwd		*/
@@ -125,11 +125,11 @@
     &drop_synfin, 0, "Drop TCP packets with SYN+FIN set");
 #endif
 
-static int tcp_do_rfc3042 = 0;
+static int tcp_do_rfc3042 = 1;
 SYSCTL_INT(_net_inet_tcp, OID_AUTO, rfc3042, CTLFLAG_RW,
     &tcp_do_rfc3042, 0, "Enable RFC 3042 (Limited Transmit)");
 
-static int tcp_do_rfc3390 = 0;
+static int tcp_do_rfc3390 = 1;
 SYSCTL_INT(_net_inet_tcp, OID_AUTO, rfc3390, CTLFLAG_RW,
     &tcp_do_rfc3390, 0,
     "Enable RFC 3390 (Increasing TCP's Initial Congestion Window)");

==== //depot/projects/netperf/sys/netinet/tcp_subr.c#15 (text+ko) ====

@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)tcp_subr.c	8.2 (Berkeley) 5/24/95
- * $FreeBSD: src/sys/netinet/tcp_subr.c,v 1.171 2003/12/17 16:12:01 jhb Exp $
+ * $FreeBSD: src/sys/netinet/tcp_subr.c,v 1.172 2004/01/06 23:29:46 andre Exp $
  */
 
 #include "opt_compat.h"
@@ -159,7 +159,7 @@
  * 1024 exists only for debugging.  A good production default would be 
  * something like 6100.
  */
-static int	tcp_inflight_enable = 0;
+static int	tcp_inflight_enable = 1;
 SYSCTL_INT(_net_inet_tcp, OID_AUTO, inflight_enable, CTLFLAG_RW,
     &tcp_inflight_enable, 0, "Enable automatic TCP inflight data limiting");
 

==== //depot/projects/netperf/sys/vm/vm_contig.c#5 (text+ko) ====

@@ -64,7 +64,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/vm/vm_contig.c,v 1.25 2003/10/18 21:09:21 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/vm/vm_contig.c,v 1.26 2004/01/06 20:52:55 alc Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -269,7 +269,6 @@
 				OFF_TO_IDX(tmp_addr - VM_MIN_KERNEL_ADDRESS));
 			if ((flags & M_ZERO) && !(m->flags & PG_ZERO))
 				pmap_zero_page(m);
-			m->flags = 0;
 			tmp_addr += PAGE_SIZE;
 		}
 		VM_OBJECT_UNLOCK(kernel_object);

==== //depot/projects/netperf/sys/vm/vm_kern.c#11 (text+ko) ====

@@ -67,7 +67,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/vm/vm_kern.c,v 1.110 2004/01/01 19:48:56 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/vm/vm_kern.c,v 1.111 2004/01/06 20:52:55 alc Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -206,7 +206,6 @@
 			pmap_zero_page(mem);
 		mem->valid = VM_PAGE_BITS_ALL;
 		vm_page_lock_queues();
-		vm_page_flag_clear(mem, PG_ZERO);
 		vm_page_wakeup(mem);
 		vm_page_unlock_queues();
 	}
@@ -406,7 +405,6 @@
 			pmap_zero_page(m);
 		m->valid = VM_PAGE_BITS_ALL;
 		vm_page_lock_queues();
-		vm_page_flag_clear(m, PG_ZERO);
 		vm_page_unmanage(m);
 		vm_page_unlock_queues();
 	}



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