dillon
dc5aafeb94
Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt
...
disablement assumptions in kern_fork.c by adding another API call,
cpu_critical_fork_exit(). Cleanup the td_savecrit field by moving it
from MI to MD. Temporarily move cpu_critical*() from <arch>/include/cpufunc.h
to <arch>/<arch>/critical.c (stage-2 will clean this up).
Implement interrupt deferral for i386 that allows interrupts to remain
enabled inside critical sections. This also fixes an IPI interlock bug,
and requires uses of icu_lock to be enclosed in a true interrupt disablement.
This is the stage-1 commit. Stage-2 will occur after stage-1 has stabilized,
and will move cpu_critical*() into its own header file(s) + other things.
This commit may break non-i386 architectures in trivial ways. This should
be temporary.
Reviewed by: core
Approved by: core
2002-03-27 05:39:23 +00:00
..
2002-03-27 04:04:17 +00:00
2002-02-11 03:54:30 +00:00
2002-03-19 21:25:46 +00:00
2002-03-19 21:25:46 +00:00
2002-03-25 13:52:45 +00:00
2001-11-28 03:26:58 +00:00
2002-03-25 13:52:45 +00:00
2002-03-08 10:33:11 +00:00
2002-03-05 16:13:01 +00:00
2002-03-19 21:25:46 +00:00
2002-03-19 11:02:06 +00:00
2002-01-16 06:55:30 +00:00
2002-03-19 21:25:46 +00:00
2002-02-11 20:37:54 +00:00
2002-03-10 10:50:05 +00:00
2002-03-20 04:09:59 +00:00
2001-10-25 17:22:31 +00:00
2002-03-20 04:09:59 +00:00
2002-03-26 19:20:04 +00:00
2002-03-20 04:09:59 +00:00
2002-03-27 05:39:23 +00:00
2002-02-07 20:58:47 +00:00
2002-03-19 21:25:46 +00:00
2002-02-27 16:43:20 +00:00
2002-02-07 23:06:26 +00:00
2002-03-08 18:55:59 +00:00
2002-03-19 21:25:46 +00:00
2002-03-25 18:26:34 +00:00
2002-03-05 17:45:12 +00:00
2002-03-19 21:25:46 +00:00
2002-03-19 21:25:46 +00:00
2002-02-27 18:32:23 +00:00
2002-03-18 07:45:30 +00:00
2002-03-13 23:48:08 +00:00
2002-03-19 21:25:46 +00:00
2002-02-07 21:21:55 +00:00
2002-03-09 08:02:52 +00:00
2002-03-24 05:09:11 +00:00
2002-03-27 05:39:23 +00:00
2002-02-18 19:49:30 +00:00
2002-03-19 21:25:46 +00:00
2001-12-10 05:40:12 +00:00
2002-03-07 04:43:51 +00:00
2002-03-24 05:09:11 +00:00
2002-02-11 20:37:54 +00:00
2002-03-27 05:39:23 +00:00
2002-01-18 09:21:15 +00:00
2002-03-19 21:25:46 +00:00
2002-03-18 07:45:30 +00:00
2002-03-22 14:58:27 +00:00
2002-03-19 21:25:46 +00:00
2002-03-19 21:25:46 +00:00
2002-03-19 21:25:46 +00:00
2001-09-12 08:38:13 +00:00
2002-02-11 20:37:54 +00:00
2002-02-27 18:32:23 +00:00
2002-02-27 18:32:23 +00:00
2002-02-27 18:32:23 +00:00
2001-10-30 15:21:45 +00:00
2002-02-27 10:07:15 +00:00
2001-10-13 09:17:49 +00:00
2001-11-16 02:02:42 +00:00
2002-03-19 20:48:32 +00:00
2001-04-10 07:59:06 +00:00
2000-09-29 13:36:47 +00:00
2002-02-07 20:58:47 +00:00
2002-03-19 11:02:06 +00:00
2002-03-19 21:25:46 +00:00
2001-07-04 16:20:28 +00:00
2002-03-06 11:34:02 +00:00
2002-03-19 21:25:46 +00:00
2002-02-22 09:26:35 +00:00
2002-03-11 08:08:02 +00:00
2002-02-22 09:26:35 +00:00
2002-03-19 21:25:46 +00:00
2002-03-19 21:25:46 +00:00
2001-09-12 08:38:13 +00:00
2001-09-17 21:27:41 +00:00
2000-12-08 21:51:06 +00:00
2001-09-21 22:46:54 +00:00
2002-03-03 22:10:04 +00:00
2002-02-21 16:23:38 +00:00
2001-02-18 10:43:53 +00:00
2002-03-07 04:50:36 +00:00
2002-01-05 09:35:50 +00:00
2002-03-04 18:46:13 +00:00
2002-03-19 21:25:46 +00:00
2002-03-19 21:25:46 +00:00
2001-12-21 21:40:55 +00:00
2002-03-19 10:56:46 +00:00
2002-03-20 14:46:38 +00:00
2002-01-05 08:47:13 +00:00
2002-03-21 06:11:09 +00:00
2002-03-19 21:25:46 +00:00
2002-03-21 06:11:09 +00:00
2002-02-10 22:07:41 +00:00
2002-03-19 21:25:46 +00:00
2002-03-22 16:09:22 +00:00
2002-03-17 00:56:41 +00:00
2002-03-15 08:03:46 +00:00
2002-03-05 16:13:01 +00:00
2002-03-05 16:11:11 +00:00
2002-02-27 18:32:23 +00:00
2002-03-19 21:25:46 +00:00
2002-03-19 21:25:46 +00:00
2002-03-19 21:25:46 +00:00
2002-03-24 05:09:11 +00:00
2001-09-12 08:38:13 +00:00
2002-02-27 18:32:23 +00:00
2002-03-19 21:25:46 +00:00
2002-03-19 21:25:46 +00:00
2002-03-19 21:25:46 +00:00
2002-03-19 21:25:46 +00:00
2001-06-01 21:47:34 +00:00
2002-03-20 05:30:58 +00:00
2002-03-19 21:25:46 +00:00
2002-02-05 02:00:56 +00:00
2001-08-17 22:01:18 +00:00
2002-03-20 04:39:32 +00:00
2002-03-20 04:39:32 +00:00
2002-03-20 21:23:26 +00:00
2002-03-24 05:09:11 +00:00
2002-03-24 05:09:11 +00:00
2002-03-19 11:02:06 +00:00
2002-03-25 21:52:04 +00:00
2002-03-19 21:25:46 +00:00
2002-03-19 21:25:46 +00:00
2002-03-19 21:25:46 +00:00
2002-03-08 10:33:11 +00:00
2002-03-20 04:09:59 +00:00
2002-03-24 05:09:11 +00:00
2002-03-26 18:07:10 +00:00
2002-03-25 21:30:50 +00:00
2002-03-20 04:09:59 +00:00
2002-03-08 10:33:11 +00:00
2002-03-26 15:33:44 +00:00
2002-03-26 18:07:10 +00:00
2002-03-26 01:09:51 +00:00
2002-01-04 05:27:47 +00:00
2002-03-15 18:49:47 +00:00