Re: [patch] 2.6.6-rc2 Allow architectures to reenable interrupts on contended spinlocks

From: Keith Owens
Date: Tue Apr 27 2004 - 07:06:41 EST


On Tue, 27 Apr 2004 21:36:48 +1000,
Paul Mackerras <paulus@xxxxxxxxx> wrote:
>I was just thinking yesterday that it would be good to reenable
>interrupts during spin_lock_irq on ppc64. I am hacking on the
>spinlocks for ppc64 at the moment and this looks like something worth
>adding.
>
>Why not keep _raw_spin_lock as it is and only use _raw_spin_lock_flags
>in the spin_lock_irq{,save} case?

Using both _raw_spin_lock and _raw_spin_lock_flags doubles the amount
of code to maintain.

Architectures like ia64 that use a common out of line contention path
need a common interface for all spinlocks, for the cases with and
without irq{,save}.

You can test __builtin_constant_p(flags) and fold out the case of the
flags being a known 'no flags available' value to get separate
contended paths if that is really what you want. But for architectures
that want a common path for all contended locks, you have to start with
common code.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/