Date: Tue, 12 May 2009 08:22:40 GMT From: Marko Zec <zec@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 161965 for review Message-ID: <200905120822.n4C8Met7036974@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=161965 Change 161965 by zec@zec_imunes on 2009/05/12 08:22:09 IFC @ 161962 Affected files ... .. //depot/projects/vimage/src/share/man/man4/Makefile#8 integrate .. //depot/projects/vimage/src/share/man/man4/iwn.4#2 integrate .. //depot/projects/vimage/src/share/man/man4/iwnfw.4#1 branch .. //depot/projects/vimage/src/share/man/man4/smp.4#2 integrate .. //depot/projects/vimage/src/share/man/man5/fstab.5#2 integrate .. //depot/projects/vimage/src/sys/amd64/conf/DEFAULTS#9 integrate .. //depot/projects/vimage/src/sys/amd64/conf/GENERIC#30 integrate .. //depot/projects/vimage/src/sys/amd64/conf/NOTES#18 integrate .. //depot/projects/vimage/src/sys/amd64/conf/XENHVM#3 integrate .. //depot/projects/vimage/src/sys/amd64/linux32/linux.h#13 integrate .. //depot/projects/vimage/src/sys/amd64/linux32/linux32_sysvec.c#18 integrate .. //depot/projects/vimage/src/sys/arm/at91/at91_cfata.c#2 integrate .. //depot/projects/vimage/src/sys/arm/at91/if_ate.c#12 integrate .. //depot/projects/vimage/src/sys/arm/conf/AVILA#16 integrate .. //depot/projects/vimage/src/sys/arm/conf/BWCT#9 integrate .. //depot/projects/vimage/src/sys/arm/conf/CAMBRIA#6 integrate .. //depot/projects/vimage/src/sys/arm/conf/CRB#7 integrate .. //depot/projects/vimage/src/sys/arm/conf/DB-78XXX#5 integrate .. //depot/projects/vimage/src/sys/arm/conf/DB-88F5XXX#5 integrate .. //depot/projects/vimage/src/sys/arm/conf/DB-88F6XXX#5 integrate .. //depot/projects/vimage/src/sys/arm/conf/EP80219#7 integrate .. //depot/projects/vimage/src/sys/arm/conf/GUMSTIX#4 integrate .. //depot/projects/vimage/src/sys/arm/conf/HL200#8 integrate .. //depot/projects/vimage/src/sys/arm/conf/IQ31244#7 integrate .. //depot/projects/vimage/src/sys/arm/conf/KB920X#12 integrate .. //depot/projects/vimage/src/sys/arm/conf/NSLU#7 integrate .. //depot/projects/vimage/src/sys/arm/conf/SIMICS#7 integrate .. //depot/projects/vimage/src/sys/arm/conf/SKYEYE#6 integrate .. //depot/projects/vimage/src/sys/cddl/compat/opensolaris/kern/opensolaris_lookup.c#2 integrate .. //depot/projects/vimage/src/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c#6 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/common/acl/acl_common.c#3 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/common/atomic/amd64/atomic.S#3 delete .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/common/atomic/amd64/opensolaris_atomic.S#1 branch .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/common/atomic/i386/atomic.S#3 delete .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/common/atomic/i386/opensolaris_atomic.S#1 branch .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/common/atomic/ia64/atomic.S#2 delete .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/common/atomic/ia64/opensolaris_atomic.S#1 branch .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/common/atomic/sparc64/atomic.S#2 delete .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/common/atomic/sparc64/opensolaris_atomic.S#1 branch .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#6 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#3 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr.c#1 branch .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_array.c#1 branch .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_mem.c#1 branch .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr.c#3 delete .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr_array.c#3 delete .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr_mem.c#2 delete .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/zmod/crc32.c#2 delete .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/zmod/opensolaris_crc32.c#1 branch .. //depot/projects/vimage/src/sys/compat/linux/linux_mib.c#7 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_mib.h#4 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#31 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_misc.h#5 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_socket.c#20 integrate .. //depot/projects/vimage/src/sys/compat/svr4/svr4_ioctl.c#2 integrate .. //depot/projects/vimage/src/sys/compat/svr4/svr4_ioctl.h#2 integrate .. //depot/projects/vimage/src/sys/compat/svr4/svr4_proto.h#2 integrate .. //depot/projects/vimage/src/sys/compat/svr4/svr4_syscall.h#2 integrate .. //depot/projects/vimage/src/sys/compat/svr4/svr4_syscallnames.c#2 integrate .. //depot/projects/vimage/src/sys/compat/svr4/svr4_sysent.c#2 integrate .. //depot/projects/vimage/src/sys/compat/svr4/svr4_ttold.c#2 delete .. //depot/projects/vimage/src/sys/compat/svr4/svr4_ttold.h#2 delete .. //depot/projects/vimage/src/sys/conf/NOTES#49 integrate .. //depot/projects/vimage/src/sys/conf/files#67 integrate .. //depot/projects/vimage/src/sys/conf/files.i386#30 integrate .. //depot/projects/vimage/src/sys/conf/files.pc98#20 integrate .. //depot/projects/vimage/src/sys/contrib/dev/iwi/Makefile#1 branch .. //depot/projects/vimage/src/sys/contrib/dev/iwi/ipw2200-bss.fw.uu#2 integrate .. //depot/projects/vimage/src/sys/contrib/dev/iwi/ipw2200-ibss.fw.uu#2 integrate .. //depot/projects/vimage/src/sys/contrib/dev/iwi/ipw2200-sniffer.fw.uu#2 integrate .. //depot/projects/vimage/src/sys/dev/asr/asr.c#7 integrate .. //depot/projects/vimage/src/sys/dev/bce/if_bce.c#22 integrate .. //depot/projects/vimage/src/sys/dev/bce/if_bcereg.h#15 integrate .. //depot/projects/vimage/src/sys/dev/bwi/bwimac.c#2 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_multiq.c#7 integrate .. //depot/projects/vimage/src/sys/dev/ipw/if_ipw.c#16 integrate .. //depot/projects/vimage/src/sys/dev/isp/isp_freebsd.c#14 integrate .. //depot/projects/vimage/src/sys/dev/iwi/if_iwi.c#17 integrate .. //depot/projects/vimage/src/sys/dev/iwi/if_iwivar.h#6 integrate .. //depot/projects/vimage/src/sys/dev/iwn/if_iwn.c#9 integrate .. //depot/projects/vimage/src/sys/dev/snp/snp.c#12 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbdevs#48 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_upgt.c#1 branch .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_upgtvar.h#1 branch .. //depot/projects/vimage/src/sys/dev/wpi/if_wpi.c#12 integrate .. //depot/projects/vimage/src/sys/dev/xen/console/console.c#8 integrate .. //depot/projects/vimage/src/sys/dev/xen/console/xencons_ring.c#4 integrate .. //depot/projects/vimage/src/sys/dev/xen/console/xencons_ring.h#2 integrate .. //depot/projects/vimage/src/sys/fs/cd9660/cd9660_vfsops.c#10 integrate .. //depot/projects/vimage/src/sys/fs/coda/coda_vfsops.c#7 integrate .. //depot/projects/vimage/src/sys/fs/devfs/devfs.h#2 integrate .. //depot/projects/vimage/src/sys/fs/devfs/devfs_vfsops.c#3 integrate .. //depot/projects/vimage/src/sys/fs/devfs/devfs_vnops.c#26 integrate .. //depot/projects/vimage/src/sys/fs/fdescfs/fdesc.h#3 integrate .. //depot/projects/vimage/src/sys/fs/fdescfs/fdesc_vfsops.c#7 integrate .. //depot/projects/vimage/src/sys/fs/fdescfs/fdesc_vnops.c#11 integrate .. //depot/projects/vimage/src/sys/fs/hpfs/hpfs_vfsops.c#8 integrate .. //depot/projects/vimage/src/sys/fs/msdosfs/msdosfs_vfsops.c#19 integrate .. //depot/projects/vimage/src/sys/fs/nfs/nfs.h#2 integrate .. //depot/projects/vimage/src/sys/fs/nfs/nfs_commonsubs.c#2 integrate .. //depot/projects/vimage/src/sys/fs/nfs/nfs_var.h#2 integrate .. //depot/projects/vimage/src/sys/fs/nfs/nfsport.h#2 integrate .. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clvfsops.c#2 integrate .. //depot/projects/vimage/src/sys/fs/nfsserver/nfs_nfsdport.c#2 integrate .. //depot/projects/vimage/src/sys/fs/nfsserver/nfs_nfsdserv.c#2 integrate .. //depot/projects/vimage/src/sys/fs/nfsserver/nfs_nfsdsocket.c#2 integrate .. //depot/projects/vimage/src/sys/fs/ntfs/ntfs_vfsops.c#9 integrate .. //depot/projects/vimage/src/sys/fs/nullfs/null_vfsops.c#7 integrate .. //depot/projects/vimage/src/sys/fs/nwfs/nwfs_vfsops.c#5 integrate .. //depot/projects/vimage/src/sys/fs/portalfs/portal_vfsops.c#6 integrate .. //depot/projects/vimage/src/sys/fs/pseudofs/pseudofs.c#6 integrate .. //depot/projects/vimage/src/sys/fs/pseudofs/pseudofs.h#4 integrate .. //depot/projects/vimage/src/sys/fs/smbfs/smbfs_io.c#7 integrate .. //depot/projects/vimage/src/sys/fs/smbfs/smbfs_vfsops.c#7 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs.h#10 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_subr.c#13 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_vfsops.c#13 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_vnops.c#18 integrate .. //depot/projects/vimage/src/sys/fs/udf/udf_vfsops.c#12 integrate .. //depot/projects/vimage/src/sys/fs/unionfs/union_vfsops.c#10 integrate .. //depot/projects/vimage/src/sys/geom/journal/g_journal.c#13 integrate .. //depot/projects/vimage/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#14 integrate .. //depot/projects/vimage/src/sys/gnu/fs/reiserfs/reiserfs_vfsops.c#7 integrate .. //depot/projects/vimage/src/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c#8 integrate .. //depot/projects/vimage/src/sys/i386/conf/DEFAULTS#13 integrate .. //depot/projects/vimage/src/sys/i386/conf/GENERIC#33 integrate .. //depot/projects/vimage/src/sys/i386/conf/NOTES#30 integrate .. //depot/projects/vimage/src/sys/i386/conf/PAE#11 integrate .. //depot/projects/vimage/src/sys/i386/conf/XBOX#10 integrate .. //depot/projects/vimage/src/sys/i386/conf/XEN#8 integrate .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_ioctl.c#3 integrate .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_isc_syscall.h#2 integrate .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_isc_sysent.c#2 integrate .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_proto.h#2 integrate .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_syscall.h#2 integrate .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_sysent.c#2 integrate .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_xenix.h#2 integrate .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_xenix_syscall.h#2 integrate .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_xenix_sysent.c#2 integrate .. //depot/projects/vimage/src/sys/i386/ibcs2/syscalls.master#2 integrate .. //depot/projects/vimage/src/sys/i386/linux/linux_sysvec.c#14 integrate .. //depot/projects/vimage/src/sys/ia64/conf/DEFAULTS#6 integrate .. //depot/projects/vimage/src/sys/ia64/conf/NOTES#3 integrate .. //depot/projects/vimage/src/sys/kern/kern_acct.c#10 integrate .. //depot/projects/vimage/src/sys/kern/kern_malloc.c#12 integrate .. //depot/projects/vimage/src/sys/kern/subr_kdb.c#5 integrate .. //depot/projects/vimage/src/sys/kern/uipc_mqueue.c#13 integrate .. //depot/projects/vimage/src/sys/kern/vfs_bio.c#22 integrate .. //depot/projects/vimage/src/sys/kern/vfs_default.c#10 integrate .. //depot/projects/vimage/src/sys/kern/vfs_export.c#19 integrate .. //depot/projects/vimage/src/sys/kern/vfs_extattr.c#8 integrate .. //depot/projects/vimage/src/sys/kern/vfs_lookup.c#22 integrate .. //depot/projects/vimage/src/sys/kern/vfs_mount.c#32 integrate .. //depot/projects/vimage/src/sys/kern/vfs_subr.c#28 integrate .. //depot/projects/vimage/src/sys/kern/vfs_syscalls.c#25 integrate .. //depot/projects/vimage/src/sys/kern/vfs_vnops.c#24 integrate .. //depot/projects/vimage/src/sys/mips/conf/ADM5120#4 integrate .. //depot/projects/vimage/src/sys/mips/conf/IDT#6 integrate .. //depot/projects/vimage/src/sys/mips/conf/MALTA#4 integrate .. //depot/projects/vimage/src/sys/mips/conf/QEMU#3 integrate .. //depot/projects/vimage/src/sys/mips/conf/SENTRY5#6 integrate .. //depot/projects/vimage/src/sys/modules/opensolaris/Makefile#3 integrate .. //depot/projects/vimage/src/sys/modules/sound/sound/Makefile#3 integrate .. //depot/projects/vimage/src/sys/modules/svr4/Makefile#5 integrate .. //depot/projects/vimage/src/sys/modules/usb/Makefile#10 integrate .. //depot/projects/vimage/src/sys/modules/usb/upgt/Makefile#1 branch .. //depot/projects/vimage/src/sys/modules/zfs/Makefile#9 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_proto.c#17 integrate .. //depot/projects/vimage/src/sys/netinet/in.c#34 integrate .. //depot/projects/vimage/src/sys/netinet/in_var.h#19 integrate .. //depot/projects/vimage/src/sys/netinet/ip_fw2.c#76 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_output.c#29 integrate .. //depot/projects/vimage/src/sys/netinet6/route6.c#14 integrate .. //depot/projects/vimage/src/sys/nfs4client/nfs4_vfsops.c#9 integrate .. //depot/projects/vimage/src/sys/nfsclient/nfs.h#9 integrate .. //depot/projects/vimage/src/sys/nfsclient/nfs_bio.c#11 integrate .. //depot/projects/vimage/src/sys/nfsclient/nfs_vfsops.c#26 integrate .. //depot/projects/vimage/src/sys/nfsserver/nfs_serv.c#16 integrate .. //depot/projects/vimage/src/sys/nfsserver/nfs_srvsubs.c#16 integrate .. //depot/projects/vimage/src/sys/nlm/nlm_prot_impl.c#10 integrate .. //depot/projects/vimage/src/sys/pc98/conf/DEFAULTS#5 integrate .. //depot/projects/vimage/src/sys/pc98/conf/NOTES#13 integrate .. //depot/projects/vimage/src/sys/powerpc/conf/GENERIC#21 integrate .. //depot/projects/vimage/src/sys/powerpc/conf/MPC85XX#6 integrate .. //depot/projects/vimage/src/sys/powerpc/conf/NOTES#12 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_worker.c#13 integrate .. //depot/projects/vimage/src/sys/sparc64/conf/GENERIC#21 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/vm_machdep.c#7 integrate .. //depot/projects/vimage/src/sys/sys/_null.h#3 integrate .. //depot/projects/vimage/src/sys/sys/ioctl.h#3 integrate .. //depot/projects/vimage/src/sys/sys/ioctl_compat.h#5 integrate .. //depot/projects/vimage/src/sys/sys/mount.h#20 integrate .. //depot/projects/vimage/src/sys/sys/param.h#52 integrate .. //depot/projects/vimage/src/sys/ufs/ffs/ffs_vfsops.c#22 integrate .. //depot/projects/vimage/src/sys/ufs/ufs/extattr.h#4 integrate .. //depot/projects/vimage/src/sys/ufs/ufs/ufs_extattr.c#8 integrate .. //depot/projects/vimage/src/sys/ufs/ufs/ufs_extern.h#3 integrate .. //depot/projects/vimage/src/sys/ufs/ufs/ufs_vfsops.c#6 integrate .. //depot/projects/vimage/src/sys/vm/vnode_pager.c#15 integrate .. //depot/projects/vimage/src/usr.bin/kdump/mkioctls#4 integrate Differences ... ==== //depot/projects/vimage/src/share/man/man4/Makefile#8 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.447 2009/04/06 12:47:09 weongyo Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.448 2009/05/09 19:44:23 sam Exp $ MAN= aac.4 \ acpi.4 \ @@ -152,6 +152,7 @@ ispfw.4 \ iwi.4 \ iwn.4 \ + iwnfw.4 \ ixgb.4 \ ixgbe.4 \ jme.4 \ ==== //depot/projects/vimage/src/share/man/man4/iwn.4#2 (text+ko) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/iwn.4,v 1.2 2008/05/12 08:53:02 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/iwn.4,v 1.4 2009/05/09 19:19:30 sam Exp $ .\" .Dd April 13, 2008 .Os ==== //depot/projects/vimage/src/share/man/man4/smp.4#2 (text+ko) ==== @@ -21,9 +21,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/smp.4,v 1.23 2006/09/18 15:24:19 ru Exp $ +.\" $FreeBSD: src/share/man/man4/smp.4,v 1.24 2009/05/09 20:18:20 ivoras Exp $ .\" -.Dd December 17, 2004 +.Dd May 7, 2008 .Dt SMP 4 .Os .Sh NAME @@ -69,12 +69,63 @@ Setting a bit to 1 will result in the corresponding CPU being disabled. .Pp +The +.Xr sched_ule 4 +scheduler implements CPU topology detection and adjusts the scheduling +algorithms to make better use of modern multi-core CPUs. +The sysctl variable +.Va kern.sched.topology_spec +reflects the detected CPU hardware in a parsable XML format. +The top level XML tag is <groups>, which encloses one or more <group> tags +containing data about individual CPU groups. +A CPU group contains CPUs that are detected to be "close" together, usually +by being cores in a single multi-core processor. +Attributes available in a <group> tag are "level", corresponding to the +nesting level of the CPU group and "cache-level", corresponding to the +level of CPU caches shared by the CPUs in the group. +The <group> tag contains the <cpu> and <flags> tags. +The <cpu> tag describes CPUs in the group. +Its attributes are "count", corresponding to the number of CPUs in the +group and "mask", corresponding to the integer binary mask in which +each bit position set to 1 signifies a CPU belonging to the group. +The contents (CDATA) of the <cpu> tag is the comma-delimited list +of CPU indexes (derived from the "mask" attribute). +The <flags> tag contains special tags (if any) describing the relation +of the CPUs in the group. +The possible flags are currently "HTT" and "SMT", corresponding to +the various implementations of hardware multithreading. +An example topology_spec output for a system consisting of +two quad-core processors is: +.Bd -literal +<groups> + <group level="1" cache-level="0"> + <cpu count="8" mask="0xff">0, 1, 2, 3, 4, 5, 6, 7</cpu> + <flags></flags> + <children> + <group level="2" cache-level="0"> + <cpu count="4" mask="0xf">0, 1, 2, 3</cpu> + <flags></flags> + </group> + <group level="2" cache-level="0"> + <cpu count="4" mask="0xf0">4, 5, 6, 7</cpu> + <flags></flags> + </group> + </children> + </group> +</groups> +.Ed +.Pp +This information is used internally by the kernel to schedule related +tasks on CPUs that are closely grouped together. +.Pp .Fx -supports hyperthreading on Intel CPU's on the i386 platform. +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. +sysctl to one. +Note that this operation is different from the mechanism used by the +.Xr cpuset 1 . .Sh SEE ALSO .Xr mptable 1 , .Xr sysctl 8 , @@ -83,7 +134,11 @@ .Xr mtx_pool 9 , .Xr mutex 9 , .Xr sema 9 , -.Xr sx 9 +.Xr sx 9 , +.Xr rwlock 9 , +.Xr sched_4bsd 4 , +.Xr sched_ule 4 , +.Xr cpuset 1 .Sh HISTORY The .Nm ==== //depot/projects/vimage/src/share/man/man5/fstab.5#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)fstab.5 8.1 (Berkeley) 6/5/93 -.\" $FreeBSD: src/share/man/man5/fstab.5,v 1.31 2008/11/23 19:52:56 keramida Exp $ +.\" $FreeBSD: src/share/man/man5/fstab.5,v 1.32 2009/05/11 17:05:41 imp Exp $ .\" .Dd November 23, 2008 .Dt FSTAB 5 @@ -80,8 +80,7 @@ compiled into the kernel; everything else will be automatically loaded at mount time. -(Exception: the UFS family - FFS and LFS cannot -currently be demand-loaded.) +(Exception: the FFS cannot currently be demand-loaded.) Some people still prefer to statically compile other file systems as well. .Pp ==== //depot/projects/vimage/src/sys/amd64/conf/DEFAULTS#9 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/amd64 # -# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.17 2009/04/19 00:16:04 kmacy Exp $ +# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.18 2009/05/10 00:00:25 kuriyama Exp $ machine amd64 @@ -21,4 +21,4 @@ options GEOM_PART_EBR_COMPAT options GEOM_PART_MBR -options FLOWTABLE +options FLOWTABLE ==== //depot/projects/vimage/src/sys/amd64/conf/GENERIC#30 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.524 2009/05/01 17:20:16 sam Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.525 2009/05/10 00:00:25 kuriyama Exp $ cpu HAMMER ident GENERIC @@ -68,7 +68,7 @@ options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev options STOP_NMI # Stop CPUS using NMI instead of IPI -options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) +options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) options AUDIT # Security event auditing #options KDTRACE_FRAME # Ensure frames are compiled in #options KDTRACE_HOOKS # Kernel DTrace hooks @@ -114,7 +114,7 @@ device amd # AMD 53C974 (Tekram DC-390(T)) device hptiop # Highpoint RocketRaid 3xxx series device isp # Qlogic family -#device ispfw # Firmware for QLogic HBAs- normally a module +#device ispfw # Firmware for QLogic HBAs- normally a module device mpt # LSI-Logic MPT-Fusion #device ncr # NCR/Symbios Logic device sym # NCR/Symbios Logic (newer chipsets + those of `ncr') @@ -260,7 +260,7 @@ device an # Aironet 4500/4800 802.11 wireless NICs. device ath # Atheros pci/cardbus NIC's device ath_hal # pci/cardbus chip support -options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors +options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath device ral # Ralink Technology RT2500 wireless NICs. device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. ==== //depot/projects/vimage/src/sys/amd64/conf/NOTES#18 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.89 2009/03/16 10:36:24 dchagin Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.90 2009/05/10 00:00:25 kuriyama Exp $ # # @@ -33,7 +33,7 @@ # # Debugging options. # -options STOP_NMI # Stop CPUS using NMI instead of IPI +options STOP_NMI # Stop CPUS using NMI instead of IPI @@ -82,7 +82,7 @@ # BPF_JITTER adds support for BPF just-in-time compiler. -options BPF_JITTER +options BPF_JITTER ##################################################################### @@ -153,7 +153,7 @@ # # AGP debugging. # -options AGP_DEBUG +options AGP_DEBUG ##################################################################### @@ -288,7 +288,7 @@ device ath # Atheros pci/cardbus NIC's device ath_hal # pci/cardbus chip support -options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors +options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath #device ath_rate_amrr # AMRR rate control for ath driver #device ath_rate_onoe # Onoe rate control for ath driver @@ -457,7 +457,7 @@ #Enable the linux-like sys filesystem support (requires COMPAT_LINUX32 # and PSEUDOFS) -options LINSYSFS +options LINSYSFS # # SysVR4 ABI emulation ==== //depot/projects/vimage/src/sys/amd64/conf/XENHVM#3 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/XENHVM,v 1.2 2009/05/06 17:52:38 dfr Exp $ +# $FreeBSD: src/sys/amd64/conf/XENHVM,v 1.3 2009/05/10 00:00:25 kuriyama Exp $ cpu HAMMER ident GENERIC @@ -69,12 +69,12 @@ options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev options STOP_NMI # Stop CPUS using NMI instead of IPI -options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) +options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) options AUDIT # Security event auditing #options KDTRACE_FRAME # Ensure frames are compiled in #options KDTRACE_HOOKS # Kernel DTrace hooks -options NO_ADAPTIVE_MUTEXES -options NO_ADAPTIVE_RWLOCKS +options NO_ADAPTIVE_MUTEXES +options NO_ADAPTIVE_RWLOCKS # Debugging for use in -current options KDB # Enable kernel debugger support. @@ -99,7 +99,7 @@ device fdc # Xen HVM support -options XENHVM +options XENHVM device xenpci # ATA and ATAPI devices ==== //depot/projects/vimage/src/sys/amd64/linux32/linux.h#13 (text+ko) ==== @@ -27,7 +27,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.26 2009/05/07 09:39:20 dchagin Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.27 2009/05/11 13:50:42 dchagin Exp $ */ #ifndef _AMD64_LINUX_H_ @@ -96,7 +96,7 @@ typedef struct { l_time_t tv_sec; l_suseconds_t tv_usec; -} __packed l_timeval; +} l_timeval; #define l_fd_set fd_set ==== //depot/projects/vimage/src/sys/amd64/linux32/linux32_sysvec.c#18 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.49 2009/05/07 18:36:47 jamie Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.51 2009/05/10 18:43:43 dchagin Exp $"); #include "opt_compat.h" #ifndef COMPAT_IA32 @@ -261,7 +261,17 @@ pos = base + (imgp->args->argc + imgp->args->envc + 2); AUXARGS_ENTRY_32(pos, LINUX_AT_HWCAP, cpu_feature); - AUXARGS_ENTRY_32(pos, LINUX_AT_CLKTCK, hz); + + /* + * Do not export AT_CLKTCK when emulating Linux kernel prior to 2.4.0, + * as it has appeared in the 2.4.0-rc7 first time. + * Being exported, AT_CLKTCK is returned by sysconf(_SC_CLK_TCK), + * glibc falls back to the hard-coded CLK_TCK value when aux entry + * is not present. + * Also see linux_times() implementation. + */ + if (linux_kernver(curthread) >= LINUX_KERNVER_2004000) + AUXARGS_ENTRY_32(pos, LINUX_AT_CLKTCK, stclohz); AUXARGS_ENTRY_32(pos, AT_PHDR, args->phdr); AUXARGS_ENTRY_32(pos, AT_PHENT, args->phent); AUXARGS_ENTRY_32(pos, AT_PHNUM, args->phnum); @@ -1125,6 +1135,7 @@ linux_szplatform = roundup(strlen(linux_platform) + 1, sizeof(char *)); linux_osd_jail_register(); + stclohz = (stathz ? stathz : hz); if (bootverbose) printf("Linux ELF exec handler installed\n"); } else ==== //depot/projects/vimage/src/sys/arm/at91/at91_cfata.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_cfata.c,v 1.2 2009/04/23 00:00:57 stas Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_cfata.c,v 1.3 2009/05/10 11:05:22 stas Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -131,9 +131,9 @@ struct resource *r) { - KASSERT(type == SYS_RES_IRQ && *rid == ATA_IRQ_RID, + KASSERT(type == SYS_RES_IRQ && rid == ATA_IRQ_RID, ("[at91_cfata, %d]: illegal resource request (type %u rid %u)", - __LINE__, type, *rid)); + __LINE__, type, rid)); return (0); } ==== //depot/projects/vimage/src/sys/arm/at91/if_ate.c#12 (text) ==== @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.30 2008/11/25 00:14:49 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.32 2009/05/10 10:32:29 stas Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -76,6 +76,12 @@ #define ATE_MAX_TX_BUFFERS 2 /* We have ping-pong tx buffers */ #define ATE_MAX_RX_BUFFERS 64 +/* + * Driver-specific flags. + */ +#define ATE_FLAG_DETACHING 0x01 +#define ATE_FLAG_MULTICAST 0x02 + struct ate_softc { struct ifnet *ifp; /* ifnet pointer */ @@ -100,6 +106,8 @@ eth_rx_desc_t *rx_descs; int use_rmii; struct ifmib_iso_8802_3 mibdata; /* stuff for network mgmt */ + int flags; + int if_flags; }; static inline uint32_t @@ -149,6 +157,7 @@ static void ate_ifmedia_sts(struct ifnet *ifp, struct ifmediareq *ifmr); static int ate_get_mac(struct ate_softc *sc, u_char *eaddr); static void ate_set_mac(struct ate_softc *sc, u_char *eaddr); +static void ate_rxfilter(struct ate_softc *sc); /* * The AT91 family of products has the ethernet called EMAC. However, @@ -238,6 +247,7 @@ ifp->if_linkmib = &sc->mibdata; ifp->if_linkmiblen = sizeof(sc->mibdata); sc->mibdata.dot3Compliance = DOT3COMPLIANCE_COLLS; + sc->if_flags = ifp->if_flags; ether_ifattach(ifp, eaddr); @@ -307,26 +317,39 @@ * of different MAC chips use this method (or the reverse the bits) * method. */ -static void +static int ate_setmcast(struct ate_softc *sc) { uint32_t index; uint32_t mcaf[2]; u_char *af = (u_char *) mcaf; struct ifmultiaddr *ifma; + struct ifnet *ifp; + ifp = sc->ifp; + + if ((ifp->if_flags & IFF_PROMISC) != 0) + return (0); + if ((ifp->if_flags & IFF_ALLMULTI) != 0) { + WR4(sc, ETH_HSL, 0xffffffff); + WR4(sc, ETH_HSH, 0xffffffff); + return (1); + } + + /* + * Compute the multicast hash. + */ mcaf[0] = 0; mcaf[1] = 0; - - IF_ADDR_LOCK(sc->ifp); - TAILQ_FOREACH(ifma, &sc->ifp->if_multiaddrs, ifma_link) { + IF_ADDR_LOCK(ifp); + TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; index = ether_crc32_be(LLADDR((struct sockaddr_dl *) ifma->ifma_addr), ETHER_ADDR_LEN) >> 26; af[index >> 3] |= 1 << (index & 7); } - IF_ADDR_UNLOCK(sc->ifp); + IF_ADDR_UNLOCK(ifp); /* * Write the hash to the hash register. This card can also @@ -337,6 +360,7 @@ */ WR4(sc, ETH_HSL, mcaf[0]); WR4(sc, ETH_HSH, mcaf[1]); + return (mcaf[0] || mcaf[1]); } static int @@ -763,13 +787,11 @@ else WR4(sc, ETH_CFG, RD4(sc, ETH_CFG) & ~ETH_CFG_RMII); + ate_rxfilter(sc); + /* - * Turn on the multicast hash, and write 0's to it. + * Turn on MACs and interrupt processing. */ - WR4(sc, ETH_CFG, RD4(sc, ETH_CFG) | ETH_CFG_MTI); - WR4(sc, ETH_HSH, 0); - WR4(sc, ETH_HSL, 0); - WR4(sc, ETH_CTL, RD4(sc, ETH_CTL) | ETH_CTL_TE | ETH_CTL_RE); WR4(sc, ETH_IER, ETH_ISR_RCOM | ETH_ISR_TCOM | ETH_ISR_RBNA); @@ -779,7 +801,6 @@ * the byte order is big endian, not little endian, so we have some * swapping to do. Again, if we need it (which I don't think we do). */ - ate_setmcast(sc); /* enable big packets */ WR4(sc, ETH_CFG, RD4(sc, ETH_CFG) | ETH_CFG_BIG); @@ -940,35 +961,83 @@ */ } +static void +ate_rxfilter(struct ate_softc *sc) +{ + struct ifnet *ifp; + uint32_t reg; + int enabled; + + KASSERT(sc != NULL, ("[ate, %d]: sc is NULL!", __LINE__)); + ATE_ASSERT_LOCKED(sc); + ifp = sc->ifp; + + /* + * Wipe out old filter settings. + */ + reg = RD4(sc, ETH_CFG); + reg &= ~(ETH_CFG_CAF | ETH_CFG_MTI | ETH_CFG_UNI); + reg |= ETH_CFG_NBC; + sc->flags &= ~ATE_FLAG_MULTICAST; + + /* + * Set new parameters. + */ + if ((ifp->if_flags & IFF_BROADCAST) != 0) + reg &= ~ETH_CFG_NBC; + if ((ifp->if_flags & IFF_PROMISC) != 0) { + reg |= ETH_CFG_CAF; + } else { + enabled = ate_setmcast(sc); + if (enabled != 0) { + reg |= ETH_CFG_MTI; + sc->flags |= ATE_FLAG_MULTICAST; + } + } + WR4(sc, ETH_CFG, reg); +} + static int ateioctl(struct ifnet *ifp, u_long cmd, caddr_t data) { struct ate_softc *sc = ifp->if_softc; struct mii_data *mii; struct ifreq *ifr = (struct ifreq *)data; - int mask, error = 0; + int drv_flags, flags; + int mask, error, enabled; + error = 0; + flags = ifp->if_flags; + drv_flags = ifp->if_drv_flags; switch (cmd) { case SIOCSIFFLAGS: ATE_LOCK(sc); - if ((ifp->if_flags & IFF_UP) == 0 && - ifp->if_drv_flags & IFF_DRV_RUNNING) { + if ((flags & IFF_UP) != 0) { + if ((drv_flags & IFF_DRV_RUNNING) != 0) { + if (((flags ^ sc->if_flags) + & (IFF_PROMISC | IFF_ALLMULTI)) != 0) + ate_rxfilter(sc); + } else { + if ((sc->flags & ATE_FLAG_DETACHING) == 0) + ateinit_locked(sc); + } + } else if ((drv_flags & IFF_DRV_RUNNING) != 0) { ifp->if_drv_flags &= ~IFF_DRV_RUNNING; atestop(sc); - } else { - /* reinitialize card on any parameter change */ - ateinit_locked(sc); } + sc->if_flags = flags; ATE_UNLOCK(sc); break; case SIOCADDMULTI: case SIOCDELMULTI: - /* update multicast filter list. */ - ATE_LOCK(sc); - ate_setmcast(sc); - ATE_UNLOCK(sc); - error = 0; + if ((drv_flags & IFF_DRV_RUNNING) != 0) { + ATE_LOCK(sc); + enabled = ate_setmcast(sc); + if (enabled != (sc->flags & ATE_FLAG_MULTICAST)) + ate_rxfilter(sc); + ATE_UNLOCK(sc); + } break; case SIOCSIFMEDIA: ==== //depot/projects/vimage/src/sys/arm/conf/AVILA#16 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/AVILA,v 1.30 2009/03/30 21:54:39 sam Exp $ +# $FreeBSD: src/sys/arm/conf/AVILA,v 1.31 2009/05/10 00:00:25 kuriyama Exp $ ident AVILA @@ -99,12 +99,12 @@ device if_bridge device md -device random # Entropy device +device random # Entropy device # Wireless NIC cards device wlan # 802.11 support -options IEEE80211_DEBUG -options IEEE80211_SUPPORT_TDMA +options IEEE80211_DEBUG +options IEEE80211_SUPPORT_TDMA device wlan_wep # 802.11 WEP support device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support @@ -112,12 +112,12 @@ device ath # Atheros pci/cardbus NIC's options ATH_DEBUG -options ATH_DIAGAPI -#options ATH_TX99_DIAG +options ATH_DIAGAPI +#options ATH_TX99_DIAG device ath_rate_sample # SampleRate tx rate control for ath -#options AH_DEBUG -#options AH_ASSERT +#options AH_DEBUG +#options AH_ASSERT #device ath_ar5210 #device ath_ar5211 device ath_ar5212 @@ -129,7 +129,7 @@ device ath_rf5413 # device ath_ar5416 -options AH_SUPPORT_AR5416 +options AH_SUPPORT_AR5416 device ath_ar9160 makeoptions WITH_LEGACY ==== //depot/projects/vimage/src/sys/arm/conf/BWCT#9 (text+ko) ==== @@ -15,13 +15,13 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/BWCT,v 1.10 2009/04/17 22:45:57 ticso Exp $ +# $FreeBSD: src/sys/arm/conf/BWCT,v 1.11 2009/05/10 00:00:25 kuriyama Exp $ ident BWCT -options VERBOSE_INIT_ARM +options VERBOSE_INIT_ARM -options AT91_BWCT +options AT91_BWCT include "../at91/std.bwct" #To statically compile in device wiring instead of /boot/device.hints @@ -30,8 +30,8 @@ makeoptions MODULES_OVERRIDE="" #makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols -options DDB -options KDB +options DDB +options KDB options BREAK_TO_DEBUGGER options ALT_BREAK_TO_DEBUGGER @@ -43,15 +43,15 @@ #options UFS_ACL #Support for access control lists #options UFS_DIRHASH #Improve performance on big directories #options MD_ROOT #MD is a potential root device -#options MD_ROOT_SIZE=4096 # 3MB ram disk +#options MD_ROOT_SIZE=4096 # 3MB ram disk #options ROOTDEVNAME=\"ufs:md0\" #options ROOTDEVNAME=\"ufs:/dev/mmcsd0s1a\" options NFSCLIENT #Network Filesystem Client #options NFSSERVER #Network Filesystem Server #options NFSLOCKD #Network Lock Manager -options NFS_ROOT #NFS usable as /, requires NFSCLIENT -options BOOTP_NFSROOT -options BOOTP +options NFS_ROOT #NFS usable as /, requires NFSCLIENT +options BOOTP_NFSROOT +options BOOTP #options MSDOSFS #MSDOS Filesystem #options CD9660 #ISO 9660 Filesystem @@ -65,7 +65,7 @@ options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions #options SYSCTL_OMIT_DESCR options MUTEX_NOINLINE -options RWLOCK_NOINLINE +options RWLOCK_NOINLINE options NO_FFS_SNAPSHOT options NO_SWAPPING device loop @@ -83,7 +83,7 @@ #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles #options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed -#options DIAGNOSTIC +#options DIAGNOSTIC device md device at91_twi # TWI: Two Wire Interface ==== //depot/projects/vimage/src/sys/arm/conf/CAMBRIA#6 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/CAMBRIA,v 1.10 2009/03/30 19:23:49 sam Exp $ +# $FreeBSD: src/sys/arm/conf/CAMBRIA,v 1.11 2009/05/10 00:00:25 kuriyama Exp $ ident CAMBRIA @@ -68,7 +68,7 @@ device ixpwdog # watchdog timer -options IXP4XX_FLASH_SIZE=0x02000000 # stock 2358 comes w/ 32M +options IXP4XX_FLASH_SIZE=0x02000000 # stock 2358 comes w/ 32M device cfi # flash support device cfid # flash disk support device geom_redboot # redboot fis parser @@ -86,7 +86,7 @@ device cambria_led # 8-LED latch device ata -device atadisk # ATA disk drives +device atadisk # ATA disk drives device avila_ata # Gateworks CF/IDE support device npe # Network Processing Engine @@ -102,12 +102,12 @@ device if_bridge device md -device random # Entropy device +device random # Entropy device # Wireless NIC cards device wlan # 802.11 support -options IEEE80211_DEBUG -options IEEE80211_SUPPORT_TDMA +options IEEE80211_DEBUG +options IEEE80211_SUPPORT_TDMA device wlan_wep # 802.11 WEP support device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support @@ -115,13 +115,13 @@ device ath # Atheros pci/cardbus NIC's options ATH_DEBUG -options ATH_DIAGAPI -#options ATH_TX99_DIAG +options ATH_DIAGAPI +#options ATH_TX99_DIAG device ath_rate_sample # SampleRate tx rate control for ath -options AH_DEBUG -#options AH_ASSERT -options AH_PRIVATE_DIAG +options AH_DEBUG +#options AH_ASSERT +options AH_PRIVATE_DIAG #device ath_ar5210 #device ath_ar5211 # >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905120822.n4C8Met7036974>