Date: Wed, 13 Jun 2007 22:23:00 GMT From: Ulf Lilleengen <lulf@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 121604 for review Message-ID: <200706132223.l5DMN0P6019296@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=121604 Change 121604 by lulf@lulf_carrot on 2007/06/13 22:21:59 - Integrate. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sbin/Makefile#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/NOTES#6 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files#8 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.amd64#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.i386#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.pc98#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.sparc64#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.sun4v#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options.arm#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/DEFAULTS#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/GENERIC#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/PAE#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/busdma_machdep.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/trap.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/include/kdb.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/init_main.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_acct.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_clock.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_exec.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_exit.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_fork.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_kse.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_ktrace.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_mutex.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_priv.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_proc.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_prot.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_resource.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_sig.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_switch.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_sysctl.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_thread.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_time.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sched_4bsd.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sched_ule.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_acl_posix1e.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_witness.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sysv_ipc.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sysv_msg.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/tty.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/uipc_mqueue.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_aio.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_bio.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_mount.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_subr.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_syscalls.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/modules/Makefile#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/mbuf.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/param.h#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/priv.h#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/proc.h#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/resourcevar.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/sched.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/socket.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/systm.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/vmmeter.h#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_contig.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_object.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_page.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_pageout.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_pageq.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_phys.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_phys.h#1 branch Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sbin/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.5 (Berkeley) 3/31/94 -# $FreeBSD: src/sbin/Makefile,v 1.165 2007/01/23 09:18:25 rodrigc Exp $ +# $FreeBSD: src/sbin/Makefile,v 1.166 2007/06/12 21:31:39 phk Exp $ .include <bsd.own.mk> @@ -73,6 +73,7 @@ quotacheck \ rcorder \ reboot \ + recoverdisk \ restore \ route \ routed \ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/NOTES#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1428 2007/06/05 00:12:36 jeff Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1430 2007/06/11 03:36:48 sam Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -226,11 +226,6 @@ # and WITNESS options. options MUTEX_NOINLINE -# MUTEX_WAKE_ALL changes the mutex unlock algorithm to wake all waiters -# when a contested mutex is released rather than just awaking the highest -# priority waiter. -options MUTEX_WAKE_ALL - # RWLOCK_NOINLINE forces rwlock operations to call functions to perform each # operation rather than inlining the simple cases. This can be used to # shrink the size of the kernel text segment. Note that this behavior is @@ -791,6 +786,8 @@ device wlan_xauth #802.11 external authenticator support device wlan_acl #802.11 MAC ACL support device wlan_amrr #AMRR transmit rate control algorithm +device wlan_scan_ap #802.11 AP mode scanning +device wlan_scan_sta #802.11 STA mode scanning device token #Generic TokenRing device fddi #Generic FDDI device arcnet #Generic Arcnet ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1214 2007/06/05 00:12:36 jeff Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1217 2007/06/12 16:24:54 bms Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -768,6 +768,7 @@ # XXX only xl cards? dev/mii/exphy.c optional miibus | exphy dev/mii/gentbi.c optional miibus | gentbi +dev/mii/icsphy.c optional miibus | icsphy # XXX only fxp cards? dev/mii/inphy.c optional miibus | inphy dev/mii/ip1000phy.c optional miibus | ip1000phy @@ -1612,11 +1613,17 @@ net80211/ieee80211_crypto_tkip.c optional wlan_tkip net80211/ieee80211_crypto_wep.c optional wlan_wep net80211/ieee80211_freebsd.c optional wlan +net80211/ieee80211_ht.c optional wlan net80211/ieee80211_input.c optional wlan net80211/ieee80211_ioctl.c optional wlan net80211/ieee80211_node.c optional wlan net80211/ieee80211_output.c optional wlan +net80211/ieee80211_power.c optional wlan net80211/ieee80211_proto.c optional wlan +net80211/ieee80211_regdomain.c optional wlan +net80211/ieee80211_scan.c optional wlan +net80211/ieee80211_scan_ap.c optional wlan_scan_ap +net80211/ieee80211_scan_sta.c optional wlan_scan_sta net80211/ieee80211_xauth.c optional wlan_xauth netatalk/aarp.c optional netatalk netatalk/at_control.c optional netatalk @@ -1794,6 +1801,7 @@ netinet/in_gif.c optional gif inet netinet/ip_gre.c optional gre inet netinet/ip_id.c optional inet +netinet/in_mcast.c optional inet netinet/in_pcb.c optional inet netinet/in_proto.c optional inet \ compile-with "${NORMAL_C} -I$S/contrib/pf" ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.amd64#3 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.amd64,v 1.103 2007/05/23 15:45:51 kib Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.104 2007/06/11 00:38:05 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -199,10 +199,6 @@ dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc dev/uart/uart_cpu_amd64.c optional uart -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_mbr.c standard -geom/geom_mbr_enc.c standard isa/syscons_isa.c optional sc isa/vga_isa.c optional vga kern/link_elf_obj.c standard ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.i386#3 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.i386,v 1.576 2007/05/23 15:45:51 kib Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.577 2007/06/11 00:38:05 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -231,10 +231,6 @@ dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc dev/uart/uart_cpu_i386.c optional uart -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_mbr.c standard -geom/geom_mbr_enc.c standard dev/acpica/acpi_if.m standard i386/acpica/OsdEnvironment.c optional acpi i386/acpica/acpi_machdep.c optional acpi ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.pc98#3 (text+ko) ==== @@ -3,7 +3,7 @@ # # modified for PC-9801/PC-9821 # -# $FreeBSD: src/sys/conf/files.pc98,v 1.354 2007/05/23 15:45:51 kib Exp $ +# $FreeBSD: src/sys/conf/files.pc98,v 1.355 2007/06/11 00:38:06 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -137,10 +137,6 @@ dev/speaker/spkr.c optional speaker dev/syscons/apm/apm_saver.c optional apm_saver apm dev/uart/uart_cpu_pc98.c optional uart -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_pc98.c standard -geom/geom_pc98_enc.c standard i386/bios/apm.c optional apm #i386/i386/apic_vector.s optional apic i386/i386/atomic.c standard \ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.sparc64#2 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.sparc64,v 1.88 2007/03/07 21:13:49 marius Exp $ +# $FreeBSD: src/sys/conf/files.sparc64,v 1.89 2007/06/11 00:38:06 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -67,10 +67,6 @@ dev/syscons/scvtb.c optional sc dev/uart/uart_cpu_sparc64.c optional uart dev/uart/uart_kbd_sun.c optional uart sc -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_sunlabel.c standard -geom/geom_sunlabel_enc.c standard kern/syscalls.c optional ktr libkern/ffs.c standard libkern/ffsl.c standard ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files.sun4v#2 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.sun4v,v 1.8 2006/12/18 07:26:35 kmacy Exp $ +# $FreeBSD: src/sys/conf/files.sun4v,v 1.9 2007/06/11 00:38:06 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -28,10 +28,6 @@ dev/ofw/openfirmio.c standard dev/ofw/openpromio.c standard dev/uart/uart_cpu_sparc64.c optional uart -geom/geom_bsd.c standard -geom/geom_bsd_enc.c standard -geom/geom_sunlabel.c standard -geom/geom_sunlabel_enc.c standard kern/syscalls.c optional ktr libkern/ffs.c standard libkern/ffsl.c standard ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.590 2007/06/05 00:12:36 jeff Exp $ +# $FreeBSD: src/sys/conf/options,v 1.591 2007/06/08 21:36:52 attilio Exp $ # # On the handling of kernel options # @@ -123,7 +123,6 @@ MFI_DECODE_LOG opt_mfi.h MPROF_BUFFERS opt_mprof.h MPROF_HASH_SIZE opt_mprof.h -MUTEX_WAKE_ALL NO_ADAPTIVE_MUTEXES opt_adaptive_mutexes.h NO_ADAPTIVE_RWLOCKS NSWBUF_MIN opt_swap.h ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options.arm#2 (text+ko) ==== @@ -1,4 +1,4 @@ -#$FreeBSD: src/sys/conf/options.arm,v 1.16 2007/02/19 01:03:07 cognet Exp $ +#$FreeBSD: src/sys/conf/options.arm,v 1.17 2007/06/11 21:31:13 cognet Exp $ ARM9_CACHE_WRITE_THROUGH opt_global.h ARM_CACHE_LOCK_ENABLE opt_global.h ARMFPE opt_global.h @@ -8,8 +8,9 @@ CPU_SA1100 opt_global.h CPU_SA1110 opt_global.h CPU_ARM9 opt_global.h +CPU_XSCALE_80219 opt_global.h CPU_XSCALE_80321 opt_global.h -CPU_XSCALE_80219 opt_global.h +CPU_XSCALE_81342 opt_global.h CPU_XSCALE_IXP425 opt_global.h FLASHADDR opt_global.h KERNPHYSADDR opt_global.h ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/DEFAULTS#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/i386 # -# $FreeBSD: src/sys/i386/conf/DEFAULTS,v 1.9 2006/11/04 23:50:12 jb Exp $ +# $FreeBSD: src/sys/i386/conf/DEFAULTS,v 1.10 2007/06/11 00:38:06 marcel Exp $ machine i386 @@ -19,5 +19,9 @@ # UART chips on this platform device uart_ns8250 +# Default partitioning schemes +options GEOM_BSD +options GEOM_MBR + # KSE support went from being default to a kernel option options KSE ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/GENERIC#4 (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/i386/conf/GENERIC,v 1.468 2007/05/28 14:38:42 simokawa Exp $ +# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.471 2007/06/12 02:24:30 yongari Exp $ cpu I486_CPU cpu I586_CPU @@ -60,6 +60,7 @@ options KBD_INSTALL_CDEV # install a CDEV entry in /dev options ADAPTIVE_GIANT # Giant mutex is adaptive. options STOP_NMI # Stop CPUS using NMI instead of IPI +options AUDIT # Security event auditing # Debugging for use in -current options KDB # Enable kernel debugger support. @@ -210,8 +211,9 @@ device fxp # Intel EtherExpress PRO/100B (82557, 82558) device lge # Level 1 LXT1001 gigabit Ethernet device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet +device nfe # nVidia nForce MCP on-board Ethernet device nge # NatSemi DP83820 gigabit Ethernet -device nve # nVidia nForce MCP on-board Ethernet Networking +#device nve # nVidia nForce MCP on-board Ethernet Networking device pcn # AMD Am79C97x PCI 10/100 (precedence over 'le') device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 @@ -245,6 +247,8 @@ device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support device wlan_amrr # AMRR transmit rate control algorithm +device wlan_scan_ap # 802.11 AP mode scanning +device wlan_scan_sta # 802.11 STA mode scanning device an # Aironet 4500/4800 802.11 wireless NICs. device ath # Atheros pci/cardbus NIC's device ath_hal # Atheros HAL (Hardware Access Layer) ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/PAE#3 (text+ko) ==== @@ -1,7 +1,7 @@ # # PAE -- Generic kernel configuration file for FreeBSD/i386 PAE # -# $FreeBSD: src/sys/i386/conf/PAE,v 1.24 2007/05/07 02:06:03 kevlo Exp $ +# $FreeBSD: src/sys/i386/conf/PAE,v 1.25 2007/06/11 19:29:42 thompsa Exp $ include GENERIC @@ -80,6 +80,8 @@ nodevice wlan_ccmp # 802.11 CCMP support nodevice wlan_tkip # 802.11 TKIP support nodevice wlan_amrr # AMRR transmit rate control algorithm +nodevice wlan_scan_ap # 802.11 AP mode scanning +nodevice wlan_scan_sta # 802.11 STA mode scanning nodevice an nodevice ath # Atheros pci/cardbus NIC's nodevice ath_hal # Atheros HAL (Hardware Access Layer) ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/busdma_machdep.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/i386/i386/busdma_machdep.c,v 1.88 2007/05/29 06:30:25 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/busdma_machdep.c,v 1.89 2007/06/11 17:57:24 mjacob Exp $"); #include <sys/param.h> #include <sys/kdb.h> @@ -225,6 +225,10 @@ if (boundary != 0 && boundary < maxsegsz) maxsegsz = boundary; + if (maxsegsz == 0) { + return (EINVAL); + } + /* Return a NULL tag on failure */ *dmat = NULL; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/trap.c#3 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/i386/i386/trap.c,v 1.304 2007/06/04 21:38:46 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/trap.c,v 1.305 2007/06/10 21:59:13 attilio Exp $"); /* * 386 Trap and System call handling @@ -921,10 +921,6 @@ u_int code; ksiginfo_t ksi; - /* - * note: PCPU_INC() can only be used if we can afford - * occassional inaccuracy in the count. - */ PCPU_INC(cnt.v_syscall); #ifdef DIAGNOSTIC ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/include/kdb.h#2 (text+ko) ==== @@ -23,7 +23,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/i386/include/kdb.h,v 1.3 2006/04/03 22:51:47 marcel Exp $ + * $FreeBSD: src/sys/i386/include/kdb.h,v 1.4 2007/06/09 21:55:17 marcel Exp $ */ #ifndef _MACHINE_KDB_H_ @@ -47,6 +47,11 @@ } static __inline void +kdb_cpu_sync_icache(unsigned char *addr, size_t size) +{ +} + +static __inline void kdb_cpu_trap(int type, int code) { } ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/init_main.c#4 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/init_main.c,v 1.280 2007/06/08 11:47:36 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/init_main.c,v 1.282 2007/06/10 00:28:41 attilio Exp $"); #include "opt_ddb.h" #include "opt_init_path.h" @@ -500,6 +500,7 @@ { struct timespec ts; struct proc *p; + struct rusage ru; /* * Now we can look at the time, having had a chance to verify the @@ -508,7 +509,13 @@ sx_slock(&allproc_lock); FOREACH_PROC_IN_SYSTEM(p) { microuptime(&p->p_stats->p_start); + PROC_SLOCK(p); + rufetch(p, &ru); /* Clears thread stats */ + PROC_SUNLOCK(p); p->p_rux.rux_runtime = 0; + p->p_rux.rux_uticks = 0; + p->p_rux.rux_sticks = 0; + p->p_rux.rux_iticks = 0; } sx_sunlock(&allproc_lock); PCPU_SET(switchtime, cpu_ticks()); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_acct.c#4 (text+ko) ==== @@ -68,7 +68,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_acct.c,v 1.92 2007/06/05 00:00:53 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_acct.c,v 1.93 2007/06/09 21:48:44 attilio Exp $"); #include "opt_mac.h" @@ -370,8 +370,7 @@ bcopy(p->p_comm, acct.ac_comm, sizeof acct.ac_comm); /* (2) The amount of user and system time that was used */ - rufetch(p, &ru); - calcru(p, &ut, &st); + rufetchcalc(p, &ru, &ut, &st); acct.ac_utime = encode_timeval(ut); acct.ac_stime = encode_timeval(st); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_clock.c#5 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_clock.c,v 1.200 2007/06/04 23:53:06 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_clock.c,v 1.201 2007/06/09 19:41:13 attilio Exp $"); #include "opt_kdb.h" #include "opt_device_polling.h" @@ -85,7 +85,7 @@ long cp_time[CPUSTATES]; /* Spin-lock protecting profiling statistics. */ -struct mtx time_lock; +static struct mtx time_lock; static int sysctl_kern_cp_time(SYSCTL_HANDLER_ARGS) ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_exec.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.304 2007/05/31 11:51:51 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exec.c,v 1.305 2007/06/12 00:11:59 rwatson Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_ktrace.h" @@ -567,8 +567,7 @@ #ifdef KTRACE if (p->p_tracevp != NULL && - priv_check_cred(oldcred, PRIV_DEBUG_DIFFCRED, - SUSER_ALLOWJAIL)) { + priv_check_cred(oldcred, PRIV_DEBUG_DIFFCRED, 0)) { mtx_lock(&ktrace_mtx); p->p_traceflag = 0; tracevp = p->p_tracevp; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_exit.c#4 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.301 2007/06/07 22:27:14 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_exit.c,v 1.303 2007/06/09 21:48:44 attilio Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -116,7 +116,6 @@ struct ucred *tracecred; #endif struct plimit *plim; - struct rusage *ru; int locked; /* @@ -233,8 +232,6 @@ */ EVENTHANDLER_INVOKE(process_exit, p); - MALLOC(ru, struct rusage *, sizeof(struct rusage), - M_ZOMBIE, M_WAITOK); /* * If parent is waiting for us to exit or exec, * P_PPWAIT is set; we will wakeup the parent below. @@ -447,16 +444,6 @@ p->p_xstat = rv; p->p_xthread = td; /* - * All statistics have been aggregated into the final td_ru by - * thread_exit(). Copy these into the proc here where wait*() - * can find them. - * XXX We will miss any statistics gathered between here and - * thread_exit() except for those related to clock ticks. - */ - *ru = td->td_ru; - ru->ru_nvcsw++; - p->p_ru = ru; - /* * Notify interested parties of our demise. */ KNOTE_LOCKED(&p->p_klist, NOTE_EXIT); @@ -537,6 +524,11 @@ knlist_destroy(&p->p_klist); /* + * Save our children's rusage information in our exit rusage. + */ + ruadd(&p->p_ru, &p->p_rux, &p->p_stats->p_cru, &p->p_crux); + + /* * Make sure the scheduler takes this thread out of its tables etc. * This will also release this thread's reference to the ucred. * Other thread parts to release include pcb bits and such. @@ -711,30 +703,16 @@ } nfound++; + PROC_SLOCK(p); if (p->p_state == PRS_ZOMBIE) { - - /* - * It is possible that the last thread of this - * process is still running on another CPU - * in thread_exit() after having dropped the process - * lock via PROC_UNLOCK() but before it has completed - * cpu_throw(). In that case, the other thread must - * still hold the proc slock, so simply by acquiring - * proc slock once we will wait long enough for the - * thread to exit in that case. - * XXX This is questionable. - */ - PROC_SLOCK(p); + if (rusage) { + *rusage = p->p_ru; + calcru(p, &rusage->ru_utime, &rusage->ru_stime); + } PROC_SUNLOCK(p); - td->td_retval[0] = p->p_pid; if (status) *status = p->p_xstat; /* convert to int */ - if (rusage) { - *rusage = *p->p_ru; - calcru(p, &rusage->ru_utime, &rusage->ru_stime); - } - PROC_LOCK(q); sigqueue_take(p->p_ksi); PROC_UNLOCK(q); @@ -776,11 +754,9 @@ p->p_xstat = 0; /* XXX: why? */ PROC_UNLOCK(p); PROC_LOCK(q); - ruadd(&q->p_stats->p_cru, &q->p_crux, p->p_ru, + ruadd(&q->p_stats->p_cru, &q->p_crux, &p->p_ru, &p->p_rux); PROC_UNLOCK(q); - FREE(p->p_ru, M_ZOMBIE); - p->p_ru = NULL; /* * Decrement the count of procs running with this uid. @@ -819,7 +795,6 @@ sx_xunlock(&allproc_lock); return (0); } - PROC_SLOCK(p); if ((p->p_flag & P_STOPPED_SIG) && (p->p_suspcount == p->p_numthreads) && (p->p_flag & P_WAITED) == 0 && ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_fork.c#4 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_fork.c,v 1.276 2007/06/07 22:27:14 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_fork.c,v 1.279 2007/06/12 07:47:09 jeff Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" @@ -306,8 +306,7 @@ * * XXXRW: Can we avoid privilege here if it's not needed? */ - error = priv_check_cred(td->td_ucred, PRIV_PROC_LIMIT, SUSER_RUID | - SUSER_ALLOWJAIL); + error = priv_check_cred(td->td_ucred, PRIV_PROC_LIMIT, SUSER_RUID); if (error == 0) ok = chgproccnt(td->td_ucred->cr_ruidinfo, 1, 0); else { @@ -658,20 +657,20 @@ vm_forkproc(td, p2, td2, flags); if (flags == (RFFDG | RFPROC)) { - atomic_add_int(&cnt.v_forks, 1); - atomic_add_int(&cnt.v_forkpages, p2->p_vmspace->vm_dsize + + PCPU_INC(cnt.v_forks); + PCPU_ADD(cnt.v_forkpages, p2->p_vmspace->vm_dsize + p2->p_vmspace->vm_ssize); } else if (flags == (RFFDG | RFPROC | RFPPWAIT | RFMEM)) { - atomic_add_int(&cnt.v_vforks, 1); - atomic_add_int(&cnt.v_vforkpages, p2->p_vmspace->vm_dsize + + PCPU_INC(cnt.v_vforks); + PCPU_ADD(cnt.v_vforkpages, p2->p_vmspace->vm_dsize + p2->p_vmspace->vm_ssize); } else if (p1 == &proc0) { - atomic_add_int(&cnt.v_kthreads, 1); - atomic_add_int(&cnt.v_kthreadpages, p2->p_vmspace->vm_dsize + + PCPU_INC(cnt.v_kthreads); + PCPU_ADD(cnt.v_kthreadpages, p2->p_vmspace->vm_dsize + p2->p_vmspace->vm_ssize); } else { - atomic_add_int(&cnt.v_rforks, 1); - atomic_add_int(&cnt.v_rforkpages, p2->p_vmspace->vm_dsize + + PCPU_INC(cnt.v_rforks); + PCPU_ADD(cnt.v_rforkpages, p2->p_vmspace->vm_dsize + p2->p_vmspace->vm_ssize); } @@ -769,6 +768,7 @@ { struct proc *p; struct thread *td; + struct thread *dtd; td = curthread; p = td->td_proc; @@ -779,6 +779,17 @@ sched_fork_exit(td); /* + * Processes normally resume in mi_switch() after being + * cpu_switch()'ed to, but when children start up they arrive here + * instead, so we must do much the same things as mi_switch() would. + */ + if ((dtd = PCPU_GET(deadthread))) { + PCPU_SET(deadthread, NULL); + thread_stash(dtd); + } + thread_unlock(td); + + /* * cpu_set_fork_handler intercepts this function call to * have this call a non-return function to stay in kernel mode. * initproc has its own fork handler, but it does return. ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_kse.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.230 2007/06/04 23:54:27 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.231 2007/06/12 19:49:39 jeff Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -65,6 +65,13 @@ static int thread_update_usr_ticks(struct thread *td); static void thread_alloc_spare(struct thread *td); +static struct thread *thread_schedule_upcall(struct thread *td, struct kse_upcall *ku); +static struct kse_upcall *upcall_alloc(void); +static void upcall_free(struct kse_upcall *ku); +static void upcall_link(struct kse_upcall *ku, struct proc *p); +static void upcall_unlink(struct kse_upcall *ku); +static void upcall_stash(struct kse_upcall *ke); + struct mtx kse_lock; MTX_SYSINIT(kse_lock, &kse_lock, "kse lock", MTX_SPIN); @@ -138,6 +145,7 @@ mtx_lock_spin(&kse_lock); thread_unlink(td); mtx_unlock_spin(&kse_lock); + upcall_remove(td); } #endif @@ -1293,7 +1301,6 @@ max_threads_hits++; PROC_LOCK(p); PROC_SLOCK(p); - p->p_maxthrwaits++; while (p->p_numthreads > max_threads_per_proc) { if (p->p_numupcalls >= max_threads_per_proc) break; @@ -1306,7 +1313,6 @@ PROC_SLOCK(p); } } - p->p_maxthrwaits--; PROC_SUNLOCK(p); PROC_UNLOCK(p); } ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_ktrace.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_ktrace.c,v 1.118 2007/05/31 11:51:51 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_ktrace.c,v 1.119 2007/06/12 00:11:59 rwatson Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" @@ -793,8 +793,7 @@ p->p_tracecred = crhold(td->td_ucred); } p->p_traceflag |= facs; - if (priv_check_cred(td->td_ucred, PRIV_KTRACE, - SUSER_ALLOWJAIL) == 0) + if (priv_check(td, PRIV_KTRACE) == 0) p->p_traceflag |= KTRFAC_ROOT; } else { /* KTROP_CLEAR */ @@ -1000,7 +999,7 @@ PROC_LOCK_ASSERT(targetp, MA_OWNED); if (targetp->p_traceflag & KTRFAC_ROOT && - priv_check_cred(td->td_ucred, PRIV_KTRACE, SUSER_ALLOWJAIL)) + priv_check(td, PRIV_KTRACE)) return (0); if (p_candebug(td, targetp) != 0) ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_mutex.c#5 (text+ko) ==== @@ -34,12 +34,11 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.194 2007/06/06 03:40:46 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.196 2007/06/09 18:09:37 mjacob Exp $"); #include "opt_adaptive_mutexes.h" #include "opt_ddb.h" #include "opt_global.h" -#include "opt_mutex_wake_all.h" #include "opt_sched.h" #include <sys/param.h> @@ -72,15 +71,6 @@ #include <vm/vm.h> #include <vm/vm_extern.h> -/* - * Force MUTEX_WAKE_ALL for now. - * single thread wakeup needs fixes to avoid race conditions with - * priority inheritance. - */ -#ifndef MUTEX_WAKE_ALL -#define MUTEX_WAKE_ALL -#endif - #if defined(SMP) && !defined(NO_ADAPTIVE_MUTEXES) #define ADAPTIVE_MUTEXES #endif @@ -349,21 +339,7 @@ continue; } -#ifdef MUTEX_WAKE_ALL MPASS(v != MTX_CONTESTED); -#else - /* - * The mutex was marked contested on release. This means that - * there are other threads blocked on it. Grab ownership of - * it and propagate its priority to the current thread if - * necessary. - */ - if (v == MTX_CONTESTED) { - m->mtx_lock = tid | MTX_CONTESTED; - turnstile_claim(ts); - break; - } -#endif /* * If the mutex isn't already contested and a failure occurs @@ -554,7 +530,7 @@ { mtx_assert(new, MA_OWNED); MPASS(td->td_lock == &blocked_lock); - atomic_store_rel_ptr((void *)&td->td_lock, (uintptr_t)new); + atomic_store_rel_ptr((volatile void *)&td->td_lock, (uintptr_t)new); spinlock_exit(); } @@ -609,21 +585,8 @@ #else MPASS(ts != NULL); #endif -#ifdef MUTEX_WAKE_ALL turnstile_broadcast(ts, TS_EXCLUSIVE_QUEUE); _release_lock_quick(m); -#else - if (turnstile_signal(ts, TS_EXCLUSIVE_QUEUE)) { - _release_lock_quick(m); - if (LOCK_LOG_TEST(&m->lock_object, opts)) - CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p not held", m); - } else { - m->mtx_lock = MTX_CONTESTED; - if (LOCK_LOG_TEST(&m->lock_object, opts)) - CTR1(KTR_LOCK, "_mtx_unlock_sleep: %p still contested", - m); - } -#endif /* * This turnstile is now no longer associated with the mutex. We can * unlock the chain lock so a new turnstile may take it's place. ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_priv.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * 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/kern/kern_priv.c,v 1.1 2006/11/06 13:37:17 rwatson Exp $ + * $FreeBSD: src/sys/kern/kern_priv.c,v 1.2 2007/06/12 00:11:59 rwatson Exp $ */ #include "opt_mac.h" @@ -77,18 +77,8 @@ /* * Jail policy will restrict certain privileges that may otherwise be * be granted. - * - * While debugging the transition from SUSER_ALLOWJAIL to Jail being - * aware of specific privileges, perform run-time checking that the - * two versions of the policy align. This assertion will go away - * once the SUSER_ALLOWJAIL flag has gone away. */ error = prison_priv_check(cred, priv); -#ifdef NOTYET - KASSERT(!jailed(cred) || error == ((flags & SUSER_ALLOWJAIL) ? 0 : - EPERM), ("priv_check_cred: prison_priv_check %d but flags %s", - error, flags & SUSER_ALLOWJAIL ? "allowjail" : "!allowjail")); -#endif if (error) return (error); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_proc.c#3 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.249 2007/06/05 00:00:54 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_proc.c,v 1.250 2007/06/09 21:48:44 attilio Exp $"); #include "opt_ktrace.h" #include "opt_kstack_pages.h" @@ -700,7 +700,9 @@ if ((p->p_sflag & PS_INMEM) && p->p_stats != NULL) { kp->ki_start = p->p_stats->p_start; timevaladd(&kp->ki_start, &boottime); + PROC_SLOCK(p); calcru(p, &kp->ki_rusage.ru_utime, &kp->ki_rusage.ru_stime); + PROC_SUNLOCK(p); calccru(p, &kp->ki_childutime, &kp->ki_childstime); /* Some callers want child-times in a single value */ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_prot.c#3 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_prot.c,v 1.210 2007/06/07 22:27:14 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_prot.c,v 1.211 2007/06/12 00:11:59 rwatson Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -511,8 +511,7 @@ #ifdef POSIX_APPENDIX_B_4_2_2 /* Use BSD-compat clause from B.4.2.2 */ uid != oldcred->cr_uid && /* allow setuid(geteuid()) */ #endif - (error = priv_check_cred(oldcred, PRIV_CRED_SETUID, - SUSER_ALLOWJAIL)) != 0) + (error = priv_check_cred(oldcred, PRIV_CRED_SETUID, 0)) != 0) goto fail; >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200706132223.l5DMN0P6019296>
