PERFORCE change 44926 for review
Sam Leffler
sam at FreeBSD.org
Wed Jan 7 15:52:16 PST 2004
http://perforce.freebsd.org/chv.cgi?CH=44926
Change 44926 by sam at 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();
}
More information about the p4-projects
mailing list