PERFORCE change 86196 for review
John Baldwin
jhb at FreeBSD.org
Tue Nov 1 12:17:09 PST 2005
http://perforce.freebsd.org/chv.cgi?CH=86196
Change 86196 by jhb at jhb_slimer on 2005/11/01 20:16:37
IFC @86194.
Affected files ...
.. //depot/projects/smpng/sys/compat/ndis/subr_ntoskrnl.c#35 integrate
.. //depot/projects/smpng/sys/conf/files#156 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_hpet.c#1 branch
.. //depot/projects/smpng/sys/dev/acpica/acpivar.h#59 integrate
.. //depot/projects/smpng/sys/kern/kern_descrip.c#85 integrate
.. //depot/projects/smpng/sys/kern/kern_exit.c#103 integrate
.. //depot/projects/smpng/sys/kern/kern_ktrace.c#46 integrate
.. //depot/projects/smpng/sys/kern/vfs_aio.c#62 integrate
.. //depot/projects/smpng/sys/modules/acpi/acpi/Makefile#10 integrate
.. //depot/projects/smpng/sys/netinet6/in6.c#30 integrate
.. //depot/projects/smpng/sys/pci/if_vr.c#42 integrate
.. //depot/projects/smpng/sys/pci/if_vrreg.h#11 integrate
.. //depot/projects/smpng/sys/sys/ktrace.h#11 integrate
.. //depot/projects/smpng/sys/sys/signal.h#20 integrate
.. //depot/projects/smpng/sys/vm/vm_page.c#66 integrate
Differences ...
==== //depot/projects/smpng/sys/compat/ndis/subr_ntoskrnl.c#35 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.79 2005/10/26 20:21:45 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.80 2005/11/01 09:24:35 wpaul Exp $");
#include <sys/ctype.h>
#include <sys/unistd.h>
@@ -285,7 +285,11 @@
if (wq_queues == NULL)
return(ENOMEM);
+#ifdef NTOSKRNL_MULTIPLE_DPCS
bzero((char *)kq_queues, sizeof(kdpc_queue) * mp_ncpus);
+#else
+ bzero((char *)kq_queues, sizeof(kdpc_queue));
+#endif
bzero((char *)wq_queues, sizeof(kdpc_queue) * WORKITEM_THREADS);
/*
==== //depot/projects/smpng/sys/conf/files#156 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1061 2005/10/28 15:58:17 joerg Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1062 2005/10/31 21:40:40 phk Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -410,6 +410,7 @@
dev/acpica/acpi_cmbat.c optional acpi
dev/acpica/acpi_cpu.c optional acpi
dev/acpica/acpi_ec.c optional acpi
+dev/acpica/acpi_hpet.c optional acpi
dev/acpica/acpi_isab.c optional acpi isa
dev/acpica/acpi_lid.c optional acpi
dev/acpica/acpi_package.c optional acpi
==== //depot/projects/smpng/sys/dev/acpica/acpivar.h#59 (text+ko) ====
@@ -25,7 +25,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.96 2005/07/23 19:35:59 njl Exp $
+ * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.97 2005/11/01 15:57:15 scottl Exp $
*/
#ifndef _ACPIVAR_H_
@@ -154,6 +154,7 @@
#define ACPI_THERMAL 0x01000000
#define ACPI_TIMER 0x02000000
#define ACPI_OEM 0x04000000
+#define ACPI_HPET 0x08000000
/*
* Constants for different interrupt models used with acpi_SetIntrModel().
==== //depot/projects/smpng/sys/kern/kern_descrip.c#85 (text+ko) ====
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.282 2005/10/31 15:41:25 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.283 2005/11/01 17:13:05 jhb Exp $");
#include "opt_compat.h"
@@ -1525,10 +1525,10 @@
{
struct filedesc *fdp;
struct file **fpp;
- int i;
+ int i, locked;
struct filedesc_to_leader *fdtol;
struct file *fp;
- struct vnode *vp;
+ struct vnode *cdir, *jdir, *rdir, *vp;
struct flock lf;
/* Certain daemons might not have file descriptors. */
@@ -1559,13 +1559,14 @@
lf.l_len = 0;
lf.l_type = F_UNLCK;
vp = fp->f_vnode;
- VFS_ASSERT_GIANT(vp->v_mount);
+ locked = VFS_LOCK_GIANT(vp->v_mount);
(void) VOP_ADVLOCK(vp,
(caddr_t)td->td_proc->
p_leader,
F_UNLCK,
&lf,
F_POSIX);
+ VFS_UNLOCK_GIANT(locked);
FILEDESC_LOCK(fdp);
fdrop(fp, td);
fpp = fdp->fd_ofiles + i;
@@ -1635,17 +1636,29 @@
fdp->fd_nfiles = 0;
- if (fdp->fd_cdir)
- vrele(fdp->fd_cdir);
+ cdir = fdp->fd_cdir;
fdp->fd_cdir = NULL;
- if (fdp->fd_rdir)
- vrele(fdp->fd_rdir);
+ rdir = fdp->fd_rdir;
fdp->fd_rdir = NULL;
- if (fdp->fd_jdir)
- vrele(fdp->fd_jdir);
+ jdir = fdp->fd_jdir;
fdp->fd_jdir = NULL;
+ FILEDESC_UNLOCK(fdp);
- FILEDESC_UNLOCK(fdp);
+ if (cdir) {
+ locked = VFS_LOCK_GIANT(cdir->v_mount);
+ vrele(cdir);
+ VFS_UNLOCK_GIANT(locked);
+ }
+ if (rdir) {
+ locked = VFS_LOCK_GIANT(rdir->v_mount);
+ vrele(rdir);
+ VFS_UNLOCK_GIANT(locked);
+ }
+ if (jdir) {
+ locked = VFS_LOCK_GIANT(jdir->v_mount);
+ vrele(jdir);
+ VFS_UNLOCK_GIANT(locked);
+ }
fddrop(fdp);
}
==== //depot/projects/smpng/sys/kern/kern_exit.c#103 (text+ko) ====
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.269 2005/10/26 07:18:36 glebius Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.270 2005/11/01 17:13:05 jhb Exp $");
#include "opt_compat.h"
#include "opt_ktrace.h"
@@ -235,6 +235,7 @@
*/
mtx_lock(&Giant); /* XXX: not sure if needed */
funsetownlst(&p->p_sigiolst);
+ mtx_unlock(&Giant);
/*
* If this process has an nlminfo data area (for lockd), release it
@@ -247,7 +248,6 @@
* This may block!
*/
fdfree(td);
- mtx_unlock(&Giant);
/*
* If this thread tickled GEOM, we need to wait for the giggling to
==== //depot/projects/smpng/sys/kern/kern_ktrace.c#46 (text+ko) ====
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_ktrace.c,v 1.101 2005/06/24 12:05:24 pjd Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_ktrace.c,v 1.103 2005/11/01 14:46:37 rwatson Exp $");
#include "opt_ktrace.h"
#include "opt_mac.h"
@@ -64,6 +64,7 @@
struct ktr_request {
struct ktr_header ktr_header;
+ void *ktr_buffer;
struct ucred *ktr_cred;
struct vnode *ktr_vp;
union {
@@ -236,8 +237,9 @@
mtx_unlock(&ktrace_mtx);
microtime(&req->ktr_header.ktr_time);
req->ktr_header.ktr_pid = p->p_pid;
+ req->ktr_header.ktr_tid = td->td_tid;
bcopy(p->p_comm, req->ktr_header.ktr_comm, MAXCOMLEN + 1);
- req->ktr_header.ktr_buffer = NULL;
+ req->ktr_buffer = NULL;
req->ktr_header.ktr_len = 0;
} else {
p->p_traceflag |= KTRFAC_DROP;
@@ -272,8 +274,8 @@
vrele(req->ktr_vp);
mtx_unlock(&Giant);
}
- if (req->ktr_header.ktr_buffer != NULL)
- free(req->ktr_header.ktr_buffer, M_KTRACE);
+ if (req->ktr_buffer != NULL)
+ free(req->ktr_buffer, M_KTRACE);
mtx_lock(&ktrace_mtx);
STAILQ_INSERT_HEAD(&ktr_free, req, ktr_list);
mtx_unlock(&ktrace_mtx);
@@ -340,7 +342,7 @@
ktp->ktr_narg = narg;
if (buflen > 0) {
req->ktr_header.ktr_len = buflen;
- req->ktr_header.ktr_buffer = buf;
+ req->ktr_buffer = buf;
}
ktr_submitrequest(req);
}
@@ -387,7 +389,7 @@
}
if (namelen > 0) {
req->ktr_header.ktr_len = namelen;
- req->ktr_header.ktr_buffer = buf;
+ req->ktr_buffer = buf;
}
ktr_submitrequest(req);
}
@@ -436,7 +438,7 @@
ktg->ktr_fd = fd;
ktg->ktr_rw = rw;
req->ktr_header.ktr_len = datalen;
- req->ktr_header.ktr_buffer = buf;
+ req->ktr_buffer = buf;
ktr_submitrequest(req);
}
@@ -684,7 +686,7 @@
free(cp, M_KTRACE);
return (ENOMEM);
}
- req->ktr_header.ktr_buffer = cp;
+ req->ktr_buffer = cp;
req->ktr_header.ktr_len = uap->len;
ktr_submitrequest(req);
return (0);
@@ -827,8 +829,8 @@
kth->ktr_len += datalen;
}
if (buflen != 0) {
- KASSERT(kth->ktr_buffer != NULL, ("ktrace: nothing to write"));
- aiov[auio.uio_iovcnt].iov_base = kth->ktr_buffer;
+ KASSERT(req->ktr_buffer != NULL, ("ktrace: nothing to write"));
+ aiov[auio.uio_iovcnt].iov_base = req->ktr_buffer;
aiov[auio.uio_iovcnt].iov_len = buflen;
auio.uio_resid += buflen;
auio.uio_iovcnt++;
==== //depot/projects/smpng/sys/kern/vfs_aio.c#62 (text+ko) ====
@@ -19,7 +19,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/vfs_aio.c,v 1.199 2005/10/30 02:12:49 davidxu Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/vfs_aio.c,v 1.200 2005/11/01 17:13:05 jhb Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -894,10 +894,8 @@
* Get rid of our current filedescriptors. AIOD's don't need any
* filedescriptors, except as temporarily inherited from the client.
*/
- mtx_lock(&Giant);
fdfree(td);
- mtx_unlock(&Giant);
/* The daemon resides in its own pgrp. */
MALLOC(newpgrp, struct pgrp *, sizeof(struct pgrp), M_PGRP,
M_WAITOK | M_ZERO);
==== //depot/projects/smpng/sys/modules/acpi/acpi/Makefile#10 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/modules/acpi/acpi/Makefile,v 1.13 2005/10/23 00:22:02 njl Exp $
+# $FreeBSD: src/sys/modules/acpi/acpi/Makefile,v 1.14 2005/10/31 21:40:40 phk Exp $
.PATH: ${.CURDIR}/../../../contrib/dev/acpica \
${.CURDIR}/../../../pci \
@@ -42,7 +42,8 @@
# ACPI hardware drivers, mostly used for mobile systems.
SRCS+= acpi_acad.c acpi_battery.c acpi_cmbat.c acpi_cpu.c
-SRCS+= acpi_ec.c acpi_lid.c acpi_perf.c acpi_smbat.c acpi_throttle.c
+SRCS+= acpi_ec.c acpi_hpet.c acpi_lid.c acpi_perf.c acpi_smbat.c
+SRCS+= acpi_throttle.c
# OSD layer
SRCS+= OsdDebug.c
==== //depot/projects/smpng/sys/netinet6/in6.c#30 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/netinet6/in6.c,v 1.58 2005/10/22 05:07:16 suz Exp $ */
+/* $FreeBSD: src/sys/netinet6/in6.c,v 1.59 2005/10/31 23:06:04 suz Exp $ */
/* $KAME: in6.c,v 1.259 2002/01/21 11:37:50 keiichi Exp $ */
/*-
@@ -641,6 +641,14 @@
*/
if ((error = in6_update_ifa(ifp, ifra, ia, 0)) != 0)
return (error);
+ if ((ia = in6ifa_ifpwithaddr(ifp, &ifra->ifra_addr.sin6_addr))
+ == NULL) {
+ /*
+ * this can happen when the user specify the 0 valid
+ * lifetime.
+ */
+ break;
+ }
/*
* then, make the prefix on-link on the interface.
@@ -693,41 +701,33 @@
return (EINVAL); /* XXX panic here? */
}
}
- if ((ia = in6ifa_ifpwithaddr(ifp, &ifra->ifra_addr.sin6_addr))
- == NULL) {
- /* XXX: this should not happen! */
- log(LOG_ERR, "in6_control: addition succeeded, but"
- " no ifaddr\n");
- } else {
- if ((ia->ia6_flags & IN6_IFF_AUTOCONF) != 0 &&
- ia->ia6_ndpr == NULL) { /* new autoconfed addr */
- ia->ia6_ndpr = pr;
- pr->ndpr_refcnt++;
- /*
- * If this is the first autoconf address from
- * the prefix, create a temporary address
- * as well (when specified).
- */
- if (ip6_use_tempaddr &&
- pr->ndpr_refcnt == 1) {
- int e;
- if ((e = in6_tmpifadd(ia, 1, 0)) != 0) {
- log(LOG_NOTICE, "in6_control: "
- "failed to create a "
- "temporary address, "
- "errno=%d\n", e);
- }
- }
- }
+ /* relate the address to the prefix */
+ if (ia->ia6_ndpr == NULL) {
+ ia->ia6_ndpr = pr;
+ pr->ndpr_refcnt++;
/*
- * this might affect the status of autoconfigured
- * addresses, that is, this address might make
- * other addresses detached.
+ * If this is the first autoconf address from the
+ * prefix, create a temporary address as well
+ * (when required).
*/
- pfxlist_onlink_check();
+ if ((ia->ia6_flags & IN6_IFF_AUTOCONF) &&
+ ip6_use_tempaddr && pr->ndpr_refcnt == 1) {
+ int e;
+ if ((e = in6_tmpifadd(ia, 1, 0)) != 0) {
+ log(LOG_NOTICE, "in6_control: failed "
+ "to create a temporary address, "
+ "errno=%d\n", e);
+ }
+ }
}
+
+ /*
+ * this might affect the status of autoconfigured addresses,
+ * that is, this address might make other addresses detached.
+ */
+ pfxlist_onlink_check();
if (error == 0 && ia)
EVENTHANDLER_INVOKE(ifaddr_event, ifp);
break;
@@ -735,8 +735,6 @@
case SIOCDIFADDR_IN6:
{
- int i = 0;
- struct nd_prefixctl pr0;
struct nd_prefix *pr;
/*
@@ -747,37 +745,12 @@
* and the prefix management. We do this, however, to provide
* as much backward compatibility as possible in terms of
* the ioctl operation.
+ * Note that in6_purgeaddr() will decrement ndpr_refcnt.
*/
- bzero(&pr0, sizeof(pr0));
- pr0.ndpr_ifp = ifp;
- pr0.ndpr_plen = in6_mask2len(&ia->ia_prefixmask.sin6_addr,
- NULL);
- if (pr0.ndpr_plen == 128)
- goto purgeaddr;
- pr0.ndpr_prefix = ia->ia_addr;
- /* apply the mask for safety. */
- for (i = 0; i < 4; i++) {
- pr0.ndpr_prefix.sin6_addr.s6_addr32[i] &=
- ifra->ifra_prefixmask.sin6_addr.s6_addr32[i];
- }
- /*
- * The logic of the following condition is a bit complicated.
- * We expire the prefix when
- * 1. the address obeys autoconfiguration and it is the
- * only owner of the associated prefix, or
- * 2. the address does not obey autoconf and there is no
- * other owner of the prefix.
- */
- if ((pr = nd6_prefix_lookup(&pr0)) != NULL &&
- (((ia->ia6_flags & IN6_IFF_AUTOCONF) != 0 &&
- pr->ndpr_refcnt == 1) ||
- ((ia->ia6_flags & IN6_IFF_AUTOCONF) == 0 &&
- pr->ndpr_refcnt == 0))) {
- pr->ndpr_expire = 1; /* XXX: just for expiration */
- }
-
- purgeaddr:
+ pr = ia->ia6_ndpr;
in6_purgeaddr(&ia->ia_ifa);
+ if (pr && pr->ndpr_refcnt == 0)
+ prelist_remove(pr);
EVENTHANDLER_INVOKE(ifaddr_event, ifp);
break;
}
@@ -1399,21 +1372,24 @@
}
/*
- * When an autoconfigured address is being removed, release the
- * reference to the base prefix. Also, since the release might
- * affect the status of other (detached) addresses, call
- * pfxlist_onlink_check().
+ * Release the reference to the base prefix. There should be a
+ * positive reference.
*/
- if ((oia->ia6_flags & IN6_IFF_AUTOCONF) != 0) {
- if (oia->ia6_ndpr == NULL) {
- nd6log((LOG_NOTICE, "in6_unlink_ifa: autoconf'ed address "
- "%p has no prefix\n", oia));
- } else {
- oia->ia6_ndpr->ndpr_refcnt--;
- oia->ia6_flags &= ~IN6_IFF_AUTOCONF;
- oia->ia6_ndpr = NULL;
- }
+ if (oia->ia6_ndpr == NULL) {
+ nd6log((LOG_NOTICE,
+ "in6_unlink_ifa: autoconf'ed address "
+ "%p has no prefix\n", oia));
+ } else {
+ oia->ia6_ndpr->ndpr_refcnt--;
+ oia->ia6_ndpr = NULL;
+ }
+ /*
+ * Also, if the address being removed is autoconf'ed, call
+ * pfxlist_onlink_check() since the release might affect the status of
+ * other (detached) addresses.
+ */
+ if ((oia->ia6_flags & IN6_IFF_AUTOCONF)) {
pfxlist_onlink_check();
}
==== //depot/projects/smpng/sys/pci/if_vr.c#42 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/pci/if_vr.c,v 1.112 2005/10/27 21:18:37 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/pci/if_vr.c,v 1.113 2005/10/31 21:37:27 jhb Exp $");
/*
* VIA Rhine fast ethernet PCI NIC driver
@@ -655,6 +655,8 @@
mtx_init(&sc->vr_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK,
MTX_DEF);
+ callout_init_mtx(&sc->vr_stat_callout, &sc->vr_mtx, 0);
+
/*
* Map control/status registers.
*/
@@ -755,8 +757,6 @@
goto fail;
}
- callout_handle_init(&sc->vr_stat_ch);
-
/* Call MI attach routine. */
ether_ifattach(ifp, eaddr);
@@ -799,16 +799,14 @@
ether_poll_deregister(ifp);
#endif
- VR_LOCK(sc);
-
- sc->suspended = 1;
-
/* These should only be active if attach succeeded */
if (device_is_attached(dev)) {
+ VR_LOCK(sc);
+ sc->suspended = 1;
vr_stop(sc);
- VR_UNLOCK(sc); /* XXX: Avoid recursive acquire. */
+ VR_UNLOCK(sc);
+ callout_drain(&sc->vr_stat_callout);
ether_ifdetach(ifp);
- VR_LOCK(sc);
}
if (sc->vr_miibus)
device_delete_child(dev, sc->vr_miibus);
@@ -827,7 +825,6 @@
if (sc->vr_ldata)
contigfree(sc->vr_ldata, sizeof(struct vr_list_data), M_DEVBUF);
- VR_UNLOCK(sc);
mtx_destroy(&sc->vr_mtx);
return (0);
@@ -1128,7 +1125,7 @@
struct vr_softc *sc = xsc;
struct mii_data *mii;
- VR_LOCK(sc);
+ VR_LOCK_ASSERT(sc);
if (sc->vr_flags & VR_F_RESTART) {
if_printf(sc->vr_ifp, "restarting\n");
@@ -1140,9 +1137,7 @@
mii = device_get_softc(sc->vr_miibus);
mii_tick(mii);
- sc->vr_stat_ch = timeout(vr_tick, sc, hz);
-
- VR_UNLOCK(sc);
+ callout_reset(&sc->vr_stat_callout, hz, vr_tick, sc);
}
#ifdef DEVICE_POLLING
@@ -1532,7 +1527,7 @@
ifp->if_drv_flags |= IFF_DRV_RUNNING;
ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
- sc->vr_stat_ch = timeout(vr_tick, sc, hz);
+ callout_reset(&sc->vr_stat_callout, hz, vr_tick, sc);
}
/*
@@ -1668,7 +1663,7 @@
ifp = sc->vr_ifp;
ifp->if_timer = 0;
- untimeout(vr_tick, sc, sc->vr_stat_ch);
+ callout_stop(&sc->vr_stat_callout);
ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);
VR_SETBIT16(sc, VR_COMMAND, VR_CMD_STOP);
==== //depot/projects/smpng/sys/pci/if_vrreg.h#11 (text+ko) ====
@@ -29,7 +29,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/pci/if_vrreg.h,v 1.23 2005/10/27 21:18:37 jhb Exp $
+ * $FreeBSD: src/sys/pci/if_vrreg.h,v 1.24 2005/10/31 21:37:27 jhb Exp $
*/
/*
@@ -465,7 +465,7 @@
u_int8_t vr_flags; /* See VR_F_* below */
struct vr_list_data *vr_ldata;
struct vr_chain_data vr_cdata;
- struct callout_handle vr_stat_ch;
+ struct callout vr_stat_callout;
struct mtx vr_mtx;
int suspended; /* if 1, sleeping/detaching */
#ifdef DEVICE_POLLING
==== //depot/projects/smpng/sys/sys/ktrace.h#11 (text+ko) ====
@@ -27,7 +27,7 @@
* SUCH DAMAGE.
*
* @(#)ktrace.h 8.1 (Berkeley) 6/2/93
- * $FreeBSD: src/sys/sys/ktrace.h,v 1.29 2005/01/07 02:29:23 imp Exp $
+ * $FreeBSD: src/sys/sys/ktrace.h,v 1.31 2005/11/01 14:46:37 rwatson Exp $
*/
#ifndef _SYS_KTRACE_H_
@@ -54,7 +54,7 @@
pid_t ktr_pid; /* process id */
char ktr_comm[MAXCOMLEN+1]; /* command name */
struct timeval ktr_time; /* timestamp */
- void *ktr_buffer;
+ intptr_t ktr_tid; /* was ktr_buffer */
};
/*
==== //depot/projects/smpng/sys/sys/signal.h#20 (text+ko) ====
@@ -32,7 +32,7 @@
* SUCH DAMAGE.
*
* @(#)signal.h 8.4 (Berkeley) 5/4/95
- * $FreeBSD: src/sys/sys/signal.h,v 1.49 2005/10/30 02:12:48 davidxu Exp $
+ * $FreeBSD: src/sys/sys/signal.h,v 1.50 2005/11/01 03:14:39 davidxu Exp $
*/
#ifndef _SYS_SIGNAL_H_
@@ -109,7 +109,7 @@
#define SIGUSR2 31 /* user defined signal 2 */
#endif
#if __BSD_VISIBLE
-#define SIGTHR 32 /* Thread interrupt. */
+#define SIGTHR 32 /* reserved by thread library. */
#endif
#define SIGRTMIN 65
==== //depot/projects/smpng/sys/vm/vm_page.c#66 (text+ko) ====
@@ -97,7 +97,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/vm/vm_page.c,v 1.306 2005/10/08 21:03:54 des Exp $");
+__FBSDID("$FreeBSD: src/sys/vm/vm_page.c,v 1.307 2005/11/01 04:30:21 alc Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -1677,6 +1677,8 @@
mnew->valid = VM_PAGE_BITS_ALL;
vm_page_dirty(mnew);
vm_page_flag_clear(mnew, PG_BUSY);
+ mnew->wire_count = m->wire_count - m->cow;
+ m->wire_count = m->cow;
}
}
More information about the p4-projects
mailing list