On 07-Mar-02 Matthew Dillon wrote:
>:Search for "paper John Baldwin" and find link 6:
>:The actual paper is at:
>:  http://www.FreeBSD.org/~jhb/smpng/design/article.{ps,pdf}
>: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.

>                                       -Matt
>                                       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

Reply via email to