svn commit: r224586 - in projects/hid: cddl/contrib/opensolaris/cmd/ztest cddl/contrib/opensolaris/lib/libzfs/common contrib/bsnmp/snmp_usm contrib/gcc/cp contrib/top lib/libmemstat libexec/tftpd r...

Alexander Motin mav at FreeBSD.org
Tue Aug 2 00:46:26 UTC 2011


Author: mav
Date: Tue Aug  2 00:46:25 2011
New Revision: 224586
URL: http://svn.freebsd.org/changeset/base/224586

Log:
  MFC

Modified:
  projects/hid/cddl/contrib/opensolaris/cmd/ztest/ztest.c
  projects/hid/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
  projects/hid/contrib/bsnmp/snmp_usm/snmp_usm.3
  projects/hid/contrib/gcc/cp/ChangeLog
  projects/hid/contrib/gcc/cp/decl.c
  projects/hid/lib/libmemstat/libmemstat.3
  projects/hid/lib/libmemstat/memstat.c
  projects/hid/lib/libmemstat/memstat.h
  projects/hid/lib/libmemstat/memstat_internal.h
  projects/hid/lib/libmemstat/memstat_malloc.c
  projects/hid/lib/libmemstat/memstat_uma.c
  projects/hid/libexec/tftpd/tftp-transfer.c
  projects/hid/libexec/tftpd/tftpd.8
  projects/hid/release/doc/en_US.ISO8859-1/hardware/article.sgml
  projects/hid/share/man/man4/hptiop.4
  projects/hid/share/man/man4/pcm.4
  projects/hid/share/man/man4/smp.4
  projects/hid/share/man/man9/taskqueue.9
  projects/hid/share/man/man9/vfs_getopt.9
  projects/hid/sys/amd64/amd64/machdep.c
  projects/hid/sys/cam/ata/ata_da.c
  projects/hid/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c
  projects/hid/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c
  projects/hid/sys/compat/linprocfs/linprocfs.c
  projects/hid/sys/dev/ath/ath_dfs/null/dfs_null.c
  projects/hid/sys/dev/ath/ath_hal/ah.h
  projects/hid/sys/dev/ath/ath_hal/ah_desc.h
  projects/hid/sys/dev/ath/ath_hal/ah_eeprom.h
  projects/hid/sys/dev/ath/ath_hal/ah_eeprom_9287.c
  projects/hid/sys/dev/ath/ath_hal/ah_eeprom_v14.c
  projects/hid/sys/dev/ath/ath_hal/ah_eeprom_v14.h
  projects/hid/sys/dev/ath/ath_hal/ah_eeprom_v4k.c
  projects/hid/sys/dev/ath/ath_hal/ar5212/ar5212_ani.c
  projects/hid/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c
  projects/hid/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c
  projects/hid/sys/dev/ath/ath_hal/ar9002/ar9280.c
  projects/hid/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c
  projects/hid/sys/dev/ath/if_ath.c
  projects/hid/sys/dev/ath/if_athvar.h
  projects/hid/sys/dev/hptiop/hptiop.c
  projects/hid/sys/fs/nfsclient/nfs_clvnops.c
  projects/hid/sys/fs/nfsserver/nfs_nfsdserv.c
  projects/hid/sys/i386/i386/machdep.c
  projects/hid/sys/kern/kern_conf.c
  projects/hid/sys/kern/kern_linker.c
  projects/hid/sys/kern/kern_lock.c
  projects/hid/sys/kern/subr_smp.c
  projects/hid/sys/net/if_lagg.c
  projects/hid/sys/netinet/ip_divert.c
  projects/hid/sys/pc98/pc98/machdep.c
  projects/hid/sys/powerpc/booke/locore.S
  projects/hid/sys/powerpc/conf/MPC85XX
  projects/hid/sys/powerpc/mpc85xx/atpic.c
  projects/hid/sys/vm/device_pager.c
  projects/hid/sys/vm/swap_pager.c
  projects/hid/sys/vm/swap_pager.h
  projects/hid/tools/tools/sysdoc/tunables.mdoc
  projects/hid/usr.bin/cpio/Makefile
  projects/hid/usr.bin/tar/Makefile
  projects/hid/usr.bin/unzip/unzip.1
  projects/hid/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.1
  projects/hid/usr.sbin/pw/pw_user.c
