Date: Mon, 2 Aug 2004 01:20:48 GMT From: Robert Watson <rwatson@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 58667 for review Message-ID: <200408020120.i721Kmja095604@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=58667 Change 58667 by rwatson@rwatson_paprika on 2004/08/02 01:20:00 Integrate netperf_socket from FreeBSD CVS: /dev/mem, /dev/io, etc, rototilled and refrabricated, modularized, and made more MI. More VM locking activities. Giant pushed off parts of vmspace work. kmem_alloc_pageable() removed. Use sx locks instead of lockmgr for maps. Slight optimization of cpu_critical_enter() to avoid curthread overuse. suser_cred() flag modifications: PRISON_ROOT -> SUSER_ALLOWJAIL, and SUSER_CHECKRUID added. cpu_rootconf() removed from MD bits; 'ndp' container argument for file system mount removed. *_mount() renamed to _omount(). kernel_vmount() added so in-kernel code can mount without messing with vfs_nmount(), iovec's, etc. *_nmount() -> *_mount(). rootvp eliminated. Related cleanup. vfs_byname() added. vfs_donmount(), etc. PREEMPTION disabled by default. memcpy() not bcopy() in the boot loader. More ndismania. Can load firmware via loader preloading, etc. ADAPTIVE_GIANT now an option (looped back from rwatson_netperf). geom_mirror is now pjd's geom_mirror. Missing if_arl copyrights added. ATAPI dma turned on more often now. More USB2 hub support. Netatalk locks in WITNESS lock order (looped back from rwatson_netperf). Accept filter registration locking (looped back from rwatson_netperf). IFF_NEEDSGIANT allows ifp->if_start to run in a task queue for increased compatibility with non-MPSAFE interfaces when running debug.mpsafenet=1. (Looped back from rwatson_netperf). Various SACK fixes. IPv6 in6pcb locking (looped back from rwatson_netperf). A broad variety of gcc 3.4 fixes. UMA slab math fix. Affected files ... .. //depot/projects/netperf_socket/sys/alpha/alpha/autoconf.c#3 integrate .. //depot/projects/netperf_socket/sys/alpha/alpha/mem.c#6 integrate .. //depot/projects/netperf_socket/sys/alpha/alpha/pmap.c#15 integrate .. //depot/projects/netperf_socket/sys/alpha/conf/GENERIC#6 integrate .. //depot/projects/netperf_socket/sys/alpha/include/critical.h#3 integrate .. //depot/projects/netperf_socket/sys/alpha/include/memdev.h#1 branch .. //depot/projects/netperf_socket/sys/alpha/include/param.h#4 integrate .. //depot/projects/netperf_socket/sys/alpha/osf1/osf1_misc.c#4 integrate .. //depot/projects/netperf_socket/sys/amd64/amd64/autoconf.c#4 integrate .. //depot/projects/netperf_socket/sys/amd64/amd64/io.c#1 branch .. //depot/projects/netperf_socket/sys/amd64/amd64/machdep.c#12 integrate .. //depot/projects/netperf_socket/sys/amd64/amd64/mem.c#6 integrate .. //depot/projects/netperf_socket/sys/amd64/amd64/pmap.c#22 integrate .. //depot/projects/netperf_socket/sys/amd64/conf/GENERIC#12 integrate .. //depot/projects/netperf_socket/sys/amd64/conf/NOTES#7 integrate .. //depot/projects/netperf_socket/sys/amd64/include/cpufunc.h#7 integrate .. //depot/projects/netperf_socket/sys/amd64/include/critical.h#3 integrate .. //depot/projects/netperf_socket/sys/amd64/include/iodev.h#1 branch .. //depot/projects/netperf_socket/sys/amd64/include/memdev.h#1 branch .. //depot/projects/netperf_socket/sys/amd64/include/param.h#4 integrate .. //depot/projects/netperf_socket/sys/amd64/include/profile.h#5 integrate .. //depot/projects/netperf_socket/sys/arm/arm/machdep.c#4 integrate .. //depot/projects/netperf_socket/sys/arm/arm/pmap.c#6 integrate .. //depot/projects/netperf_socket/sys/arm/include/critical.h#2 integrate .. //depot/projects/netperf_socket/sys/boot/common/help.common#3 integrate .. //depot/projects/netperf_socket/sys/boot/forth/loader.conf#10 integrate .. //depot/projects/netperf_socket/sys/boot/i386/boot2/Makefile#3 integrate .. //depot/projects/netperf_socket/sys/boot/i386/boot2/boot2.c#3 integrate .. //depot/projects/netperf_socket/sys/boot/pc98/boot2/boot.h#2 integrate .. //depot/projects/netperf_socket/sys/boot/pc98/boot2/disk.c#2 integrate .. //depot/projects/netperf_socket/sys/boot/pc98/boot2/io.c#2 integrate .. //depot/projects/netperf_socket/sys/boot/pc98/boot2/sys.c#2 integrate .. //depot/projects/netperf_socket/sys/coda/coda_vfsops.c#4 integrate .. //depot/projects/netperf_socket/sys/coda/coda_vnops.c#3 integrate .. //depot/projects/netperf_socket/sys/compat/linux/linux_file.c#3 integrate .. //depot/projects/netperf_socket/sys/compat/linux/linux_misc.c#5 integrate .. //depot/projects/netperf_socket/sys/compat/linux/linux_uid16.c#3 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/hal_var.h#3 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/kern_ndis.c#17 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/ndis_var.h#9 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/ntoskrnl_var.h#9 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/pe_var.h#3 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/subr_hal.c#5 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/subr_ndis.c#13 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/subr_ntoskrnl.c#16 integrate .. //depot/projects/netperf_socket/sys/conf/NOTES#31 integrate .. //depot/projects/netperf_socket/sys/conf/files#42 integrate .. //depot/projects/netperf_socket/sys/conf/files.alpha#7 integrate .. //depot/projects/netperf_socket/sys/conf/files.amd64#13 integrate .. //depot/projects/netperf_socket/sys/conf/files.i386#24 integrate .. //depot/projects/netperf_socket/sys/conf/files.ia64#6 integrate .. //depot/projects/netperf_socket/sys/conf/files.pc98#13 integrate .. //depot/projects/netperf_socket/sys/conf/files.sparc64#7 integrate .. //depot/projects/netperf_socket/sys/conf/kern.pre.mk#13 integrate .. //depot/projects/netperf_socket/sys/conf/options#23 integrate .. //depot/projects/netperf_socket/sys/contrib/pf/net/if_pfsync.c#9 integrate .. //depot/projects/netperf_socket/sys/contrib/pf/net/pf.c#12 integrate .. //depot/projects/netperf_socket/sys/contrib/pf/net/pf_norm.c#6 integrate .. //depot/projects/netperf_socket/sys/contrib/pf/net/pf_table.c#4 integrate .. //depot/projects/netperf_socket/sys/ddb/db_main.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/aac/aac.c#8 integrate .. //depot/projects/netperf_socket/sys/dev/aac/aac_disk.c#5 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#33 integrate .. //depot/projects/netperf_socket/sys/dev/arl/if_arl.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/arl/if_arl_isa.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/arl/if_arlreg.h#4 integrate .. //depot/projects/netperf_socket/sys/dev/ata/ata-all.c#11 integrate .. //depot/projects/netperf_socket/sys/dev/ata/ata-chipset.c#12 integrate .. //depot/projects/netperf_socket/sys/dev/ciss/ciss.c#13 integrate .. //depot/projects/netperf_socket/sys/dev/ciss/cissio.h#2 integrate .. //depot/projects/netperf_socket/sys/dev/ciss/cissreg.h#8 integrate .. //depot/projects/netperf_socket/sys/dev/digi/digi.c#14 integrate .. //depot/projects/netperf_socket/sys/dev/fdc/fdc_acpi.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/firewire.c#8 integrate .. //depot/projects/netperf_socket/sys/dev/if_ndis/if_ndis.c#15 integrate .. //depot/projects/netperf_socket/sys/dev/io/iodev.c#1 branch .. //depot/projects/netperf_socket/sys/dev/mem/memdev.c#1 branch .. //depot/projects/netperf_socket/sys/dev/null/null.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/scd/scd.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/si/si.c#11 integrate .. //depot/projects/netperf_socket/sys/dev/syscons/syscons.c#10 integrate .. //depot/projects/netperf_socket/sys/dev/syscons/syscons.h#4 integrate .. //depot/projects/netperf_socket/sys/dev/uart/uart_dev_ns8250.c#5 integrate .. //depot/projects/netperf_socket/sys/dev/usb/ehci.c#7 integrate .. //depot/projects/netperf_socket/sys/dev/usb/ehcivar.h#2 integrate .. //depot/projects/netperf_socket/sys/fs/devfs/devfs_vfsops.c#3 integrate .. //depot/projects/netperf_socket/sys/fs/devfs/devfs_vnops.c#5 integrate .. //depot/projects/netperf_socket/sys/fs/fdescfs/fdesc_vfsops.c#6 integrate .. //depot/projects/netperf_socket/sys/fs/hpfs/hpfs_vfsops.c#4 integrate .. //depot/projects/netperf_socket/sys/fs/hpfs/hpfs_vnops.c#2 integrate .. //depot/projects/netperf_socket/sys/fs/msdosfs/msdosfs_vfsops.c#7 integrate .. //depot/projects/netperf_socket/sys/fs/msdosfs/msdosfs_vnops.c#4 integrate .. //depot/projects/netperf_socket/sys/fs/ntfs/ntfs_subr.c#2 integrate .. //depot/projects/netperf_socket/sys/fs/ntfs/ntfs_vfsops.c#4 integrate .. //depot/projects/netperf_socket/sys/fs/nullfs/null_vfsops.c#5 integrate .. //depot/projects/netperf_socket/sys/fs/nwfs/nwfs_vfsops.c#3 integrate .. //depot/projects/netperf_socket/sys/fs/portalfs/portal_vfsops.c#5 integrate .. //depot/projects/netperf_socket/sys/fs/pseudofs/pseudofs.c#4 integrate .. //depot/projects/netperf_socket/sys/fs/pseudofs/pseudofs.h#3 integrate .. //depot/projects/netperf_socket/sys/fs/smbfs/smbfs_vfsops.c#4 integrate .. //depot/projects/netperf_socket/sys/fs/smbfs/smbfs_vnops.c#3 integrate .. //depot/projects/netperf_socket/sys/fs/udf/udf_vfsops.c#5 integrate .. //depot/projects/netperf_socket/sys/fs/umapfs/umap_vfsops.c#4 integrate .. //depot/projects/netperf_socket/sys/fs/unionfs/union_vfsops.c#4 integrate .. //depot/projects/netperf_socket/sys/geom/concat/g_concat.c#11 integrate .. //depot/projects/netperf_socket/sys/geom/concat/g_concat.h#8 integrate .. //depot/projects/netperf_socket/sys/geom/geom_mbr.c#3 integrate .. //depot/projects/netperf_socket/sys/geom/geom_mirror.c#3 delete .. //depot/projects/netperf_socket/sys/geom/mirror/g_mirror.c#1 branch .. //depot/projects/netperf_socket/sys/geom/mirror/g_mirror.h#1 branch .. //depot/projects/netperf_socket/sys/geom/mirror/g_mirror_ctl.c#1 branch .. //depot/projects/netperf_socket/sys/geom/nop/g_nop.c#4 integrate .. //depot/projects/netperf_socket/sys/geom/nop/g_nop.h#3 integrate .. //depot/projects/netperf_socket/sys/geom/stripe/g_stripe.c#5 integrate .. //depot/projects/netperf_socket/sys/geom/stripe/g_stripe.h#4 integrate .. //depot/projects/netperf_socket/sys/geom/vinum/geom_vinum.c#7 integrate .. //depot/projects/netperf_socket/sys/geom/vinum/geom_vinum.h#2 integrate .. //depot/projects/netperf_socket/sys/geom/vinum/geom_vinum_drive.c#7 integrate .. //depot/projects/netperf_socket/sys/geom/vinum/geom_vinum_init.c#2 integrate .. //depot/projects/netperf_socket/sys/geom/vinum/geom_vinum_plex.c#5 integrate .. //depot/projects/netperf_socket/sys/geom/vinum/geom_vinum_subr.c#4 integrate .. //depot/projects/netperf_socket/sys/gnu/ext2fs/ext2_vfsops.c#8 integrate .. //depot/projects/netperf_socket/sys/gnu/ext2fs/ext2_vnops.c#4 integrate .. //depot/projects/netperf_socket/sys/i386/acpica/acpi_wakeup.c#6 integrate .. //depot/projects/netperf_socket/sys/i386/acpica/genwakecode.sh#2 integrate .. //depot/projects/netperf_socket/sys/i386/conf/GENERIC#10 integrate .. //depot/projects/netperf_socket/sys/i386/conf/NOTES#24 integrate .. //depot/projects/netperf_socket/sys/i386/i386/autoconf.c#4 integrate .. //depot/projects/netperf_socket/sys/i386/i386/io.c#1 branch .. //depot/projects/netperf_socket/sys/i386/i386/mem.c#8 integrate .. //depot/projects/netperf_socket/sys/i386/i386/pmap.c#21 integrate .. //depot/projects/netperf_socket/sys/i386/include/critical.h#4 integrate .. //depot/projects/netperf_socket/sys/i386/include/iodev.h#1 branch .. //depot/projects/netperf_socket/sys/i386/include/memdev.h#1 branch .. //depot/projects/netperf_socket/sys/i386/include/param.h#4 integrate .. //depot/projects/netperf_socket/sys/ia64/conf/GENERIC#5 integrate .. //depot/projects/netperf_socket/sys/ia64/ia64/autoconf.c#3 integrate .. //depot/projects/netperf_socket/sys/ia64/ia64/mem.c#6 integrate .. //depot/projects/netperf_socket/sys/ia64/ia64/pmap.c#15 integrate .. //depot/projects/netperf_socket/sys/ia64/include/cpufunc.h#3 integrate .. //depot/projects/netperf_socket/sys/ia64/include/critical.h#3 integrate .. //depot/projects/netperf_socket/sys/ia64/include/memdev.h#1 branch .. //depot/projects/netperf_socket/sys/isa/psm.c#8 integrate .. //depot/projects/netperf_socket/sys/isofs/cd9660/cd9660_vfsops.c#7 integrate .. //depot/projects/netperf_socket/sys/kern/init_main.c#6 integrate .. //depot/projects/netperf_socket/sys/kern/kern_acl.c#3 integrate .. //depot/projects/netperf_socket/sys/kern/kern_exec.c#13 integrate .. //depot/projects/netperf_socket/sys/kern/kern_exit.c#17 integrate .. //depot/projects/netperf_socket/sys/kern/kern_fork.c#14 integrate .. //depot/projects/netperf_socket/sys/kern/kern_idle.c#5 integrate .. //depot/projects/netperf_socket/sys/kern/kern_ktrace.c#5 integrate .. //depot/projects/netperf_socket/sys/kern/kern_mutex.c#8 integrate .. //depot/projects/netperf_socket/sys/kern/kern_proc.c#12 integrate .. //depot/projects/netperf_socket/sys/kern/kern_prot.c#9 integrate .. //depot/projects/netperf_socket/sys/kern/kern_resource.c#9 integrate .. //depot/projects/netperf_socket/sys/kern/kern_shutdown.c#11 integrate .. //depot/projects/netperf_socket/sys/kern/kern_sig.c#16 integrate .. //depot/projects/netperf_socket/sys/kern/kern_switch.c#7 integrate .. //depot/projects/netperf_socket/sys/kern/kern_synch.c#13 integrate .. //depot/projects/netperf_socket/sys/kern/kern_sysctl.c#8 integrate .. //depot/projects/netperf_socket/sys/kern/kern_xxx.c#4 integrate .. //depot/projects/netperf_socket/sys/kern/sched_ule.c#16 integrate .. //depot/projects/netperf_socket/sys/kern/subr_turnstile.c#6 integrate .. //depot/projects/netperf_socket/sys/kern/subr_witness.c#8 integrate .. //depot/projects/netperf_socket/sys/kern/sys_process.c#10 integrate .. //depot/projects/netperf_socket/sys/kern/sysv_shm.c#6 integrate .. //depot/projects/netperf_socket/sys/kern/uipc_socket.c#35 integrate .. //depot/projects/netperf_socket/sys/kern/uipc_usrreq.c#21 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_aio.c#5 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_bio.c#10 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_cluster.c#3 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_init.c#6 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_mount.c#13 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_subr.c#17 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_syscalls.c#14 integrate .. //depot/projects/netperf_socket/sys/libkern/iconv.c#2 integrate .. //depot/projects/netperf_socket/sys/modules/Makefile#13 integrate .. //depot/projects/netperf_socket/sys/modules/geom/Makefile#6 integrate .. //depot/projects/netperf_socket/sys/modules/geom/geom_mirror/Makefile#1 branch .. //depot/projects/netperf_socket/sys/modules/io/Makefile#1 branch .. //depot/projects/netperf_socket/sys/modules/mem/Makefile#1 branch .. //depot/projects/netperf_socket/sys/net/if.c#14 integrate .. //depot/projects/netperf_socket/sys/net/if.h#6 integrate .. //depot/projects/netperf_socket/sys/net/if_ef.c#5 integrate .. //depot/projects/netperf_socket/sys/net/if_ethersubr.c#19 integrate .. //depot/projects/netperf_socket/sys/net/if_loop.c#8 integrate .. //depot/projects/netperf_socket/sys/net/if_var.h#17 integrate .. //depot/projects/netperf_socket/sys/net/if_vlan.c#12 integrate .. //depot/projects/netperf_socket/sys/net/route.c#10 integrate .. //depot/projects/netperf_socket/sys/net/route.h#10 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_output.c#3 integrate .. //depot/projects/netperf_socket/sys/net80211/ieee80211_proto.c#4 integrate .. //depot/projects/netperf_socket/sys/netatm/spans/spans_kxdr.c#2 integrate .. //depot/projects/netperf_socket/sys/netgraph/atm/ng_atm.c#5 integrate .. //depot/projects/netperf_socket/sys/netgraph/netgraph.h#7 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_base.c#11 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_ether.c#8 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_fec.c#7 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_gif.c#6 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_parse.c#5 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_pppoe.c#6 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_pppoe.h#4 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_sample.c#5 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_socket.c#6 integrate .. //depot/projects/netperf_socket/sys/netinet/in_pcb.c#13 integrate .. //depot/projects/netperf_socket/sys/netinet/raw_ip.c#10 integrate .. //depot/projects/netperf_socket/sys/netinet/tcp_output.c#9 integrate .. //depot/projects/netperf_socket/sys/netinet/tcp_subr.c#13 integrate .. //depot/projects/netperf_socket/sys/netinet/tcp_usrreq.c#12 integrate .. //depot/projects/netperf_socket/sys/netinet/udp_usrreq.c#9 integrate .. //depot/projects/netperf_socket/sys/netinet6/in6_pcb.c#7 integrate .. //depot/projects/netperf_socket/sys/netinet6/raw_ip6.c#5 integrate .. //depot/projects/netperf_socket/sys/netinet6/udp6_usrreq.c#6 integrate .. //depot/projects/netperf_socket/sys/netipx/ipx_cksum.c#2 integrate .. //depot/projects/netperf_socket/sys/netsmb/smb_conn.c#5 integrate .. //depot/projects/netperf_socket/sys/nfs4client/nfs4_vfsops.c#7 integrate .. //depot/projects/netperf_socket/sys/nfs4client/nfs4_vnops.c#5 integrate .. //depot/projects/netperf_socket/sys/nfsclient/bootp_subr.c#6 integrate .. //depot/projects/netperf_socket/sys/nfsclient/nfs_diskless.c#3 integrate .. //depot/projects/netperf_socket/sys/nfsclient/nfs_vfsops.c#8 integrate .. //depot/projects/netperf_socket/sys/nfsclient/nfs_vnops.c#6 integrate .. //depot/projects/netperf_socket/sys/pc98/conf/GENERIC#10 integrate .. //depot/projects/netperf_socket/sys/pc98/conf/NOTES#16 integrate .. //depot/projects/netperf_socket/sys/powerpc/conf/GENERIC#6 integrate .. //depot/projects/netperf_socket/sys/powerpc/include/critical.h#3 integrate .. //depot/projects/netperf_socket/sys/powerpc/include/kdb.h#2 integrate .. //depot/projects/netperf_socket/sys/powerpc/include/reg.h#2 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/db_interface.c#3 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/machdep.c#6 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/pmap.c#12 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/trap_subr.S#5 integrate .. //depot/projects/netperf_socket/sys/security/mac_biba/mac_biba.c#6 integrate .. //depot/projects/netperf_socket/sys/security/mac_lomac/mac_lomac.c#5 integrate .. //depot/projects/netperf_socket/sys/security/mac_mls/mac_mls.c#6 integrate .. //depot/projects/netperf_socket/sys/sparc64/conf/GENERIC#8 integrate .. //depot/projects/netperf_socket/sys/sparc64/include/critical.h#3 integrate .. //depot/projects/netperf_socket/sys/sparc64/include/memdev.h#1 branch .. //depot/projects/netperf_socket/sys/sparc64/sparc64/mem.c#6 integrate .. //depot/projects/netperf_socket/sys/sparc64/sparc64/pmap.c#10 integrate .. //depot/projects/netperf_socket/sys/sys/_task.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/buf.h#4 integrate .. //depot/projects/netperf_socket/sys/sys/cdefs.h#5 integrate .. //depot/projects/netperf_socket/sys/sys/linker_set.h#3 integrate .. //depot/projects/netperf_socket/sys/sys/mount.h#12 integrate .. //depot/projects/netperf_socket/sys/sys/mouse.h#2 integrate .. //depot/projects/netperf_socket/sys/sys/param.h#21 integrate .. //depot/projects/netperf_socket/sys/sys/proc.h#20 integrate .. //depot/projects/netperf_socket/sys/sys/sysctl.h#8 integrate .. //depot/projects/netperf_socket/sys/sys/systm.h#8 integrate .. //depot/projects/netperf_socket/sys/ufs/ffs/ffs_alloc.c#6 integrate .. //depot/projects/netperf_socket/sys/ufs/ffs/ffs_extern.h#3 integrate .. //depot/projects/netperf_socket/sys/ufs/ffs/ffs_inode.c#3 integrate .. //depot/projects/netperf_socket/sys/ufs/ffs/ffs_snapshot.c#7 integrate .. //depot/projects/netperf_socket/sys/ufs/ffs/ffs_softdep.c#6 integrate .. //depot/projects/netperf_socket/sys/ufs/ffs/ffs_vfsops.c#9 integrate .. //depot/projects/netperf_socket/sys/ufs/ffs/ffs_vnops.c#6 integrate .. //depot/projects/netperf_socket/sys/ufs/ufs/inode.h#3 integrate .. //depot/projects/netperf_socket/sys/ufs/ufs/ufs_acl.c#2 integrate .. //depot/projects/netperf_socket/sys/ufs/ufs/ufs_inode.c#3 integrate .. //depot/projects/netperf_socket/sys/ufs/ufs/ufs_lookup.c#4 integrate .. //depot/projects/netperf_socket/sys/ufs/ufs/ufs_quota.c#4 integrate .. //depot/projects/netperf_socket/sys/ufs/ufs/ufs_vnops.c#5 integrate .. //depot/projects/netperf_socket/sys/vm/device_pager.c#5 integrate .. //depot/projects/netperf_socket/sys/vm/uma_core.c#11 integrate .. //depot/projects/netperf_socket/sys/vm/uma_int.h#3 integrate .. //depot/projects/netperf_socket/sys/vm/vm_extern.h#7 integrate .. //depot/projects/netperf_socket/sys/vm/vm_glue.c#11 integrate .. //depot/projects/netperf_socket/sys/vm/vm_kern.c#6 integrate .. //depot/projects/netperf_socket/sys/vm/vm_map.c#15 integrate .. //depot/projects/netperf_socket/sys/vm/vm_map.h#8 integrate .. //depot/projects/netperf_socket/sys/vm/vm_object.c#9 integrate .. //depot/projects/netperf_socket/sys/vm/vm_page.c#13 integrate Differences ... ==== //depot/projects/netperf_socket/sys/alpha/alpha/autoconf.c#3 (text+ko) ==== @@ -25,12 +25,10 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/alpha/autoconf.c,v 1.59 2004/07/08 22:35:33 brian Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/autoconf.c,v 1.60 2004/07/28 21:54:56 phk Exp $"); #include "opt_bootp.h" #include "opt_isa.h" -#include "opt_nfs.h" -#include "opt_nfsroot.h" #include <sys/param.h> #include <sys/systm.h> @@ -67,8 +65,6 @@ device_t isa_bus_device = 0; #endif -extern int nfs_diskless_valid; /* XXX use include file */ - static void configure_start() { @@ -194,20 +190,3 @@ cold = 0; } - -/* - * Do legacy root filesystem discovery. This isn't really - * needed on the Alpha, which has always used the loader. - */ -void -cpu_rootconf() -{ -#if defined(NFSCLIENT) && defined(NFS_ROOT) - int order = 0; -#if !defined(BOOTP_NFSROOT) - if (nfs_diskless_valid) -#endif - rootdevnames[order++] = "nfs:"; -#endif -} -SYSINIT(cpu_rootconf, SI_SUB_ROOT_CONF, SI_ORDER_FIRST, cpu_rootconf, NULL) ==== //depot/projects/netperf_socket/sys/alpha/alpha/mem.c#6 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/alpha/mem.c,v 1.50 2004/06/16 09:46:26 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/mem.c,v 1.51 2004/08/01 11:40:50 markm Exp $"); /* * Memory special file @@ -59,85 +59,19 @@ #include <sys/uio.h> #include <machine/md_var.h> -#ifdef PERFMON -#include <machine/perfmon.h> -#endif #include <vm/vm.h> #include <vm/pmap.h> #include <vm/vm_extern.h> -static struct cdev *memdev, *kmemdev; -#ifdef PERFMON -static struct cdev *perfdev; -#endif /* PERFMON */ - -static d_open_t mmopen; -static d_close_t mmclose; -static d_read_t mmrw; -static d_ioctl_t mmioctl; -static d_mmap_t memmmap; +#include <machine/memdev.h> -#define CDEV_MAJOR 2 -static struct cdevsw mem_cdevsw = { - .d_version = D_VERSION, - .d_open = mmopen, - .d_close = mmclose, - .d_read = mmrw, - .d_write = mmrw, - .d_ioctl = mmioctl, - .d_mmap = memmmap, - .d_name = "mem", - .d_maj = CDEV_MAJOR, - .d_flags = D_MEM | D_NEEDGIANT, -}; - struct mem_range_softc mem_range_softc; -static int -mmclose(struct cdev *dev, int flags, int fmt, struct thread *td) +/* ARGSUSED */ +int +memrw(struct cdev *dev, struct uio *uio, int flags) { - switch (minor(dev)) { -#ifdef PERFMON - case 32: - return perfmon_close(dev, flags, fmt, td); -#endif - default: - break; - } - return (0); -} - -static int -mmopen(struct cdev *dev, int flags, int fmt, struct thread *td) -{ - int error; - - switch (minor(dev)) { - case 0: - case 1: - if (flags & FWRITE) { - error = securelevel_gt(td->td_ucred, 0); - if (error) - return (error); - } - break; - case 32: -#ifdef PERFMON - return perfmon_open(dev, flags, fmt, td); -#else - return ENODEV; -#endif - default: - break; - } - return (0); -} - -/*ARGSUSED*/ -static int -mmrw(struct cdev *dev, struct uio *uio, int flags) -{ vm_offset_t o, v; int c = 0; struct iovec *iov; @@ -152,13 +86,10 @@ uio->uio_iov++; uio->uio_iovcnt--; if (uio->uio_iovcnt < 0) - panic("mmrw"); + panic("memrw"); continue; } - switch (minor(dev)) { - -/* minor device 0 is physical memory */ - case 0: + if (minor(dev) == CDEV_MINOR_MEM) { v = uio->uio_offset; kmemphys: /* Allow reads only in RAM. */ @@ -174,9 +105,8 @@ error = uiomove((caddr_t)ALPHA_PHYS_TO_K0SEG(v), c, uio); continue; - -/* minor device 1 is kernel memory */ - case 1: + } + else if (minor(dev) == CDEV_MINOR_KMEM) { v = uio->uio_offset; if (v >= ALPHA_K0SEG_BASE && v <= ALPHA_K0SEG_END) { @@ -186,8 +116,9 @@ c = min(iov->iov_len, MAXPHYS); /* - * Make sure that all of the pages are currently resident so - * that we don't create any zero-fill pages. + * Make sure that all of the pages are currently + * resident so that we don't create any zero-fill + * pages. */ addr = trunc_page(v); eaddr = round_page(v + c); @@ -203,22 +134,16 @@ error = uiomove((caddr_t)v, c, uio); continue; } - - if (error) - break; - iov->iov_base = (char *)iov->iov_base + c; - iov->iov_len -= c; - uio->uio_offset += c; - uio->uio_resid -= c; + /* else panic! */ } return (error); } -/*******************************************************\ -* allow user processes to MMAP some memory sections * -* instead of going through read/write * -\*******************************************************/ -static int +/* + * allow user processes to MMAP some memory sections + * instead of going through read/write + */ +int memmmap(struct cdev *dev, vm_offset_t offset, vm_paddr_t *paddr, int prot) { /* @@ -227,7 +152,7 @@ * could be transient and hence incorrect or invalid at * a later time. */ - if (minor(dev) != 0) + if (minor(dev) != CDEV_MINOR_MEM) return (-1); /* @@ -239,59 +164,7 @@ return (0); } -static int -mmioctl(struct cdev *dev, u_long cmd, caddr_t cmdarg, int flags, struct thread *td) -{ - switch(minor(dev)) { -#ifdef PERFMON - case 32: - return perfmon_ioctl(dev, cmd, cmdarg, flags, td); -#endif - default: - return ENODEV; - } - - return (0); -} - -static int -mem_modevent(module_t mod, int type, void *data) +void +dev_mem_md_init(void) { - switch(type) { - case MOD_LOAD: - if (bootverbose) - printf("mem: <memory & I/O>\n"); -/* XXX - ??? */ -#if 0 - /* Initialise memory range handling */ - if (mem_range_softc.mr_op != NULL) - mem_range_softc.mr_op->init(&mem_range_softc); -#endif - - memdev = make_dev(&mem_cdevsw, 0, UID_ROOT, GID_KMEM, - 0640, "mem"); - kmemdev = make_dev(&mem_cdevsw, 1, UID_ROOT, GID_KMEM, - 0640, "kmem"); -#ifdef PERFMON - perfdev = make_dev(&mem_cdevsw, 32, UID_ROOT, GID_KMEM, - 0640, "perfmon"); -#endif /* PERFMON */ - return 0; - - case MOD_UNLOAD: - destroy_dev(memdev); - destroy_dev(kmemdev); -#ifdef PERFMON - destroy_dev(perfdev); -#endif /* PERFMON */ - return 0; - - case MOD_SHUTDOWN: - return 0; - - default: - return EOPNOTSUPP; - } } - -DEV_MODULE(mem, mem_modevent, NULL); ==== //depot/projects/netperf_socket/sys/alpha/alpha/pmap.c#15 (text+ko) ==== @@ -148,7 +148,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.163 2004/07/21 03:38:46 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.164 2004/07/29 18:56:30 alc Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1070,7 +1070,11 @@ */ if ((m = vm_page_alloc(NULL, ptepindex, VM_ALLOC_NOOBJ | VM_ALLOC_WIRED | VM_ALLOC_ZERO)) == NULL) { + PMAP_UNLOCK(pmap); + vm_page_unlock_queues(); VM_WAIT; + vm_page_lock_queues(); + PMAP_LOCK(pmap); /* * Indicate the need to retry. While waiting, the page table @@ -1107,10 +1111,8 @@ pt_entry_t* l2map; if (!pmap_pte_v(l1pte)) { if (_pmap_allocpte(pmap, NUSERLEV3MAPS + l1index) == NULL) { - vm_page_lock_queues(); vm_page_unhold(m); vm_page_free(m); - vm_page_unlock_queues(); return (NULL); } } else { @@ -1402,11 +1404,11 @@ pv->pv_pmap = pmap; pv->pv_ptem = mpte; - vm_page_lock_queues(); + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + mtx_assert(&vm_page_queue_mtx, MA_OWNED); TAILQ_INSERT_TAIL(&pmap->pm_pvlist, pv, pv_plist); TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list); m->md.pv_list_count++; - vm_page_unlock_queues(); } /* @@ -1697,6 +1699,10 @@ #endif mpte = NULL; + + vm_page_lock_queues(); + PMAP_LOCK(pmap); + /* * In the case that a page table page is not * resident, we are creating it here. @@ -1762,11 +1768,7 @@ */ if (opa) { int err; - vm_page_lock_queues(); - PMAP_LOCK(pmap); err = pmap_remove_pte(pmap, pte, va); - PMAP_UNLOCK(pmap); - vm_page_unlock_queues(); if (err) panic("pmap_enter: pte vanished, va: 0x%lx", va); } @@ -1820,6 +1822,8 @@ if (prot & VM_PROT_EXECUTE) alpha_pal_imb(); } + vm_page_unlock_queues(); + PMAP_UNLOCK(pmap); } /* @@ -1839,6 +1843,9 @@ register pt_entry_t *pte; int managed; + vm_page_lock_queues(); + PMAP_LOCK(pmap); + /* * In the case that a page table page is not * resident, we are creating it here. @@ -1892,12 +1899,10 @@ pte = vtopte(va); if (*pte) { if (mpte != NULL) { - vm_page_lock_queues(); pmap_unwire_pte_hold(pmap, va, mpte); - vm_page_unlock_queues(); + mpte = NULL; } - alpha_pal_imb(); /* XXX overkill? */ - return 0; + goto out; } /* @@ -1920,8 +1925,10 @@ * Now validate mapping with RO protection */ *pte = pmap_phys_to_pte(VM_PAGE_TO_PHYS(m)) | PG_V | PG_KRE | PG_URE | managed; - +out: alpha_pal_imb(); /* XXX overkill? */ + vm_page_unlock_queues(); + PMAP_UNLOCK(pmap); return mpte; } ==== //depot/projects/netperf_socket/sys/alpha/conf/GENERIC#6 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.172 2004/07/18 09:03:11 maxim Exp $ +# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.173 2004/08/01 11:40:50 markm Exp $ machine alpha cpu EV4 @@ -171,8 +171,10 @@ device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') # Pseudo devices. +device loop # Network loopback +device mem # Memory and kernel memory devices +device null # Null and zero devices device random # Entropy device -device loop # Network loopback device ether # Ethernet support device sl # Kernel SLIP device ppp # Kernel PPP ==== //depot/projects/netperf_socket/sys/alpha/include/critical.h#3 (text+ko) ==== @@ -33,7 +33,7 @@ * related support functions residing * in <arch>/<arch>/critical.c - prototyped * - * $FreeBSD: src/sys/alpha/include/critical.h,v 1.4 2004/03/05 09:19:59 le Exp $ + * $FreeBSD: src/sys/alpha/include/critical.h,v 1.5 2004/07/27 16:41:00 rwatson Exp $ */ #ifndef _MACHINE_CRITICAL_H_ @@ -55,11 +55,9 @@ * of td_critnest, prior to it being incremented to 1. */ static __inline void -cpu_critical_enter(void) +cpu_critical_enter(struct thread *td) { - struct thread *td; - td = curthread; td->td_md.md_savecrit = intr_disable(); } @@ -71,18 +69,16 @@ * exiting the last critical section. */ static __inline void -cpu_critical_exit(void) +cpu_critical_exit(struct thread *td) { - struct thread *td; - td = curthread; intr_restore(td->td_md.md_savecrit); } #else /* !__GNUC__ */ -void cpu_critical_enter(void); -void cpu_critical_exit(void); +void cpu_critical_enter(struct thread *td); +void cpu_critical_exit(struct thread *td); #endif /* __GNUC__ */ ==== //depot/projects/netperf_socket/sys/alpha/include/param.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/alpha/include/param.h,v 1.34 2004/07/02 20:21:41 jhb Exp $ */ +/* $FreeBSD: src/sys/alpha/include/param.h,v 1.35 2004/08/01 14:31:45 scottl Exp $ */ /* From: NetBSD: param.h,v 1.20 1997/09/19 13:52:53 leo Exp */ /* @@ -113,7 +113,10 @@ #define SSIZE 1 /* initial stack size/NBPG */ #define SINCR 1 /* increment of stack/NBPG */ +/* PREEMPTION exposes scheduler bugs that need to be fixed. */ +#if 0 #define PREEMPTION +#endif #ifndef KSTACK_PAGES #define KSTACK_PAGES 2 /* pages of kstack (with pcb) */ ==== //depot/projects/netperf_socket/sys/alpha/osf1/osf1_misc.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_misc.c,v 1.46 2004/03/17 19:59:59 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_misc.c,v 1.47 2004/07/26 07:24:01 cperciva Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1048,7 +1048,7 @@ PROC_LOCK(p); oldcred = p->p_ucred; - if ((error = suser_cred(p->p_ucred, PRISON_ROOT)) != 0 && + if ((error = suser_cred(p->p_ucred, SUSER_ALLOWJAIL)) != 0 && uid != oldcred->cr_ruid && uid != oldcred->cr_svuid) { PROC_UNLOCK(p); uifree(uip); @@ -1102,7 +1102,7 @@ PROC_LOCK(p); oldcred = p->p_ucred; - if (((error = suser_cred(p->p_ucred, PRISON_ROOT)) != 0 ) && + if (((error = suser_cred(p->p_ucred, SUSER_ALLOWJAIL)) != 0 ) && gid != oldcred->cr_rgid && gid != oldcred->cr_svgid) { PROC_UNLOCK(p); crfree(newcred); ==== //depot/projects/netperf_socket/sys/amd64/amd64/autoconf.c#4 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.180 2004/07/08 22:35:33 brian Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/autoconf.c,v 1.181 2004/07/28 21:54:56 phk Exp $"); /* * Setup the system to run on the current machine. @@ -45,8 +45,6 @@ */ #include "opt_bootp.h" #include "opt_isa.h" -#include "opt_nfs.h" -#include "opt_nfsroot.h" #include "opt_bus.h" #include <sys/param.h> @@ -66,10 +64,6 @@ #include <net/if_var.h> #include <net/ethernet.h> #include <netinet/in.h> -#include <nfs/rpcv2.h> -#include <nfs/nfsproto.h> -#include <nfsclient/nfs.h> -#include <nfsclient/nfsdiskless.h> #include <machine/md_var.h> @@ -136,22 +130,3 @@ printf("Device configuration finished.\n"); cold = 0; } - -/* - * Do legacy root filesystem discovery. - */ -void -cpu_rootconf() -{ -#ifdef BOOTP - bootpc_init(); -#endif -#if defined(NFSCLIENT) && defined(NFS_ROOT) -#if !defined(BOOTP_NFSROOT) - nfs_setup_diskless(); - if (nfs_diskless_valid) -#endif - rootdevnames[0] = "nfs:"; -#endif -} -SYSINIT(cpu_rootconf, SI_SUB_ROOT_CONF, SI_ORDER_FIRST, cpu_rootconf, NULL) ==== //depot/projects/netperf_socket/sys/amd64/amd64/machdep.c#12 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.614 2004/07/13 07:22:54 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.615 2004/07/31 14:02:29 davidxu Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1533,6 +1533,7 @@ tp->tf_rflags = rflags; tp->tf_rsp = mcp->mc_rsp; tp->tf_ss = mcp->mc_ss; + td->td_pcb->pcb_flags |= PCB_FULLCTX; return (0); } ==== //depot/projects/netperf_socket/sys/amd64/amd64/mem.c#6 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mem.c,v 1.116 2004/06/16 09:46:27 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mem.c,v 1.117 2004/08/01 11:40:50 markm Exp $"); /* * Memory special file @@ -47,7 +47,6 @@ #include <sys/conf.h> #include <sys/fcntl.h> #include <sys/ioccom.h> -#include <sys/kernel.h> #include <sys/lock.h> #include <sys/malloc.h> #include <sys/memrange.h> @@ -58,83 +57,20 @@ #include <sys/systm.h> #include <sys/uio.h> -#include <machine/db_machdep.h> -#include <machine/frame.h> -#include <machine/psl.h> #include <machine/specialreg.h> -#include <machine/vmparam.h> #include <vm/vm.h> #include <vm/pmap.h> #include <vm/vm_extern.h> -static struct cdev *memdev, *kmemdev, *iodev; - -static d_open_t mmopen; -static d_close_t mmclose; -static d_read_t mmrw; -static d_ioctl_t mmioctl; -static d_mmap_t memmmap; +#include <machine/memdev.h> -#define CDEV_MAJOR 2 -static struct cdevsw mem_cdevsw = { - .d_version = D_VERSION, - .d_open = mmopen, - .d_close = mmclose, - .d_read = mmrw, - .d_write = mmrw, - .d_ioctl = mmioctl, - .d_mmap = memmmap, - .d_name = "mem", - .d_maj = CDEV_MAJOR, - .d_flags = D_MEM | D_NEEDGIANT, -}; - -MALLOC_DEFINE(M_MEMDESC, "memdesc", "memory range descriptors"); - struct mem_range_softc mem_range_softc; -static int -mmclose(struct cdev *dev, int flags, int fmt, struct thread *td) >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200408020120.i721Kmja095604>