:> cpu_critical_enter() to a null version to prevent spinlocks masking
:> interrupts doesn't work very well because it is used for other things
:> that really do need to mask interrupts.  Having 2 levels for
:> cpu_critical_enter() (on that masks normal interrupts and one that
:> masks fast interrupts) would work but I think there are already too
:> many levels of critical_enter()s.
:I think having the sparc-like API of intr_disable() / intr_restore() that we
:used to use to fix the places that assume too many implementation details of
:cpu_critical_foo() would be a good first step so that cpu_critical_foo() can be
:relegated back to supporting non-preemption (and no other spinlocks) and
:nothing else.
:> Bruce
:John Baldwin <[EMAIL PROTECTED]>  <><  http://www.FreeBSD.org/~jhb/

    I consider this a mistake that inappropriately locks MI code into
    architecture-specific (MD) features, especially considering that there
    are only two places in the codebase that actually make this assumption
    right now and both can be easily fixed.  It makes no sense to me to
    abstract out a third API (let alone making cpu_critical_*() available
    to the MI code) when the existing critical_*() API will do the job
    just fine.

                                        Matthew Dillon 
                                        <[EMAIL PROTECTED]>

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to