1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-20 11:11:24 +00:00
freebsd/sys/amd64
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
..
acpica Don't do sleep state transition if specified sleep state is not 2001-07-22 19:13:54 +00:00
amd64 - Close races with signals and other AST's being triggered while we are in 2001-08-10 22:53:32 +00:00
conf - Removed comment about ThinkPad keyboards from the PCVT line. Any ThinkPad 2001-08-05 21:56:11 +00:00
include - Close races with signals and other AST's being triggered while we are in 2001-08-10 22:53:32 +00:00
isa - Close races with signals and other AST's being triggered while we are in 2001-08-10 22:53:32 +00:00
pci Un-swap irq/link byte values so that printf works. 2001-05-11 04:52:29 +00:00
Makefile Update tags directive to reflect the new location of soft updates 2000-07-04 00:18:43 +00:00