freebsd-dev/sys/amd64/isa
John Baldwin 688ebe120c - Close races with signals and other AST's being triggered while we are in
the process of exiting the kernel.  The ast() function now loops as long
  as the PS_ASTPENDING or PS_NEEDRESCHED flags are set.  It returns with
  preemption disabled so that any further AST's that arrive via an
  interrupt will be delayed until the low-level MD code returns to user
  mode.
- Use u_int's to store the tick counts for profiling purposes so that we
  do not need sched_lock just to read p_sticks.  This also closes a
  problem where the call to addupc_task() could screw up the arithmetic
  due to non-atomic reads of p_sticks.
- Axe need_proftick(), aston(), astoff(), astpending(), need_resched(),
  clear_resched(), and resched_wanted() in favor of direct bit operations
  on p_sflag.
- Fix up locking with sched_lock some.  In addupc_intr(), use sched_lock
  to ensure pr_addr and pr_ticks are updated atomically with setting
  PS_OWEUPC.  In ast() we clear pr_ticks atomically with clearing
  PS_OWEUPC.  We also do not grab the lock just to test a flag.
- Simplify the handling of Giant in ast() slightly.

Reviewed by:	bde (mostly)
2001-08-10 22:53:32 +00:00
..
atpic_vector.S Don't enable interrupts before calling sched_ithd for threaded interrupts. 2001-03-05 04:37:54 +00:00
clock.c Remove unneeded includes of sys/ipl.h and machine/ipl.h. 2001-05-15 23:22:29 +00:00
icu_ipl.s Remove the leading underscore from all symbols defined in x86 asm 2001-02-25 06:29:04 +00:00
icu_ipl.S Remove the leading underscore from all symbols defined in x86 asm 2001-02-25 06:29:04 +00:00
icu_vector.s Don't enable interrupts before calling sched_ithd for threaded interrupts. 2001-03-05 04:37:54 +00:00
icu_vector.S Don't enable interrupts before calling sched_ithd for threaded interrupts. 2001-03-05 04:37:54 +00:00
icu.h Clean up the code exporting interrupt statistics via sysctl a bit: 2001-06-01 13:23:28 +00:00
intr_machdep.c Add ACPI S2-S4BIOS Suspend/Resume code. 2001-07-20 06:07:34 +00:00
intr_machdep.h Add ACPI S2-S4BIOS Suspend/Resume code. 2001-07-20 06:07:34 +00:00
isa_dma.c With Alfred's permission, remove vm_mtx in favor of a fine-grained approach 2001-07-04 16:20:28 +00:00
isa_dma.h Stop isadma from abusing the B_READ, B_RAW and B_WRITE flags. 2000-03-13 10:19:32 +00:00
isa.c Don't assume that resource type is ioport and rid equal 0. 2001-06-17 13:33:59 +00:00
isa.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ithread.c - Use ICU_LEN rather than NHWI for the size of the array of ithreads. 2001-05-15 22:31:08 +00:00
nmi.c Add ACPI S2-S4BIOS Suspend/Resume code. 2001-07-20 06:07:34 +00:00
npx.c - Close races with signals and other AST's being triggered while we are in 2001-08-10 22:53:32 +00:00
timerreg.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vector.s Clean up the code exporting interrupt statistics via sysctl a bit: 2001-06-01 13:23:28 +00:00
vector.S Clean up the code exporting interrupt statistics via sysctl a bit: 2001-06-01 13:23:28 +00:00