freebsd-nq/sys/kern
John Baldwin 6c56727456 - Change fast interrupts on x86 to push a full interrupt frame and to
return through doreti to handle ast's.  This is necessary for the
  clock interrupts to work properly.
- Change the clock interrupts on the x86 to be fast instead of threaded.
  This is needed because both hardclock() and statclock() need to run in
  the context of the current process, not in a separate thread context.
- Kill the prevproc hack as it is no longer needed.
- We really need Giant when we call psignal(), but we don't want to block
  during the clock interrupt.  Instead, use two p_flag's in the proc struct
  to mark the current process as having a pending SIGVTALRM or a SIGPROF
  and let them be delivered during ast() when hardclock() has finished
  running.
- Remove CLKF_BASEPRI, which was #ifdef'd out on the x86 anyways.  It was
  broken on the x86 if it was turned on since cpl is gone.  It's only use
  was to bogusly run softclock() directly during hardclock() rather than
  scheduling an SWI.
- Remove the COM_LOCK simplelock and replace it with a clock_lock spin
  mutex.  Since the spin mutex already handles disabling/restoring
  interrupts appropriately, this also lets us axe all the *_intr() fu.
- Back out the hacks in the APIC_IO x86 cpu_initclocks() code to use
  temporary fast interrupts for the APIC trial.
- Add two new process flags P_ALRMPEND and P_PROFPEND to mark the pending
  signals in hardclock() that are to be delivered in ast().