Directory Properties:
  projects/hid/   (props changed)
  projects/hid/cddl/contrib/opensolaris/   (props changed)
  projects/hid/contrib/bind9/   (props changed)
  projects/hid/contrib/binutils/   (props changed)
  projects/hid/contrib/bzip2/   (props changed)
  projects/hid/contrib/compiler-rt/   (props changed)
  projects/hid/contrib/dialog/   (props changed)
  projects/hid/contrib/ee/   (props changed)
  projects/hid/contrib/expat/   (props changed)
  projects/hid/contrib/file/   (props changed)
  projects/hid/contrib/gcc/   (props changed)
  projects/hid/contrib/gdb/   (props changed)
  projects/hid/contrib/gdtoa/   (props changed)
  projects/hid/contrib/gnu-sort/   (props changed)
  projects/hid/contrib/groff/   (props changed)
  projects/hid/contrib/less/   (props changed)
  projects/hid/contrib/libpcap/   (props changed)
  projects/hid/contrib/libstdc++/   (props changed)
  projects/hid/contrib/llvm/   (props changed)
  projects/hid/contrib/llvm/tools/clang/   (props changed)
  projects/hid/contrib/ncurses/   (props changed)
  projects/hid/contrib/netcat/   (props changed)
  projects/hid/contrib/ntp/   (props changed)
  projects/hid/contrib/one-true-awk/   (props changed)
  projects/hid/contrib/openbsm/   (props changed)
  projects/hid/contrib/openpam/   (props changed)
  projects/hid/contrib/pf/   (props changed)
  projects/hid/contrib/sendmail/   (props changed)
  projects/hid/contrib/tcpdump/   (props changed)
  projects/hid/contrib/tcsh/   (props changed)
  projects/hid/contrib/tnftp/   (props changed)
  projects/hid/contrib/top/   (props changed)
  projects/hid/contrib/top/install-sh   (props changed)
  projects/hid/contrib/tzcode/stdtime/   (props changed)
  projects/hid/contrib/tzcode/zic/   (props changed)
  projects/hid/contrib/tzdata/   (props changed)
  projects/hid/contrib/wpa/   (props changed)
  projects/hid/contrib/xz/   (props changed)
  projects/hid/crypto/openssh/   (props changed)
  projects/hid/crypto/openssl/   (props changed)
  projects/hid/gnu/lib/   (props changed)
  projects/hid/gnu/usr.bin/binutils/   (props changed)
  projects/hid/gnu/usr.bin/cc/cc_tools/   (props changed)
  projects/hid/gnu/usr.bin/gdb/   (props changed)
  projects/hid/lib/libc/   (props changed)
  projects/hid/lib/libc/stdtime/   (props changed)
  projects/hid/lib/libutil/   (props changed)
  projects/hid/lib/libz/   (props changed)
  projects/hid/sbin/   (props changed)
  projects/hid/sbin/ipfw/   (props changed)
  projects/hid/share/mk/bsd.arch.inc.mk   (props changed)
  projects/hid/share/zoneinfo/   (props changed)
  projects/hid/sys/   (props changed)
  projects/hid/sys/amd64/include/xen/   (props changed)
  projects/hid/sys/boot/   (props changed)
  projects/hid/sys/boot/i386/efi/   (props changed)
  projects/hid/sys/boot/ia64/efi/   (props changed)
  projects/hid/sys/boot/ia64/ski/   (props changed)
  projects/hid/sys/boot/powerpc/boot1.chrp/   (props changed)
  projects/hid/sys/boot/powerpc/ofw/   (props changed)
  projects/hid/sys/cddl/contrib/opensolaris/   (props changed)
  projects/hid/sys/conf/   (props changed)
  projects/hid/sys/contrib/dev/acpica/   (props changed)
  projects/hid/sys/contrib/octeon-sdk/   (props changed)
  projects/hid/sys/contrib/pf/   (props changed)
  projects/hid/sys/contrib/x86emu/   (props changed)
  projects/hid/usr.bin/calendar/   (props changed)
  projects/hid/usr.bin/csup/   (props changed)
  projects/hid/usr.bin/procstat/   (props changed)
  projects/hid/usr.sbin/ndiscvt/   (props changed)
  projects/hid/usr.sbin/rtadvctl/   (props changed)
  projects/hid/usr.sbin/rtadvd/   (props changed)
  projects/hid/usr.sbin/zic/   (props changed)

