On 07-Mar-02 Matthew Dillon wrote:
>:Search for "paper John Baldwin" and find link 6:
>:The actual paper is at:
>:Jeroen C. van Gelderen - [EMAIL PROTECTED]
> Ok... I've read it. The sections on interrupts and critical sections
> are fully compatible with my patch. The one section... basically
> the last sentence of the last paragraph, is exactly the piece that
> my patch cleans up and makes more flexible. Instead of requiring that
> cpu_critical_*() always be used for the initial critical_enter() my
> patch makes it optional, and for I386 I use that flexibility to allow
> critical_*() to NOT have to call cpu_critical_*().
You seemed to have missed the entire part where we handle deferred preemptions
in MI code in critical_exit(). The critical_enter/exit stuff really exists to
support the preemption code and to get rid of the various FOO_NOSWITCH flags.
I think it is ok to remove the linkage between critical_enter/exit and
cpu_critical_* (possibly even renaming cpu_critical_* to a better name) and to
allow arch's to optimize cpu_critical_* but leave critical_* as MI code.
That's what I've asked for from the start and Jake even suggested it from the
I'm still not comfortable with the optimiation, but changing the MI critical_*
code is by far my biggest objection to the code.
> Matthew Dillon
> <[EMAIL PROTECTED]>
John Baldwin <[EMAIL PROTECTED]> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message