Submitted by:	jakeb (making statclock safe in a fast interrupt)
Submitted by:	cp (concept of delaying signals until ast())
2000-10-06 02:20:21 +00:00
..
bus_if.m
device_if.m
genassym.sh
imgact_aout.c Add three new VOPs: VOP_CREATEVOBJECT, VOP_DESTROYVOBJECT and VOP_GETVOBJECT. 2000-09-12 09:49:08 +00:00
imgact_elf.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
imgact_gzip.c
imgact_shell.c
inflate.c
init_main.c Release Giant before starting up init. 2000-09-15 19:25:29 +00:00
init_sysent.c Regen: fix prototypes for {o|}{g|s}etrlimit. 2000-08-28 07:56:38 +00:00
kern_acct.c
kern_acl.c o Change locking rules for VOP_GETACL() to indicate that vnode locks 2000-09-21 18:43:32 +00:00
kern_cap.c
kern_clock.c - Change fast interrupts on x86 to push a full interrupt frame and to 2000-10-06 02:20:21 +00:00
kern_conf.c Rename lminor() to dev2unit(). This function gives a linear unit number 2000-09-19 10:28:44 +00:00
kern_descrip.c Avoid the modules madness I inadvertently introduced by making the 2000-09-02 19:17:34 +00:00
kern_environment.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
kern_event.c o Centralize inter-process access control, introducing: 2000-08-30 04:49:09 +00:00
kern_exec.c Make size of dynamic loader argument variable to support 2000-09-26 05:09:21 +00:00
kern_exit.c Added used include of <sys/mutex.h> (don't depend on pollution in 2000-09-17 12:20:49 +00:00
kern_fork.c Enforce process limit policy in one place to keep proccnt from diverging 2000-09-14 23:07:39 +00:00
kern_idle.c - Heavyweight interrupt threads on the alpha for device I/O interrupts. 2000-10-05 23:09:57 +00:00
kern_intr.c - Heavyweight interrupt threads on the alpha for device I/O interrupts. 2000-10-05 23:09:57 +00:00
kern_jail.c
kern_kthread.c Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
kern_ktr.c Add KTR, a facility that logs kernel events in order to to facilitate 2000-09-07 01:29:44 +00:00
kern_ktrace.c Add KTR, a facility that logs kernel events in order to to facilitate 2000-09-07 01:29:44 +00:00
kern_linker.c Add a workaround for statically linked kernels. 2000-10-04 17:40:24 +00:00
kern_lock.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
kern_lockf.c
kern_malloc.c Don't #include <sys/proc.h>, since machine/mutex.h does it now. 2000-09-23 00:01:37 +00:00
kern_mib.c
kern_module.c
kern_mutex.c Remove the mtx_t, witness_t, and witness_blessed_t types. Instead, just 2000-09-14 20:15:16 +00:00
kern_ntptime.c Updates to the ntp pll from John Hay. 2000-09-10 09:13:34 +00:00
kern_physio.c
kern_proc.c Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
kern_prot.c Remove uidinfo hash table lookup and maintenance out of chgproccnt() and 2000-09-05 22:11:13 +00:00
kern_resource.c Add new line character to debugging printf's. 2000-09-18 17:03:03 +00:00
kern_shutdown.c Added used include of <sys/mutex.h> (don't depend on pollution in 2000-09-17 12:20:49 +00:00
kern_sig.c Unpessimized CURSIG(). The fast path through CURSIG() was broken in 2000-09-17 15:12:04 +00:00
kern_subr.c GC vax-only code 2000-09-14 16:51:47 +00:00
kern_switch.c Idle processes are always runnable, so let them state at SRUN. 2000-09-15 19:49:48 +00:00
kern_synch.c - Change fast interrupts on x86 to push a full interrupt frame and to 2000-10-06 02:20:21 +00:00
kern_syscalls.c
kern_sysctl.c
kern_tc.c Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
kern_threads.c Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
kern_time.c
kern_timeout.c
kern_xxx.c
ksched.c
link_aout.c Change the conditionaal so that we only build this on i386 instead of 2000-09-29 13:32:24 +00:00
link_elf_obj.c Don't support dynamic linking on ia64 for now - the tools can't cope. 2000-09-29 13:34:04 +00:00
link_elf.c Don't support dynamic linking on ia64 for now - the tools can't cope. 2000-09-29 13:34:04 +00:00
linker_if.m
Make.tags.inc
makedevops.pl
Makefile
makeobjops.pl
makesyscalls.sh
md5c.c Add ia64 support. 2000-09-29 13:36:47 +00:00
p1003_1b.c
posix4_mib.c
subr_acl_posix1e.c o Change locking rules for VOP_GETACL() to indicate that vnode locks 2000-09-21 18:43:32 +00:00
subr_autoconf.c
subr_blist.c
subr_bus.c Initialize 'hints_loaded' to 0. 2000-09-17 23:57:52 +00:00
subr_clist.c
subr_devstat.c
subr_disk.c Avoid the modules madness I inadvertently introduced by making the 2000-09-02 19:17:34 +00:00
subr_disklabel.c Turn dkcksum() into an __inline function. 2000-09-16 13:43:00 +00:00
subr_diskmbr.c
subr_diskslice.c Avoid the modules madness I inadvertently introduced by making the 2000-09-02 19:17:34 +00:00
subr_eventhandler.c Make the EVENTHANDLER mechanism MP-safe. Events can now be invoked 2000-09-22 03:17:35 +00:00
subr_kobj.c Add kobj_class_compile_static() to allow classes to be initialised 2000-08-28 21:11:12 +00:00
subr_log.c
subr_module.c
subr_param.c
subr_prf.c Treat %X the same as %x (not entirely correct, but close enough). 2000-10-02 07:13:10 +00:00
subr_prof.c Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
subr_rman.c
subr_scanf.c
subr_smp.c - Change fast interrupts on x86 to push a full interrupt frame and to 2000-10-06 02:20:21 +00:00
subr_taskqueue.c - Heavyweight interrupt threads on the alpha for device I/O interrupts. 2000-10-05 23:09:57 +00:00
subr_trap.c - Change fast interrupts on x86 to push a full interrupt frame and to 2000-10-06 02:20:21 +00:00
subr_turnstile.c Remove the mtx_t, witness_t, and witness_blessed_t types. Instead, just 2000-09-14 20:15:16 +00:00
subr_witness.c Remove the mtx_t, witness_t, and witness_blessed_t types. Instead, just 2000-09-14 20:15:16 +00:00
subr_xxx.c
sys_generic.c
sys_pipe.c Pipes are not writeable while a direct write is in progress. However, 2000-09-14 20:10:19 +00:00
sys_process.c o Centralize inter-process access control, introducing: 2000-08-30 04:49:09 +00:00
sys_socket.c
syscalls.c Regen: fix prototypes for {o|}{g|s}etrlimit. 2000-08-28 07:56:38 +00:00
syscalls.master Fix prototypes for {o|}{g|s}etrlimit. A recent change in the 2000-08-28 07:50:44 +00:00
sysv_ipc.c
sysv_msg.c Fully initialize msqids[]. This could lead to ENOSPC and other strange 2000-09-19 22:59:22 +00:00
sysv_sem.c Move the MSG* and SEM* options to opt_sysvipc.h 2000-05-01 13:33:56 +00:00
sysv_shm.c
tty_compat.c
tty_conf.c
tty_cons.c
tty_pty.c Rename lminor() to dev2unit(). This function gives a linear unit number 2000-09-19 10:28:44 +00:00
tty_snoop.c
tty_subr.c
tty_tty.c
tty.c Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
uipc_accf.c Accept filter maintainance 2000-09-06 18:49:13 +00:00
uipc_domain.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
uipc_mbuf2.c Replace the mbuf external reference counting code with something 2000-08-19 08:32:59 +00:00
uipc_mbuf.c Big mbuf subsystem diff #1: incorporate mutexes and fix things up somewhat 2000-09-30 06:30:39 +00:00
uipc_proto.c
uipc_sockbuf.c Remove uidinfo hash table lookup and maintenance out of chgproccnt() and 2000-09-05 22:11:13 +00:00
uipc_socket2.c Remove uidinfo hash table lookup and maintenance out of chgproccnt() and 2000-09-05 22:11:13 +00:00
uipc_socket.c Check so_error in filt_so{read|write} in order to detect UDP errors. 2000-09-28 04:41:22 +00:00
uipc_syscalls.c Add three new VOPs: VOP_CREATEVOBJECT, VOP_DESTROYVOBJECT and VOP_GETVOBJECT. 2000-09-12 09:49:08 +00:00
uipc_usrreq.c Remove uidinfo hash table lookup and maintenance out of chgproccnt() and 2000-09-05 22:11:13 +00:00
vfs_acl.c o Change locking rules for VOP_GETACL() to indicate that vnode locks 2000-09-21 18:43:32 +00:00
vfs_aio.c aio_qphysio: Eliminate one instance of an out-of-range check that is 2000-09-26 06:35:22 +00:00
vfs_bio.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
vfs_cache.c Add new flag PDIRUNLOCK to the component.cn_flags which should be set by 2000-09-17 07:26:42 +00:00
vfs_cluster.c Virtualizes & untangles the bioops operations vector. 2000-06-16 08:48:51 +00:00
vfs_conf.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
vfs_default.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
vfs_export.c Style fixes based on comments by bde 2000-10-05 18:22:46 +00:00
vfs_extattr.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
vfs_init.c Do not panic on an uninitialized VOP_xxx() call. This was meant as a 2000-09-06 17:51:54 +00:00
vfs_lookup.c Add new flag PDIRUNLOCK to the component.cn_flags which should be set by 2000-09-17 07:26:42 +00:00
vfs_mount.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
vfs_subr.c Style fixes based on comments by bde 2000-10-05 18:22:46 +00:00
vfs_syscalls.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
vfs_vnops.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
vnode_if.pl
vnode_if.src o Change locking rules for VOP_GETACL() to indicate that vnode locks 2000-09-21 18:43:32 +00:00