Modified: projects/hid/cddl/contrib/opensolaris/cmd/ztest/ztest.c
==============================================================================
--- projects/hid/cddl/contrib/opensolaris/cmd/ztest/ztest.c	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/cddl/contrib/opensolaris/cmd/ztest/ztest.c	Tue Aug  2 00:46:25 2011	(r224586)
@@ -205,6 +205,7 @@ typedef struct ztest_od {
  */
 typedef struct ztest_ds {
 	objset_t	*zd_os;
+	rwlock_t	zd_zilog_lock;
 	zilog_t		*zd_zilog;
 	uint64_t	zd_seq;
 	ztest_od_t	*zd_od;		/* debugging aid */
@@ -238,6 +239,7 @@ ztest_func_t ztest_dmu_commit_callbacks;
 ztest_func_t ztest_zap;
 ztest_func_t ztest_zap_parallel;
 ztest_func_t ztest_zil_commit;
+ztest_func_t ztest_zil_remount;
 ztest_func_t ztest_dmu_read_write_zcopy;
 ztest_func_t ztest_dmu_objset_create_destroy;
 ztest_func_t ztest_dmu_prealloc;
@@ -273,6 +275,7 @@ ztest_info_t ztest_info[] = {
 	{ ztest_zap_parallel,			100,	&zopt_always	},
 	{ ztest_split_pool,			1,	&zopt_always	},
 	{ ztest_zil_commit,			1,	&zopt_incessant	},
+	{ ztest_zil_remount,			1,	&zopt_sometimes	},
 	{ ztest_dmu_read_write_zcopy,		1,	&zopt_often	},
 	{ ztest_dmu_objset_create_destroy,	1,	&zopt_often	},
 	{ ztest_dsl_prop_get_set,		1,	&zopt_often	},
@@ -986,6 +989,7 @@ ztest_zd_init(ztest_ds_t *zd, objset_t *
 	zd->zd_seq = 0;
 	dmu_objset_name(os, zd->zd_name);
 
+	VERIFY(rwlock_init(&zd->zd_zilog_lock, USYNC_THREAD, NULL) == 0);
 	VERIFY(_mutex_init(&zd->zd_dirobj_lock, USYNC_THREAD, NULL) == 0);
 
 	for (int l = 0; l < ZTEST_OBJECT_LOCKS; l++)
@@ -1965,6 +1969,8 @@ ztest_io(ztest_ds_t *zd, uint64_t object
 	if (ztest_random(2) == 0)
 		io_type = ZTEST_IO_WRITE_TAG;
 
+	(void) rw_rdlock(&zd->zd_zilog_lock);
+
 	switch (io_type) {
 
 	case ZTEST_IO_WRITE_TAG:
@@ -2000,6 +2006,8 @@ ztest_io(ztest_ds_t *zd, uint64_t object
 		break;
 	}
 
+	(void) rw_unlock(&zd->zd_zilog_lock);
+
 	umem_free(data, blocksize);
 }
 
@@ -2054,6 +2062,8 @@ ztest_zil_commit(ztest_ds_t *zd, uint64_
 {
 	zilog_t *zilog = zd->zd_zilog;
 
+	(void) rw_rdlock(&zd->zd_zilog_lock);
+
 	zil_commit(zilog, ztest_random(ZTEST_OBJECTS));
 
 	/*
@@ -2065,6 +2075,31 @@ ztest_zil_commit(ztest_ds_t *zd, uint64_
 	ASSERT(zd->zd_seq <= zilog->zl_commit_lr_seq);
 	zd->zd_seq = zilog->zl_commit_lr_seq;
 	mutex_exit(&zilog->zl_lock);
+
+	(void) rw_unlock(&zd->zd_zilog_lock);
+}
+
+/*
+ * This function is designed to simulate the operations that occur during a
+ * mount/unmount operation.  We hold the dataset across these operations in an
+ * attempt to expose any implicit assumptions about ZIL management.
+ */
+/* ARGSUSED */
+void
+ztest_zil_remount(ztest_ds_t *zd, uint64_t id)
+{
+	objset_t *os = zd->zd_os;
+
+	(void) rw_wrlock(&zd->zd_zilog_lock);
+
+	/* zfsvfs_teardown() */
+	zil_close(zd->zd_zilog);
+
+	/* zfsvfs_setup() */
+	VERIFY(zil_open(os, ztest_get_data) == zd->zd_zilog);
+	zil_replay(os, zd, ztest_replay_vector);
+
+	(void) rw_unlock(&zd->zd_zilog_lock);
 }
 
 /*

Modified: projects/hid/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
==============================================================================
--- projects/hid/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c	Tue Aug  2 00:46:25 2011	(r224586)
@@ -4289,7 +4289,8 @@ zfs_jail(zfs_handle_t *zhp, int jailid, 
 	libzfs_handle_t *hdl = zhp->zfs_hdl;
 	zfs_cmd_t zc = { 0 };
 	char errbuf[1024];
-	int cmd, ret;
+	unsigned long cmd;
+	int ret;
 
 	if (attach) {
 		(void) snprintf(errbuf, sizeof (errbuf),

Modified: projects/hid/contrib/bsnmp/snmp_usm/snmp_usm.3
==============================================================================
--- projects/hid/contrib/bsnmp/snmp_usm/snmp_usm.3	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/contrib/bsnmp/snmp_usm/snmp_usm.3	Tue Aug  2 00:46:25 2011	(r224586)
@@ -115,7 +115,7 @@ allowed.
 This column is used to create new USM user entries or delete existing ones from
 the table.
 .El
-.EL
+.El
 .Sh FILES
 .Bl -tag -width "XXXXXXXXX"
 .It Pa /usr/share/snmp/defs/usm_tree.def

Modified: projects/hid/contrib/gcc/cp/ChangeLog
==============================================================================
--- projects/hid/contrib/gcc/cp/ChangeLog	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/contrib/gcc/cp/ChangeLog	Tue Aug  2 00:46:25 2011	(r224586)
@@ -1,3 +1,9 @@
+2007-09-29  Jason Merrill  <jason at redhat.com>
+
+	PR c++/33094
+	* decl.c (make_rtl_for_nonlocal_decl): It's ok for a member
+	constant to not have DECL_EXTERNAL if it's file-local.
+
 2007-08-24  Jakub Jelinek  <jakub at redhat.com>
 
 	PR c++/31941

Modified: projects/hid/contrib/gcc/cp/decl.c
==============================================================================
--- projects/hid/contrib/gcc/cp/decl.c	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/contrib/gcc/cp/decl.c	Tue Aug  2 00:46:25 2011	(r224586)
@@ -4968,7 +4968,7 @@ make_rtl_for_nonlocal_decl (tree decl, t
       /* An in-class declaration of a static data member should be
 	 external; it is only a declaration, and not a definition.  */
       if (init == NULL_TREE)
-	gcc_assert (DECL_EXTERNAL (decl));
+	gcc_assert (DECL_EXTERNAL (decl) || !TREE_PUBLIC (decl));
     }
 
   /* We don't create any RTL for local variables.  */

Modified: projects/hid/lib/libmemstat/libmemstat.3
==============================================================================
--- projects/hid/lib/libmemstat/libmemstat.3	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/lib/libmemstat/libmemstat.3	Tue Aug  2 00:46:25 2011	(r224586)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd June 27, 2005
+.Dd July 21, 2011
 .Dt LIBMEMSTAT 3
 .Os
 .Sh NAME
@@ -412,10 +412,6 @@ values of
 .Er EACCES
 or
 .Er EPERM .
-.It Dv MEMSTAT_ERROR_TOOMANYCPUS
-Returned if the compile-time limit on the number of CPUs in
-.Nm
-is lower than the number of CPUs returned by a statistics data source.
 .It Dv MEMSTAT_ERROR_DATAERROR
 Returned if
 .Nm

Modified: projects/hid/lib/libmemstat/memstat.c
==============================================================================
--- projects/hid/lib/libmemstat/memstat.c	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/lib/libmemstat/memstat.c	Tue Aug  2 00:46:25 2011	(r224586)
@@ -49,8 +49,6 @@ memstat_strerror(int error)
 		return ("Version mismatch");
 	case MEMSTAT_ERROR_PERMISSION:
 		return ("Permission denied");
-	case MEMSTAT_ERROR_TOOMANYCPUS:
-		return ("Too many CPUs");
 	case MEMSTAT_ERROR_DATAERROR:
 		return ("Data format error");
 	case MEMSTAT_ERROR_KVM:
@@ -99,6 +97,8 @@ _memstat_mtl_empty(struct memory_type_li
 	struct memory_type *mtp;
 
 	while ((mtp = LIST_FIRST(&list->mtl_list))) {
+		free(mtp->mt_percpu_alloc);
+		free(mtp->mt_percpu_cache);
 		LIST_REMOVE(mtp, mt_list);
 		free(mtp);
 	}
@@ -147,7 +147,7 @@ memstat_mtl_find(struct memory_type_list
  */
 struct memory_type *
 _memstat_mt_allocate(struct memory_type_list *list, int allocator,
-    const char *name)
+    const char *name, int maxcpus)
 {
 	struct memory_type *mtp;
 
@@ -158,6 +158,10 @@ _memstat_mt_allocate(struct memory_type_
 	bzero(mtp, sizeof(*mtp));
 
 	mtp->mt_allocator = allocator;
+	mtp->mt_percpu_alloc = malloc(sizeof(struct mt_percpu_alloc_s) *
+	    maxcpus);
+	mtp->mt_percpu_cache = malloc(sizeof(struct mt_percpu_cache_s) *
+	    maxcpus);
 	strlcpy(mtp->mt_name, name, MEMTYPE_MAXNAME);
 	LIST_INSERT_HEAD(&list->mtl_list, mtp, mt_list);
 	return (mtp);
@@ -171,7 +175,7 @@ _memstat_mt_allocate(struct memory_type_
  * libmemstat(3) internal function.
  */
 void
-_memstat_mt_reset_stats(struct memory_type *mtp)
+_memstat_mt_reset_stats(struct memory_type *mtp, int maxcpus)
 {
 	int i;
 
@@ -193,7 +197,7 @@ _memstat_mt_reset_stats(struct memory_ty
 	mtp->mt_zonefree = 0;
 	mtp->mt_kegfree = 0;
 
-	for (i = 0; i < MEMSTAT_MAXCPU; i++) {
+	for (i = 0; i < maxcpus; i++) {
 		mtp->mt_percpu_alloc[i].mtp_memalloced = 0;
 		mtp->mt_percpu_alloc[i].mtp_memfreed = 0;
 		mtp->mt_percpu_alloc[i].mtp_numallocs = 0;

Modified: projects/hid/lib/libmemstat/memstat.h
==============================================================================
--- projects/hid/lib/libmemstat/memstat.h	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/lib/libmemstat/memstat.h	Tue Aug  2 00:46:25 2011	(r224586)
@@ -30,12 +30,6 @@
 #define	_MEMSTAT_H_
 
 /*
- * Number of CPU slots in library-internal data structures.  This should be
- * at least the value of MAXCPU from param.h.
- */
-#define	MEMSTAT_MAXCPU	32
-
-/*
  * Amount of caller data to maintain for each caller data slot.  Applications
  * must not request more than this number of caller save data, or risk
  * corrupting internal libmemstat(3) data structures.  A compile time check
@@ -70,7 +64,6 @@
 #define	MEMSTAT_ERROR_NOMEMORY		1	/* Out of memory. */
 #define	MEMSTAT_ERROR_VERSION		2	/* Unsupported version. */
 #define	MEMSTAT_ERROR_PERMISSION	3	/* Permission denied. */
-#define	MEMSTAT_ERROR_TOOMANYCPUS	4	/* Too many CPUs. */
 #define	MEMSTAT_ERROR_DATAERROR		5	/* Error in stat data. */
 #define	MEMSTAT_ERROR_KVM		6	/* See kvm_geterr() for err. */
 #define	MEMSTAT_ERROR_KVM_NOSYMBOL	7	/* Symbol not available. */

Modified: projects/hid/lib/libmemstat/memstat_internal.h
==============================================================================
--- projects/hid/lib/libmemstat/memstat_internal.h	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/lib/libmemstat/memstat_internal.h	Tue Aug  2 00:46:25 2011	(r224586)
@@ -92,7 +92,7 @@ struct memory_type {
 	 * Per-CPU measurements fall into two categories: per-CPU allocation,
 	 * and per-CPU cache state.
 	 */
-	struct {
+	struct mt_percpu_alloc_s {
 		uint64_t	 mtp_memalloced;/* Per-CPU mt_memalloced. */
 		uint64_t	 mtp_memfreed;	/* Per-CPU mt_memfreed. */
 		uint64_t	 mtp_numallocs;	/* Per-CPU mt_numallocs. */
@@ -100,11 +100,11 @@ struct memory_type {
 		uint64_t	 mtp_sizemask;	/* Per-CPU mt_sizemask. */
 		void		*mtp_caller_pointer[MEMSTAT_MAXCALLER];
 		uint64_t	 mtp_caller_uint64[MEMSTAT_MAXCALLER];
-	}	mt_percpu_alloc[MEMSTAT_MAXCPU];
+	}	*mt_percpu_alloc;
 
-	struct {
+	struct mt_percpu_cache_s {
 		uint64_t	 mtp_free;	/* Per-CPU cache free items. */
-	}	mt_percpu_cache[MEMSTAT_MAXCPU];
+	}	*mt_percpu_cache;
 
 	LIST_ENTRY(memory_type)	mt_list;	/* List of types. */
 };
@@ -119,7 +119,8 @@ struct memory_type_list {
 
 void			 _memstat_mtl_empty(struct memory_type_list *list);
 struct memory_type	*_memstat_mt_allocate(struct memory_type_list *list,
-			    int allocator, const char *name);
-void			 _memstat_mt_reset_stats(struct memory_type *mtp);
+			    int allocator, const char *name, int maxcpus);
+void			 _memstat_mt_reset_stats(struct memory_type *mtp,
+			    int maxcpus);
 
 #endif /* !_MEMSTAT_INTERNAL_H_ */

Modified: projects/hid/lib/libmemstat/memstat_malloc.c
==============================================================================
--- projects/hid/lib/libmemstat/memstat_malloc.c	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/lib/libmemstat/memstat_malloc.c	Tue Aug  2 00:46:25 2011	(r224586)
@@ -96,11 +96,6 @@ retry:
 		return (-1);
 	}
 
-	if (maxcpus > MEMSTAT_MAXCPU) {
-		list->mtl_error = MEMSTAT_ERROR_TOOMANYCPUS;
-		return (-1);
-	}
-
 	size = sizeof(count);
 	if (sysctlbyname("kern.malloc_count", &count, &size, NULL, 0) < 0) {
 		if (errno == EACCES || errno == EPERM)
@@ -160,12 +155,6 @@ retry:
 		return (-1);
 	}
 
-	if (mtshp->mtsh_maxcpus > MEMSTAT_MAXCPU) {
-		list->mtl_error = MEMSTAT_ERROR_TOOMANYCPUS;
-		free(buffer);
-		return (-1);
-	}
-
 	/*
 	 * For the remainder of this function, we are quite trusting about
 	 * the layout of structures and sizes, since we've determined we have
@@ -184,7 +173,7 @@ retry:
 			mtp = NULL;
 		if (mtp == NULL)
 			mtp = _memstat_mt_allocate(list, ALLOCATOR_MALLOC,
-			    mthp->mth_name);
+			    mthp->mth_name, maxcpus);
 		if (mtp == NULL) {
 			_memstat_mtl_empty(list);
 			free(buffer);
@@ -195,7 +184,7 @@ retry:
 		/*
 		 * Reset the statistics on a current node.
 		 */
-		_memstat_mt_reset_stats(mtp);
+		_memstat_mt_reset_stats(mtp, maxcpus);
 
 		for (j = 0; j < maxcpus; j++) {
 			mtsp = (struct malloc_type_stats *)p;
@@ -295,7 +284,7 @@ memstat_kvm_malloc(struct memory_type_li
 	void *kmemstatistics;
 	int hint_dontsearch, j, mp_maxcpus, ret;
 	char name[MEMTYPE_MAXNAME];
-	struct malloc_type_stats mts[MEMSTAT_MAXCPU], *mtsp;
+	struct malloc_type_stats *mts, *mtsp;
 	struct malloc_type_internal *mtip;
 	struct malloc_type type, *typep;
 	kvm_t *kvm;
@@ -322,11 +311,6 @@ memstat_kvm_malloc(struct memory_type_li
 		return (-1);
 	}
 
-	if (mp_maxcpus > MEMSTAT_MAXCPU) {
-		list->mtl_error = MEMSTAT_ERROR_TOOMANYCPUS;
-		return (-1);
-	}
-
 	ret = kread_symbol(kvm, X_KMEMSTATISTICS, &kmemstatistics,
 	    sizeof(kmemstatistics), 0);
 	if (ret != 0) {
@@ -334,10 +318,17 @@ memstat_kvm_malloc(struct memory_type_li
 		return (-1);
 	}
 
+	mts = malloc(sizeof(struct malloc_type_stats) * mp_maxcpus);
+	if (mts == NULL) {
+		list->mtl_error = MEMSTAT_ERROR_NOMEMORY;
+		return (-1);
+	}
+
 	for (typep = kmemstatistics; typep != NULL; typep = type.ks_next) {
 		ret = kread(kvm, typep, &type, sizeof(type), 0);
 		if (ret != 0) {
 			_memstat_mtl_empty(list);
+			free(mts);
 			list->mtl_error = ret;
 			return (-1);
 		}
@@ -345,6 +336,7 @@ memstat_kvm_malloc(struct memory_type_li
 		    MEMTYPE_MAXNAME);
 		if (ret != 0) {
 			_memstat_mtl_empty(list);
+			free(mts);
 			list->mtl_error = ret;
 			return (-1);
 		}
@@ -358,6 +350,7 @@ memstat_kvm_malloc(struct memory_type_li
 		    sizeof(struct malloc_type_stats), 0);
 		if (ret != 0) {
 			_memstat_mtl_empty(list);
+			free(mts);
 			list->mtl_error = ret;
 			return (-1);
 		}
@@ -368,9 +361,10 @@ memstat_kvm_malloc(struct memory_type_li
 			mtp = NULL;
 		if (mtp == NULL)
 			mtp = _memstat_mt_allocate(list, ALLOCATOR_MALLOC,
-			    name);
+			    name, mp_maxcpus);
 		if (mtp == NULL) {
 			_memstat_mtl_empty(list);
+			free(mts);
 			list->mtl_error = MEMSTAT_ERROR_NOMEMORY;
 			return (-1);
 		}
@@ -379,7 +373,7 @@ memstat_kvm_malloc(struct memory_type_li
 		 * This logic is replicated from kern_malloc.c, and should
 		 * be kept in sync.
 		 */
-		_memstat_mt_reset_stats(mtp);
+		_memstat_mt_reset_stats(mtp, mp_maxcpus);
 		for (j = 0; j < mp_maxcpus; j++) {
 			mtsp = &mts[j];
 			mtp->mt_memalloced += mtsp->mts_memalloced;

Modified: projects/hid/lib/libmemstat/memstat_uma.c
==============================================================================
--- projects/hid/lib/libmemstat/memstat_uma.c	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/lib/libmemstat/memstat_uma.c	Tue Aug  2 00:46:25 2011	(r224586)
@@ -79,7 +79,7 @@ memstat_sysctl_uma(struct memory_type_li
 	struct uma_type_header *uthp;
 	struct uma_percpu_stat *upsp;
 	struct memory_type *mtp;
-	int count, hint_dontsearch, i, j, maxcpus;
+	int count, hint_dontsearch, i, j, maxcpus, maxid;
 	char *buffer, *p;
 	size_t size;
 
@@ -93,24 +93,19 @@ memstat_sysctl_uma(struct memory_type_li
 	 * from the header.
 	 */
 retry:
-	size = sizeof(maxcpus);
-	if (sysctlbyname("kern.smp.maxcpus", &maxcpus, &size, NULL, 0) < 0) {
+	size = sizeof(maxid);
+	if (sysctlbyname("kern.smp.maxid", &maxid, &size, NULL, 0) < 0) {
 		if (errno == EACCES || errno == EPERM)
 			list->mtl_error = MEMSTAT_ERROR_PERMISSION;
 		else
 			list->mtl_error = MEMSTAT_ERROR_DATAERROR;
 		return (-1);
 	}
-	if (size != sizeof(maxcpus)) {
+	if (size != sizeof(maxid)) {
 		list->mtl_error = MEMSTAT_ERROR_DATAERROR;
 		return (-1);
 	}
 
-	if (maxcpus > MEMSTAT_MAXCPU) {
-		list->mtl_error = MEMSTAT_ERROR_TOOMANYCPUS;
-		return (-1);
-	}
-
 	size = sizeof(count);
 	if (sysctlbyname("vm.zone_count", &count, &size, NULL, 0) < 0) {
 		if (errno == EACCES || errno == EPERM)
@@ -125,7 +120,7 @@ retry:
 	}
 
 	size = sizeof(*uthp) + count * (sizeof(*uthp) + sizeof(*upsp) *
-	    maxcpus);
+	    (maxid + 1));
 
 	buffer = malloc(size);
 	if (buffer == NULL) {
@@ -170,12 +165,6 @@ retry:
 		return (-1);
 	}
 
-	if (ushp->ush_maxcpus > MEMSTAT_MAXCPU) {
-		list->mtl_error = MEMSTAT_ERROR_TOOMANYCPUS;
-		free(buffer);
-		return (-1);
-	}
-
 	/*
 	 * For the remainder of this function, we are quite trusting about
 	 * the layout of structures and sizes, since we've determined we have
@@ -194,7 +183,7 @@ retry:
 			mtp = NULL;
 		if (mtp == NULL)
 			mtp = _memstat_mt_allocate(list, ALLOCATOR_UMA,
-			    uthp->uth_name);
+			    uthp->uth_name, maxid + 1);
 		if (mtp == NULL) {
 			_memstat_mtl_empty(list);
 			free(buffer);
@@ -205,7 +194,7 @@ retry:
 		/*
 		 * Reset the statistics on a current node.
 		 */
-		_memstat_mt_reset_stats(mtp);
+		_memstat_mt_reset_stats(mtp, maxid + 1);
 
 		mtp->mt_numallocs = uthp->uth_allocs;
 		mtp->mt_numfrees = uthp->uth_frees;
@@ -398,7 +387,7 @@ memstat_kvm_uma(struct memory_type_list 
 				mtp = NULL;
 			if (mtp == NULL)
 				mtp = _memstat_mt_allocate(list, ALLOCATOR_UMA,
-				    name);
+				    name, mp_maxid + 1);
 			if (mtp == NULL) {
 				free(ucp_array);
 				_memstat_mtl_empty(list);
@@ -408,7 +397,7 @@ memstat_kvm_uma(struct memory_type_list 
 			/*
 			 * Reset the statistics on a current node.
 			 */
-			_memstat_mt_reset_stats(mtp);
+			_memstat_mt_reset_stats(mtp, mp_maxid + 1);
 			mtp->mt_numallocs = uz.uz_allocs;
 			mtp->mt_numfrees = uz.uz_frees;
 			mtp->mt_failures = uz.uz_fails;

Modified: projects/hid/libexec/tftpd/tftp-transfer.c
==============================================================================
--- projects/hid/libexec/tftpd/tftp-transfer.c	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/libexec/tftpd/tftp-transfer.c	Tue Aug  2 00:46:25 2011	(r224586)
@@ -129,14 +129,16 @@ tftp_send(int peer, uint16_t *block, str
 		(*block)++;
 		if (oldblock > *block) {
 			if (options[OPT_ROLLOVER].o_request == NULL) {
-				tftp_log(LOG_ERR,
-				    "Block rollover but not allowed.");
-				send_error(peer, EBADOP);
-				gettimeofday(&(ts->tstop), NULL);
-				return;
+				/*
+				 * "rollover" option not specified in
+				 * tftp client.  Default to rolling block
+				 * counter to 0.
+				 */
+				*block = 0;
+			} else {
+				*block = atoi(options[OPT_ROLLOVER].o_request);
 			}
 
-			*block = atoi(options[OPT_ROLLOVER].o_request);
 			ts->rollovers++;
 		}
 		gettimeofday(&(ts->tstop), NULL);
@@ -196,14 +198,16 @@ tftp_receive(int peer, uint16_t *block, 
 		(*block)++;
 		if (oldblock > *block) {
 			if (options[OPT_ROLLOVER].o_request == NULL) {
-				tftp_log(LOG_ERR,
-				    "Block rollover but not allowed.");
-				send_error(peer, EBADOP);
-				gettimeofday(&(ts->tstop), NULL);
-				return;
+				/*
+				 * "rollover" option not specified in
+				 * tftp client.  Default to rolling block
+				 * counter to 0.
+				 */
+				*block = 0;
+			} else {
+				*block = atoi(options[OPT_ROLLOVER].o_request);
 			}
 
-			*block = atoi(options[OPT_ROLLOVER].o_request);
 			ts->rollovers++;
 		}
 

Modified: projects/hid/libexec/tftpd/tftpd.8
==============================================================================
--- projects/hid/libexec/tftpd/tftpd.8	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/libexec/tftpd/tftpd.8	Tue Aug  2 00:46:25 2011	(r224586)
@@ -300,8 +300,15 @@ and
 .Xr tftp 1
 code to support RFC2348.
 .Sh NOTES
-Files larger than 33488896 octets (65535 blocks) cannot be transferred
-without client and server supporting the TFTP blocksize option (RFC2348),
+Files larger than 33,553,919 octets (65535 blocks, last one <512
+octets) cannot be correctly transferred without client and server
+supporting blocksize negotiation (RFCs 2347 and 2348),
 or the non-standard TFTP rollover option.
+As a kludge,
+.Nm
+accepts a sequence of block number which wrap to zero after 65535,
+even if the rollover option is not specified.
 .Pp
-Many tftp clients will not transfer files over 16744448 octets (32767 blocks).
+Many tftp clients will not transfer files over 16,776,703 octets
+(32767 blocks), as they incorrectly count the block number using
+a signed rather than unsigned 16-bit integer.

Modified: projects/hid/release/doc/en_US.ISO8859-1/hardware/article.sgml
==============================================================================
--- projects/hid/release/doc/en_US.ISO8859-1/hardware/article.sgml	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/release/doc/en_US.ISO8859-1/hardware/article.sgml	Tue Aug  2 00:46:25 2011	(r224586)
@@ -195,11 +195,9 @@
 	resources between logical processors within the same CPU.
 	Because this naive scheduling can result in suboptimal
 	performance, under certain circumstances it may be useful to
-	disable the logical processors with the the
-	<varname>machdep.hlt_logical_cpus</varname> sysctl variable.
-	It is also possible to halt any CPU in the idle loop with the
-	<varname>machdep.hlt_cpus</varname> sysctl variable.  The
-	&man.smp.4; manual page has more details.</para>
+	disable the logical processors with the
+	<varname>machdep.hyperthreading_allowed</varname> tunable.
+	The &man.smp.4; manual page has more details.</para>
 
       <para>&os; will take advantage of Physical Address Extensions
 	(PAE) support on CPUs that support this feature.  A kernel

Modified: projects/hid/share/man/man4/hptiop.4
==============================================================================
--- projects/hid/share/man/man4/hptiop.4	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/share/man/man4/hptiop.4	Tue Aug  2 00:46:25 2011	(r224586)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 12, 2007
+.Dd August 1, 2011
 .Dt HPTIOP 4
 .Os
 .Sh NAME
@@ -60,6 +60,10 @@ driver supports the following SAS and SA
 .It
 HighPoint RocketRAID 4320
 .It
+HighPoint RocketRAID 4321
+.It
+HighPoint RocketRAID 4322
+.It
 HighPoint RocketRAID 3220
 .It
 HighPoint RocketRAID 3320

Modified: projects/hid/share/man/man4/pcm.4
==============================================================================
--- projects/hid/share/man/man4/pcm.4	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/share/man/man4/pcm.4	Tue Aug  2 00:46:25 2011	(r224586)
@@ -1,5 +1,5 @@
 .\"
-.\" Copyright (c) 1998, Luigi Rizzo
+.\" Copyright (c) 2009-2011 Joel Dahl <joel at FreeBSD.org>
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 13, 2009
+.Dd July 31, 2011
 .Dt SOUND 4
 .Os
 .Sh NAME
@@ -41,7 +41,122 @@ kernel configuration file:
 .Bd -ragged -offset indent
 .Cd "device sound"
 .Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver is the main component of the
+.Fx
+sound system.
+It works in conjunction with a bridge device driver on supported devices
+and provides PCM audio record and playback once it attaches.
+Each bridge device driver supports a specific set of audio chipsets and
+needs to be enabled together with the
+.Nm
+driver.
+PCI and ISA PnP audio devices identify themselves so users are usually not
+required to add anything to
+.Pa /boot/device.hints .
+.Pp
+Some of the main features of the
+.Nm
+driver are: multichannel audio, per-application
+volume control, dynamic mixing through virtual sound channels, true full
+duplex operation, bit perfect audio, rate conversion and low latency
+modes.
+.Pp
+The
+.Nm
+driver is enabled by default, along with several bridge device drivers.
+Those not enabled by default can be loaded during runtime with
+.Xr kldload 8
+or during boot via
+.Xr loader.conf 5 .
+The following bridge device drivers are available:
+.Pp
+.Bl -bullet -compact
+.It
+.Xr snd_ad1816 4
+.It
+.Xr snd_ai2s 4 (enabled by default on powerpc)
+.It
+.Xr snd_als4000 4
+.It
+.Xr snd_atiixp 4
+.It
+.Xr snd_audiocs 4 (enabled by default on sparc64)
+.It
+.Xr snd_cmi 4
+.It
+.Xr snd_cs4281 4
+.It
+.Xr snd_csa 4
+.It
+.Xr snd_davbus 4 (enabled by default on powerpc)
+.It
+.Xr snd_ds1 4
+.It
+.Xr snd_emu10k1 4
+.It
+.Xr snd_emu10kx 4
+.It
+.Xr snd_envy24 4
+.It
+.Xr snd_envy24ht 4
+.It
+.Xr snd_es137x 4 (enabled by default on amd64, i386, sparc64)
+.It
+.Xr snd_ess 4
+.It
+.Xr snd_fm801 4
+.It
+.Xr snd_gusc 4
+.It
+.Xr snd_hda 4 (enabled by default on amd64, i386)
+.It
+.Xr snd_ich 4 (enabled by default on amd64, i386)
+.It
+.Xr snd_maestro 4
+.It
+.Xr snd_maestro3 4
+.It
+.Xr snd_mss 4
+.It
+.Xr snd_neomagic 4
+.It
+snd_sb16
+.It
+snd_sb8
+.It
+.Xr snd_sbc 4
+.It
+.Xr snd_solo 4
+.It
+.Xr snd_spicds 4
+.It
+.Xr snd_t4dwave 4 (enabled by default on sparc64)
+.It
+.Xr snd_uaudio 4 (enabled by default on amd64, i386, powerpc, sparc64)
+.It
+.Xr snd_via8233 4 (enabled by default on amd64, i386)
+.It
+.Xr snd_via82c686 4
+.It
+.Xr snd_vibes 4
+.El
 .Pp
+Refer to the manual page for each bridge device driver for driver specific
+settings and information.
+.Ss Legacy Hardware
+For old legacy
+.Tn ISA
+cards, the driver looks for
+.Tn MSS
+cards at addresses
+.Dv 0x530
+and
+.Dv 0x604 .
+These values can be overridden in
+.Pa /boot/device.hints .
 Non-PnP sound cards require the following lines in
 .Xr device.hints 5 :
 .Bd -literal -offset indent
@@ -50,33 +165,6 @@ hint.pcm.0.irq="5"
 hint.pcm.0.drq="1"
 hint.pcm.0.flags="0x0"
 .Ed
-.Sh DESCRIPTION
-The
-.Nm
-driver provides support for
-.Tn PCM
-audio play and capture.
-This driver also supports various
-.Tn PCI ,
-.Tn ISA ,
-.Tn WSS/MSS
-compatible
-sound cards, AC97 mixer and High Definition Audio.
-Once the
-.Nm
-driver attaches, supported devices provide audio record and
-playback channels.
-The
-.Fx
-sound system provides dynamic mixing
-.Dq VCHAN
-and rate conversion
-.Dq soft formats .
-True full duplex operation is available on most sound cards.
-.Pp
-If the sound card is supported by a bridge driver, the
-.Nm
-driver works in conjunction with the bridge driver.
 .Pp
 Apart from the usual parameters, the flags field is used to specify
 the secondary
@@ -85,24 +173,6 @@ channel (generally used for capture in f
 Flags are set to 0 for cards not using a secondary
 .Tn DMA
 channel, or to 0x10 + C to specify channel C.
-.Pp
-The driver does its best to recognize the installed hardware and drive
-it correctly so the user is not required to add several lines in
-.Pa /boot/device.hints .
-For
-.Tn PCI
-and
-.Tn ISA
-.Tn PnP
-cards this is actually easy
-since they identify themselves.
-For legacy
-.Tn ISA
-cards, the driver looks for
-.Tn MSS
-cards at addresses 0x530 and 0x604 (unless overridden
-in
-.Pa /boot/device.hints ) .
 .Ss Boot Variables
 In general, the module
 .Pa snd_foo
@@ -119,17 +189,18 @@ utility.
 Options which can be specified in
 .Pa /boot/loader.conf
 include:
-.Bl -tag -width ".Va snd_emu10k1_load" -offset indent
+.Bl -tag -width ".Va snd_driver_load" -offset indent
 .It Va snd_driver_load
 .Pq Dq Li NO
 If set to
 .Dq Li YES ,
 this option loads all available drivers.
-.It Va snd_emu10k1_load
+.It Va snd_hda_load
 .Pq Dq Li NO
 If set to
 .Dq Li YES ,
-only the SoundBlaster 5.1 driver and dependent modules will be loaded.
+only the Intel High Definition Audio bridge device driver and dependent
+modules will be loaded.
 .It Va snd_foo_load
 .Pq Dq Li NO
 If set to
@@ -155,8 +226,9 @@ This provides a base interface for relat
 support.
 Multichannel audio works both with and without
 .Tn VCHANs .
-Most bridge device drivers are still missing multichannel matrixing support
-, but in most cases this should be trivial to implement.
+.Pp
+Most bridge device drivers are still missing multichannel matrixing
+support, but in most cases this should be trivial to implement.
 Use the
 .Va dev.pcm.%d.[play|rec].vchanformat
 .Xr sysctl(8)
@@ -173,7 +245,7 @@ controls (bass and treble).
 Commonly used for ear-candy or frequency compensation due to the vast
 difference in hardware quality.
 EQ is disabled by default, but can be enabled with the
-.Va hint.pcm. Ns Ao Ar X Ac Ns Va .eq
+.Va hint.pcm.%d.eq
 tunable.
 .Ss VCHANs
 Each device can optionally support more playback and recording channels
@@ -208,13 +280,13 @@ driver.
 The following tunables can not be changed during runtime using
 .Xr sysctl 8 .
 .Bl -tag -width indent
-.It Va hint.pcm. Ns Ao Ar X Ac Ns Va .eq
+.It Va hint.pcm.%d.eq
 Set to 1 or 0 to explicitly enable (1) or disable (0) the equalizer.
 Requires a driver reload if changed.
 Enabling this will make bass and treble controls appear in mixer applications.
 This tunable is undefined by default.
 Equalizing is disabled by default.
-.It Va hint.pcm. Ns Ao Ar X Ac Ns Va .vpc
+.It Va hint.pcm.%d.vpc
 Set to 1 or 0 to explicitly enable (1) or disable (0) the
 .Tn VPC
 feature.
@@ -512,6 +584,9 @@ On devices that have more than one recor
 there is a corresponding
 .Pa /dev/dsp%d.r%d
 device.
+The
+.Xr mixer 8
+utility can be used to start and stop recording from an specific device.
 .Ss Statistics
 Channel statistics are only kept while the device is open.
 So with situations involving overruns and underruns, consider the output
@@ -586,6 +661,31 @@ For specific sound card access, please i
 .Pa /dev/dsp
 or
 .Pa /dev/dsp%d .
+.Sh EXAMPLES
+Use the sound metadriver to load all
+.Nm
+bridge device drivers at once
+(for example if it is unclear which the correct driver to use is):
+.Pp
+.Dl kldload snd_driver
+.Pp
+Load a specific bridge device driver, in this case the Intel
+High Definition Audio driver:
+.Pp
+.Dl kldload snd_hda
+.Pp
+Check the status of all detected
+.Nm
+devices:
+.Pp
+.Dl cat /dev/sndstat
+.Pp
+Change the default sound device, in this case to the second device.
+This is handy if there are multiple
+.Nm
+devices available:
+.Pp
+.Dl sysctl hw.snd.default_unit=1
 .Sh DIAGNOSTICS
 .Bl -diag
 .It pcm%d:play:%d:dsp%d.p%d: play interrupt timeout, channel dead
@@ -596,12 +696,14 @@ A device node is not created properly.
 .El
 .Sh SEE ALSO
 .Xr snd_ad1816 4 ,
+.Xr snd_ai2s 4 ,
 .Xr snd_als4000 4 ,
 .Xr snd_atiixp 4 ,
 .Xr snd_audiocs 4 ,
 .Xr snd_cmi 4 ,
 .Xr snd_cs4281 4 ,
 .Xr snd_csa 4 ,
+.Xr snd_davbus 4 ,
 .Xr snd_ds1 4 ,
 .Xr snd_emu10k1 4 ,
 .Xr snd_emu10kx 4 ,
@@ -630,6 +732,7 @@ A device node is not created properly.
 .Xr loader.conf 5 ,
 .Xr dmesg 8 ,
 .Xr kldload 8 ,
+.Xr mixer 8 ,
 .Xr sysctl 8
 .Rs
 .%T "Cookbook formulae for audio EQ biquad filter coefficients, by Robert Bristow-Johnson"

Modified: projects/hid/share/man/man4/smp.4
==============================================================================
--- projects/hid/share/man/man4/smp.4	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/share/man/man4/smp.4	Tue Aug  2 00:46:25 2011	(r224586)
@@ -63,10 +63,10 @@ the read-only sysctl variable
 .Pp
 .Fx
 allows specific CPUs on a multi-processor system to be disabled.
-The sysctl variable
-.Va machdep.hlt_cpus
-is an integer bitmask denoting CPUs to halt, counting from 0.
-Setting a bit to 1 will result in the corresponding CPU being
+This can be done using the
+.Va hint.lapic.X.disabled
+tunable, where X is the APIC ID of a CPU.
+Setting this tunable to 1 will result in the corresponding CPU being
 disabled.
 .Pp
 The
@@ -122,12 +122,12 @@ tasks on CPUs that are closely grouped t
 supports hyperthreading on Intel CPU's on the i386 and AMD64 platforms.
 Since using logical CPUs can cause performance penalties under certain loads,
 the logical CPUs can be disabled by setting the
-.Va machdep.hlt_logical_cpus
-sysctl to one. 
-Note that this operation is different from the mechanism used by the
+.Va machdep.hyperthreading_allowed
+tunable to zero. 
 .Xr cpuset 1 .
 .Sh SEE ALSO
 .Xr mptable 1 ,
+.Xr loader 8 ,
 .Xr sysctl 8 ,
 .Xr condvar 9 ,
 .Xr msleep 9 ,

Modified: projects/hid/share/man/man9/taskqueue.9
==============================================================================
--- projects/hid/share/man/man9/taskqueue.9	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/share/man/man9/taskqueue.9	Tue Aug  2 00:46:25 2011	(r224586)
@@ -188,7 +188,8 @@ The
 count is cleared, and the old value returned in the reference
 parameter
 .Fa pendp ,
-if it is non- Dv NULL .
+if it is non-
+.Dv NULL .
 If the task is currently running,
 .Dv EBUSY
 is returned, otherwise 0.

Modified: projects/hid/share/man/man9/vfs_getopt.9
==============================================================================
--- projects/hid/share/man/man9/vfs_getopt.9	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/share/man/man9/vfs_getopt.9	Tue Aug  2 00:46:25 2011	(r224586)
@@ -26,7 +26,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd March 2, 2009
+.Dd July 31, 2011
 .Dt VFS_GETOPT 9
 .Os
 .Sh NAME
@@ -51,7 +51,7 @@
 .Fn vfs_getops "struct vfsoptlist *opts" "const char *name" "int *error"
 .Ft int
 .Fo vfs_flagopt
-.Fa "struct vfsoptlist *opts" "const char *name" "u_int *flags" "u_int flag"
+.Fa "struct vfsoptlist *opts" "const char *name" "uint64_t *flags" "uint64_t flag"
 .Fc
 .Ft int
 .Fo vfs_scanopt

Modified: projects/hid/sys/amd64/amd64/machdep.c
==============================================================================
--- projects/hid/sys/amd64/amd64/machdep.c	Mon Aug  1 22:36:28 2011	(r224585)
+++ projects/hid/sys/amd64/amd64/machdep.c	Tue Aug  2 00:46:25 2011	(r224586)
@@ -1309,7 +1309,7 @@ getmemsize(caddr_t kmdp, u_int64_t first
 {
 	int i, physmap_idx, pa_indx, da_indx;
 	vm_paddr_t pa, physmap[PHYSMAP_SIZE];

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-projects mailing list