PERFORCE change 121530 for review
Ulf Lilleengen
lulf at FreeBSD.org
Tue Jun 12 20:18:31 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=121530
Change 121530 by lulf at lulf_carrot on 2007/06/12 20:18:01
- Integrate changes.
Affected files ...
.. //depot/projects/soc2007/lulf/gvinum_fixup/Makefile.inc1#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/Makefile.ia64#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/NOTES#5 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files#7 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/cache/g_cache.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/eli/g_eli.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/geom_kern.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/journal/g_journal.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/mirror/g_mirror.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/part/g_part.c#5 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/part/g_part_apm.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/part/g_part_gpt.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/raid3/g_raid3.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/stripe/g_stripe.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/GENERIC#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/busdma_machdep.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/elan-mmcr.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/genassym.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/identcpu.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/intr_machdep.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/io_apic.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/machdep.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/mp_clock.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/mp_machdep.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/mp_watchdog.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/pmap.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/swtch.s#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/sys_machdep.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/trap.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/tsc.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/vm_machdep.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/ibcs2/imgact_coff.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/include/pcpu.h#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/include/specialreg.h#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/include/vmparam.h#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/isa/clock.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/isa/npx.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/linux/linux_machdep.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/init_main.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_acct.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_alq.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_clock.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_condvar.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_conf.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_cpu.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_descrip.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_event.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_exec.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_exit.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_fork.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_idle.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_intr.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_kse.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_kthread.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_ktrace.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_linker.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_lockf.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_malloc.c#5 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_mbuf.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_mib.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_mtxpool.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_mutex.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_poll.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_proc.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_prot.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_resource.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_rwlock.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_shutdown.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_sig.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_subr.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_switch.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_sx.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_synch.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_sysctl.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_tc.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_thr.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_thread.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_time.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_umtx.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/ksched.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/link_elf.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/link_elf_obj.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sched_4bsd.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sched_core.c#2 delete
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sched_ule.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_lock.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_mbpool.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_prof.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_sleepqueue.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_smp.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_taskqueue.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_trap.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_turnstile.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_witness.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sys_generic.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sys_pipe.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sys_process.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/tty.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/tty_cons.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/uipc_sockbuf.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/uipc_socket.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/uipc_usrreq.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_aio.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_bio.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_cluster.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_lookup.c#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_subr.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_syscalls.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_vnops.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vnode_if.src#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/conf.h#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/filedesc.h#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/mutex.h#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/param.h#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/pcpu.h#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/proc.h#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/resource.h#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/resourcevar.h#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/sched.h#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/sx.h#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/syscallsubr.h#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/sysctl.h#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/syslimits.h#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/thr.h#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/turnstile.h#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/ucred.h#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/umtx.h#2 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/vmmeter.h#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/vnode.h#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/swap_pager.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/uma_core.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_contig.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_fault.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_glue.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_map.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_meter.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_mmap.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_object.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_page.c#4 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_pageout.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_pageq.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_zeroidle.c#3 integrate
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vnode_pager.c#3 integrate
Differences ...
==== //depot/projects/soc2007/lulf/gvinum_fixup/Makefile.inc1#4 (text+ko) ====
@@ -1,5 +1,5 @@
#
-# $FreeBSD: src/Makefile.inc1,v 1.581 2007/05/19 20:34:29 des Exp $
+# $FreeBSD: src/Makefile.inc1,v 1.582 2007/05/26 20:17:19 ru Exp $
#
# Make command line options:
# -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir
@@ -309,7 +309,7 @@
rm -f ${OBJTREE}${.CURDIR}/usr.bin/truss/ioctl.c
.endif
.for _dir in \
- usr/bin usr/games usr/include/c++/3.4 usr/include/sys usr/lib \
+ usr/bin usr/games usr/include/sys usr/lib \
usr/libexec usr/sbin usr/share/dict \
usr/share/groff_font/devX100 \
usr/share/groff_font/devX100-12 \
@@ -505,7 +505,7 @@
# and Makefile.inc1 causes the correct PATH to be used, rather than a
# modification of the current environment's PATH. In addition, we need
# to quote multiword values.
-#
+#
buildenvvars:
@echo ${WMAKEENV:Q}
@@ -1113,7 +1113,7 @@
${MAKE} DIRPRFX=lib/libpam/ -D_NO_LIBPAM_SO_YET all; \
${MAKE} DIRPRFX=lib/libpam/ -D_NO_LIBPAM_SO_YET install
-_prereq_libs: ${_prereq_libs:S/$/__PL/}
+_prereq_libs: ${_prereq_libs:S/$/__PL/}
_startup_libs: ${_startup_libs:S/$/__L/}
_prebuild_libs: ${_prebuild_libs:S/$/__L/}
_generic_libs: ${_generic_libs:S/$/__L/}
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/Makefile.ia64#3 (text+ko) ====
@@ -1,7 +1,7 @@
# Makefile.ia64 -- with config changes.
# Copyright 1990 W. Jolitz
# from: src/sys/conf/Makefile.alpha,v 1.76
-# $FreeBSD: src/sys/conf/Makefile.ia64,v 1.69 2007/05/16 17:23:53 wkoszek Exp $
+# $FreeBSD: src/sys/conf/Makefile.ia64,v 1.70 2007/06/02 21:30:39 marcel Exp $
#
# Makefile for FreeBSD
#
@@ -16,8 +16,6 @@
# after which config should be rerun for all machines.
#
-GCC3= you bet
-
# Which version of config(8) is required.
%VERSREQ= 600004
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/NOTES#5 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1427 2007/05/16 17:19:47 scottl Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1428 2007/06/05 00:12:36 jeff Exp $
#
# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
#
@@ -185,7 +185,6 @@
# not recommended for production use at this time.
#
options SCHED_4BSD
-#options SCHED_CORE
#options SCHED_ULE
#####################################################################
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files#7 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1211 2007/05/25 09:48:18 kmacy Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1214 2007/06/05 00:12:36 jeff Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -915,6 +915,8 @@
dev/sn/if_sn_isa.c optional sn isa
dev/sn/if_sn_pccard.c optional sn pccard
dev/snp/snp.c optional snp
+dev/sound/clone.c optional sound
+dev/sound/unit.c optional sound
dev/sound/isa/ad1816.c optional snd_ad1816 isa
dev/sound/isa/ess.c optional snd_ess isa
dev/sound/isa/gusc.c optional snd_gusc isa
@@ -1426,7 +1428,6 @@
kern/p1003_1b.c standard
kern/posix4_mib.c standard
kern/sched_4bsd.c optional sched_4bsd
-kern/sched_core.c optional sched_core
kern/sched_ule.c optional sched_ule
kern/serdev_if.m standard
kern/subr_acl_posix1e.c standard
@@ -1556,13 +1557,13 @@
net/bpf.c standard
net/bpf_jitter.c optional bpf_jitter
net/bpf_filter.c optional bpf | netgraph_bpf
-net/bridgestp.c optional if_bridge
+net/bridgestp.c optional bridge | if_bridge
net/bsd_comp.c optional ppp_bsdcomp
net/ieee8023ad_lacp.c optional lagg
net/if.c standard
net/if_arcsubr.c optional arcnet
net/if_atmsubr.c optional atm
-net/if_bridge.c optional if_bridge
+net/if_bridge.c optional bridge | if_bridge
net/if_clone.c standard
net/if_disc.c optional disc
net/if_edsc.c optional edsc
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options#4 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.588 2007/05/15 16:43:01 mav Exp $
+# $FreeBSD: src/sys/conf/options,v 1.590 2007/06/05 00:12:36 jeff Exp $
#
# On the handling of kernel options
#
@@ -135,7 +135,6 @@
PREEMPTION opt_sched.h
QUOTA
SCHED_4BSD opt_sched.h
-SCHED_CORE opt_sched.h
SCHED_ULE opt_sched.h
SHOW_BUSYBUFS
SLEEPQUEUE_PROFILING
@@ -422,6 +421,7 @@
SCTP_SACK_RWND_LOGGING opt_sctp.h
SCTP_FLIGHT_LOGGING opt_sctp.h
SCTP_MBUF_LOGGING opt_sctp.h
+SCTP_PACKET_LOGGING opt_sctp.h
# Netgraph(4). Use option NETGRAPH to enable the base netgraph code.
# Each netgraph node type can be either be compiled into the kernel
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/cache/g_cache.c#2 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/cache/g_cache.c,v 1.1 2006/10/06 08:27:07 ru Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/cache/g_cache.c,v 1.2 2007/06/04 18:25:06 dwmalone Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -66,7 +66,7 @@
u_int val = *(u_int *)arg1;
int error;
- error = sysctl_handle_int(oidp, &val, sizeof(val), req);
+ error = sysctl_handle_int(oidp, &val, 0, req);
if (error || !req->newptr)
return (error);
if (val < 0 || val > 100)
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/eli/g_eli.c#2 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/eli/g_eli.c,v 1.37 2007/04/08 23:54:23 pjd Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/eli/g_eli.c,v 1.38 2007/06/05 00:00:51 jeff Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -332,11 +332,11 @@
tsleep(wr, 0, "geli:smp", hz / 4);
}
#endif
- mtx_lock_spin(&sched_lock);
+ thread_lock(curthread);
sched_prio(curthread, PRIBIO);
if (sc->sc_crypto == G_ELI_CRYPTO_SW && g_eli_threads == 0)
sched_bind(curthread, wr->w_number);
- mtx_unlock_spin(&sched_lock);
+ thread_unlock(curthread);
G_ELI_DEBUG(1, "Thread %s started.", curthread->td_proc->p_comm);
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/geom_kern.c#2 (text+ko) ====
@@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/geom_kern.c,v 1.40 2005/11/25 10:09:30 le Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/geom_kern.c,v 1.41 2007/06/05 00:00:51 jeff Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -88,9 +88,9 @@
struct thread *tp = FIRST_THREAD_IN_PROC(p);
mtx_assert(&Giant, MA_NOTOWNED);
- mtx_lock_spin(&sched_lock);
+ thread_lock(tp);
sched_prio(tp, PRIBIO);
- mtx_unlock_spin(&sched_lock);
+ thread_unlock(tp);
for(;;) {
g_io_schedule_up(tp);
}
@@ -111,9 +111,9 @@
struct thread *tp = FIRST_THREAD_IN_PROC(p);
mtx_assert(&Giant, MA_NOTOWNED);
- mtx_lock_spin(&sched_lock);
+ thread_lock(tp);
sched_prio(tp, PRIBIO);
- mtx_unlock_spin(&sched_lock);
+ thread_unlock(tp);
for(;;) {
g_io_schedule_down(tp);
}
@@ -134,9 +134,9 @@
struct thread *tp = FIRST_THREAD_IN_PROC(p);
mtx_assert(&Giant, MA_NOTOWNED);
- mtx_lock_spin(&sched_lock);
+ thread_lock(tp);
sched_prio(tp, PRIBIO);
- mtx_unlock_spin(&sched_lock);
+ thread_unlock(tp);
for(;;) {
g_run_events();
tsleep(&g_wait_event, PRIBIO, "-", hz/10);
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/journal/g_journal.c#2 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/journal/g_journal.c,v 1.11 2007/04/06 12:53:54 pjd Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/journal/g_journal.c,v 1.13 2007/06/05 00:00:52 jeff Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -115,7 +115,7 @@
int error;
entries = g_journal_record_entries;
- error = sysctl_handle_int(oidp, &entries, sizeof(entries), req);
+ error = sysctl_handle_int(oidp, &entries, 0, req);
if (error != 0 || req->newptr == NULL)
return (error);
if (entries < 1 || entries > GJ_RECORD_HEADER_NENTRIES)
@@ -150,7 +150,7 @@
int error;
limit = g_journal_cache_limit;
- error = sysctl_handle_int(oidp, &limit, sizeof(limit), req);
+ error = sysctl_handle_int(oidp, &limit, 0, req);
if (error != 0 || req->newptr == NULL)
return (error);
g_journal_cache_limit = limit;
@@ -170,7 +170,7 @@
int error;
cswitch = g_journal_cache_switch;
- error = sysctl_handle_int(oidp, &cswitch, sizeof(cswitch), req);
+ error = sysctl_handle_int(oidp, &cswitch, 0, req);
if (error != 0 || req->newptr == NULL)
return (error);
if (cswitch < 0 || cswitch > 100)
@@ -2057,9 +2057,9 @@
time_t last_write;
int type;
- mtx_lock_spin(&sched_lock);
+ thread_lock(curthread);
sched_prio(curthread, PRIBIO);
- mtx_unlock_spin(&sched_lock);
+ thread_unlock(curthread);
sc = arg;
type = 0; /* gcc */
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/mirror/g_mirror.c#2 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/mirror/g_mirror.c,v 1.92 2006/11/01 22:51:49 pjd Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/mirror/g_mirror.c,v 1.93 2007/06/05 00:00:52 jeff Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -1768,9 +1768,9 @@
int timeout;
sc = arg;
- mtx_lock_spin(&sched_lock);
+ thread_lock(curthread);
sched_prio(curthread, PRIBIO);
- mtx_unlock_spin(&sched_lock);
+ thread_unlock(curthread);
sx_xlock(&sc->sc_lock);
for (;;) {
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/part/g_part.c#5 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/part/g_part.c,v 1.7 2007/05/15 23:29:57 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/part/g_part.c,v 1.8 2007/06/06 05:01:41 marcel Exp $");
#include <sys/param.h>
#include <sys/bio.h>
@@ -426,6 +426,7 @@
sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND);
sbuf_printf(sb, "%s%s added\n", gp->name,
G_PART_NAME(table, entry, buf, sizeof(buf)));
+ sbuf_finish(sb);
gctl_set_param(req, "output", sbuf_data(sb), sbuf_len(sb) + 1);
sbuf_delete(sb);
}
@@ -603,6 +604,7 @@
if (gpp->gpp_parms & G_PART_PARM_OUTPUT) {
sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND);
sbuf_printf(sb, "%s created\n", gp->name);
+ sbuf_finish(sb);
gctl_set_param(req, "output", sbuf_data(sb), sbuf_len(sb) + 1);
sbuf_delete(sb);
}
@@ -670,6 +672,7 @@
sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND);
sbuf_printf(sb, "%s%s deleted\n", gp->name,
G_PART_NAME(table, entry, buf, sizeof(buf)));
+ sbuf_finish(sb);
gctl_set_param(req, "output", sbuf_data(sb), sbuf_len(sb) + 1);
sbuf_delete(sb);
}
@@ -724,6 +727,7 @@
if (gpp->gpp_parms & G_PART_PARM_OUTPUT) {
sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND);
sbuf_printf(sb, "%s destroyed\n", gp->name);
+ sbuf_finish(sb);
gctl_set_param(req, "output", sbuf_data(sb), sbuf_len(sb) + 1);
sbuf_delete(sb);
}
@@ -771,6 +775,7 @@
sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND);
sbuf_printf(sb, "%s%s modified\n", gp->name,
G_PART_NAME(table, entry, buf, sizeof(buf)));
+ sbuf_finish(sb);
gctl_set_param(req, "output", sbuf_data(sb), sbuf_len(sb) + 1);
sbuf_delete(sb);
}
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/part/g_part_apm.c#3 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/part/g_part_apm.c,v 1.2 2007/05/08 20:18:17 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/part/g_part_apm.c,v 1.3 2007/06/06 05:06:14 marcel Exp $");
#include <sys/param.h>
#include <sys/apm.h>
@@ -358,9 +358,10 @@
return (g_part_alias_name(G_PART_ALIAS_FREEBSD_UFS));
if (!strcmp(type, APM_ENT_TYPE_FREEBSD_VINUM))
return (g_part_alias_name(G_PART_ALIAS_FREEBSD_VINUM));
- len = MIN(sizeof(entry->ent.ent_type), bufsz - 1);
- bcopy(type, buf, len);
- buf[len] = '\0';
+ buf[0] = '!';
+ len = MIN(sizeof(entry->ent.ent_type), bufsz - 2);
+ bcopy(type, buf + 1, len);
+ buf[len + 1] = '\0';
return (buf);
}
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/part/g_part_gpt.c#3 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/part/g_part_gpt.c,v 1.2 2007/05/08 20:18:17 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/part/g_part_gpt.c,v 1.3 2007/06/06 05:06:14 marcel Exp $");
#include <sys/param.h>
#include <sys/bio.h>
@@ -602,7 +602,8 @@
return (g_part_alias_name(G_PART_ALIAS_FREEBSD_VINUM));
if (EQUUID(type, &gpt_uuid_mbr))
return (g_part_alias_name(G_PART_ALIAS_MBR));
- snprintf_uuid(buf, bufsz, type);
+ buf[0] = '!';
+ snprintf_uuid(buf + 1, bufsz - 1, type);
return (buf);
}
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/raid3/g_raid3.c#2 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/raid3/g_raid3.c,v 1.80 2006/11/01 22:51:49 pjd Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/raid3/g_raid3.c,v 1.81 2007/06/05 00:00:52 jeff Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -2017,9 +2017,9 @@
int timeout;
sc = arg;
- mtx_lock_spin(&sched_lock);
+ thread_lock(curthread);
sched_prio(curthread, PRIBIO);
- mtx_unlock_spin(&sched_lock);
+ thread_unlock(curthread);
sx_xlock(&sc->sc_lock);
for (;;) {
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/stripe/g_stripe.c#2 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/stripe/g_stripe.c,v 1.31 2006/11/01 22:16:53 pjd Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/stripe/g_stripe.c,v 1.32 2007/06/04 18:25:06 dwmalone Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -80,7 +80,7 @@
int error, fast;
fast = g_stripe_fast;
- error = sysctl_handle_int(oidp, &fast, sizeof(fast), req);
+ error = sysctl_handle_int(oidp, &fast, 0, req);
if (error == 0 && req->newptr != NULL)
g_stripe_fast = fast;
return (error);
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/conf/GENERIC#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/i386/conf/GENERIC,v 1.467 2007/05/09 11:43:04 maxim Exp $
+# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.468 2007/05/28 14:38:42 simokawa Exp $
cpu I486_CPU
cpu I586_CPU
@@ -300,3 +300,6 @@
device firewire # FireWire bus code
device sbp # SCSI over FireWire (Requires scbus and da)
device fwe # Ethernet over FireWire (non-standard!)
+device fwip # IP over FireWire (RFC 2734,3146)
+device dcons # Dumb console driver
+device dcons_crom # Configuration ROM for dcons
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/busdma_machdep.c#4 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/busdma_machdep.c,v 1.87 2007/05/20 16:53:45 mjacob Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/busdma_machdep.c,v 1.88 2007/05/29 06:30:25 yongari Exp $");
#include <sys/param.h>
#include <sys/kdb.h>
@@ -674,6 +674,8 @@
* Compute the segment size, and adjust counts.
*/
sgsize = PAGE_SIZE - ((u_long)curaddr & PAGE_MASK);
+ if (sgsize > dmat->maxsegsz)
+ sgsize = dmat->maxsegsz;
if (buflen < sgsize)
sgsize = buflen;
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/elan-mmcr.c#2 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/elan-mmcr.c,v 1.34 2007/03/27 21:03:37 n_hibma Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/elan-mmcr.c,v 1.35 2007/06/04 18:25:06 dwmalone Exp $");
#include "opt_cpu.h"
#include <sys/param.h>
@@ -313,7 +313,7 @@
int error;
f = elan_timecounter.tc_frequency * 4;
- error = sysctl_handle_int(oidp, &f, sizeof(f), req);
+ error = sysctl_handle_int(oidp, &f, 0, req);
if (error == 0 && req->newptr != NULL)
elan_timecounter.tc_frequency = (f + 3) / 4;
return (error);
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/genassym.c#2 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/genassym.c,v 1.156 2006/12/20 04:40:38 davidxu Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/genassym.c,v 1.157 2007/06/06 07:35:07 davidxu Exp $");
#include "opt_apic.h"
#include "opt_compat.h"
@@ -199,7 +199,6 @@
ASSYM(PC_CPUID, offsetof(struct pcpu, pc_cpuid));
ASSYM(PC_CURPMAP, offsetof(struct pcpu, pc_curpmap));
ASSYM(PC_PRIVATE_TSS, offsetof(struct pcpu, pc_private_tss));
-ASSYM(PC_CURTID, offsetof(struct pcpu, pc_curtid));
#ifdef DEV_APIC
ASSYM(LA_VER, offsetof(struct LAPIC, version));
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/identcpu.c#3 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/identcpu.c,v 1.177 2007/04/18 10:08:24 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/identcpu.c,v 1.180 2007/05/29 19:39:18 des Exp $");
#include "opt_cpu.h"
@@ -750,7 +750,7 @@
"\015<b12>"
"\016CX16" /* CMPXCHG16B Instruction */
"\017xTPR" /* Send Task Priority Messages*/
- "\020<b15>"
+ "\020PDCM" /* Perf/Debug Capability MSR */
"\021<b16>"
"\022<b17>"
"\023DCA" /* Direct Cache Access */
@@ -856,13 +856,8 @@
}
if (cpu_feature & CPUID_HTT && strcmp(cpu_vendor,
- "AuthenticAMD") == 0) {
+ "AuthenticAMD") == 0)
cpu_feature &= ~CPUID_HTT;
- if (bootverbose)
- printf("\nHTT bit cleared - FreeBSD"
- " does not have licensing issues"
- " requiring it.\n");
- }
/*
* If this CPU supports HTT or CMP then mention the
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/intr_machdep.c#3 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/i386/i386/intr_machdep.c,v 1.27 2007/05/08 21:29:13 jhb Exp $
+ * $FreeBSD: src/sys/i386/i386/intr_machdep.c,v 1.29 2007/06/04 21:38:45 attilio Exp $
*/
/*
@@ -241,7 +241,7 @@
* processed too.
*/
(*isrc->is_count)++;
- PCPU_LAZY_INC(cnt.v_intr);
+ PCPU_INC(cnt.v_intr);
ie = isrc->is_event;
@@ -301,7 +301,7 @@
struct thread *td;
struct intr_event *ie;
struct intr_handler *ih;
- int error, vector, thread;
+ int error, vector, thread, ret;
td = curthread;
@@ -312,7 +312,7 @@
* processed too.
*/
(*isrc->is_count)++;
- PCPU_LAZY_INC(cnt.v_intr);
+ PCPU_INC(cnt.v_intr);
ie = isrc->is_event;
@@ -347,6 +347,7 @@
* a trapframe as its argument.
*/
td->td_intr_nesting_level++;
+ ret = 0;
thread = 0;
critical_enter();
TAILQ_FOREACH(ih, &ie->ie_handlers, ih_next) {
@@ -358,9 +359,27 @@
ih->ih_filter, ih->ih_argument == NULL ? frame :
ih->ih_argument, ih->ih_name);
if (ih->ih_argument == NULL)
- ih->ih_filter(frame);
+ ret = ih->ih_filter(frame);
else
- ih->ih_filter(ih->ih_argument);
+ ret = ih->ih_filter(ih->ih_argument);
+ /*
+ * Wrapper handler special handling:
+ *
+ * in some particular cases (like pccard and pccbb),
+ * the _real_ device handler is wrapped in a couple of
+ * functions - a filter wrapper and an ithread wrapper.
+ * In this case (and just in this case), the filter wrapper
+ * could ask the system to schedule the ithread and mask
+ * the interrupt source if the wrapped handler is composed
+ * of just an ithread handler.
+ *
+ * TODO: write a generic wrapper to avoid people rolling
+ * their own
+ */
+ if (!thread) {
+ if (ret == FILTER_SCHEDULE_THREAD)
+ thread = 1;
+ }
}
/*
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/io_apic.c#3 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/io_apic.c,v 1.34 2007/05/08 21:29:13 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/io_apic.c,v 1.35 2007/06/05 18:57:48 jhb Exp $");
#include "opt_isa.h"
@@ -492,7 +492,7 @@
intbase = next_ioapic_base;
printf("ioapic%u: Assuming intbase of %d\n", io->io_id,
intbase);
- } else if (intbase != next_ioapic_base)
+ } else if (intbase != next_ioapic_base && bootverbose)
printf("ioapic%u: WARNING: intbase %d != expected base %d\n",
io->io_id, intbase, next_ioapic_base);
io->io_intbase = intbase;
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/machdep.c#3 (text+ko) ====
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/machdep.c,v 1.652 2007/05/20 22:03:57 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/machdep.c,v 1.657 2007/06/06 07:35:07 davidxu Exp $");
#include "opt_apic.h"
#include "opt_atalk.h"
@@ -189,7 +189,13 @@
long Maxmem = 0;
long realmem = 0;
-#define PHYSMAP_SIZE (2 * 16)
+/*
+ * The number of PHYSMAP entries must be one less than the number of
+ * PHYSSEG entries because the PHYSMAP entry that spans the largest
+ * physical address that is accessible by ISA DMA is split into two
+ * PHYSSEG entries.
+ */
+#define PHYSMAP_SIZE (2 * (VM_PHYSSEG_MAX - 1))
vm_paddr_t phys_avail[PHYSMAP_SIZE + 2];
vm_paddr_t dump_avail[PHYSMAP_SIZE + 2];
@@ -247,8 +253,8 @@
vm_ksubmap_init(&kmi);
printf("avail memory = %ju (%ju MB)\n",
- ptoa((uintmax_t)VMCNT_GET(free_count)),
- ptoa((uintmax_t)VMCNT_GET(free_count)) / 1048576);
+ ptoa((uintmax_t)cnt.v_free_count),
+ ptoa((uintmax_t)cnt.v_free_count) / 1048576);
/*
* Set up buffers, so they can be used to read disk labels.
@@ -1058,9 +1064,9 @@
#ifdef SMP
/* Schedule ourselves on the indicated cpu. */
- mtx_lock_spin(&sched_lock);
+ thread_lock(curthread);
sched_bind(curthread, cpu_id);
- mtx_unlock_spin(&sched_lock);
+ thread_unlock(curthread);
#endif
/* Calibrate by measuring a short delay. */
@@ -1071,9 +1077,9 @@
intr_restore(reg);
#ifdef SMP
- mtx_lock_spin(&sched_lock);
+ thread_lock(curthread);
sched_unbind(curthread);
- mtx_unlock_spin(&sched_lock);
+ thread_unlock(curthread);
#endif
/*
@@ -1174,7 +1180,8 @@
mtx_lock_spin(&dt_lock);
if (td->td_proc->p_md.md_ldt)
user_ldt_free(td);
- mtx_unlock_spin(&dt_lock);
+ else
+ mtx_unlock_spin(&dt_lock);
bzero((char *)regs, sizeof(struct trapframe));
regs->tf_eip = entry;
@@ -2111,7 +2118,6 @@
PCPU_SET(prvspace, pc);
PCPU_SET(curthread, &thread0);
PCPU_SET(curpcb, thread0.td_pcb);
- PCPU_SET(curtid, thread0.td_tid);
/*
* Initialize mutexes.
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/mp_clock.c#2 (text+ko) ====
@@ -8,7 +8,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/mp_clock.c,v 1.19 2004/05/30 20:34:57 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/mp_clock.c,v 1.20 2007/06/04 18:25:06 dwmalone Exp $");
/*-
* Just when we thought life were beautiful, reality pops its grim face over
@@ -71,7 +71,7 @@
if (piix_timecounter.tc_frequency == 0)
return (EOPNOTSUPP);
freq = piix_freq;
- error = sysctl_handle_int(oidp, &freq, sizeof(freq), req);
+ error = sysctl_handle_int(oidp, &freq, 0, req);
if (error == 0 && req->newptr != NULL) {
piix_freq = freq;
piix_timecounter.tc_frequency = piix_freq;
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/mp_machdep.c#4 (text+ko) ====
@@ -24,7 +24,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.279 2007/05/20 22:03:57 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.280 2007/06/04 23:56:07 jeff Exp $");
#include "opt_apic.h"
#include "opt_cpu.h"
@@ -61,6 +61,7 @@
#include <sys/mutex.h>
#include <sys/pcpu.h>
#include <sys/proc.h>
+#include <sys/sched.h>
#include <sys/smp.h>
#include <sys/sysctl.h>
@@ -642,25 +643,8 @@
while (smp_started == 0)
ia32_pause();
- /* ok, now grab sched_lock and enter the scheduler */
- mtx_lock_spin(&sched_lock);
-
- /*
- * Correct spinlock nesting. The idle thread context that we are
- * borrowing was created so that it would start out with a single
- * spin lock (sched_lock) held in fork_trampoline(). Since we've
- * explicitly acquired locks in this function, the nesting count
- * is now 2 rather than 1. Since we are nested, calling
- * spinlock_exit() will simply adjust the counts without allowing
- * spin lock using code to interrupt us.
- */
- spinlock_exit();
- KASSERT(curthread->td_md.md_spinlock_count == 1, ("invalid count"));
-
- PCPU_SET(switchtime, cpu_ticks());
- PCPU_SET(switchticks, ticks);
-
- cpu_throw(NULL, choosethread()); /* doesn't return */
+ /* enter the scheduler */
+ sched_throw(NULL);
panic("scheduler returned us to %s", __func__);
/* NOTREACHED */
@@ -1194,12 +1178,12 @@
#ifdef COUNT_IPIS
(*ipi_preempt_counts[cpu])++;
#endif
- mtx_lock_spin(&sched_lock);
+ thread_lock(running_thread);
if (running_thread->td_critnest > 1)
running_thread->td_owepreempt = 1;
else
mi_switch(SW_INVOL | SW_PREEMPT, NULL);
- mtx_unlock_spin(&sched_lock);
+ thread_unlock(running_thread);
}
if (ipi_bitmap & (1 << IPI_AST)) {
==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/mp_watchdog.c#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/sys/i386/i386/mp_watchdog.c,v 1.4 2005/02/27 22:34:07 pjd Exp $
+ * $FreeBSD: src/sys/i386/i386/mp_watchdog.c,v 1.5 2007/06/04 23:56:33 jeff Exp $
*/
#include "opt_mp_watchdog.h"
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list