Re: [PATCH] only irq-safe atomic ops

Andrew Morton
2002-02-23T22:12:16Z

Roman Zippel wrote:
>
> Hi,
>
> yodaiken@fsmlabs.com wrote:
>
> > Right. Without preemption it is safe to do
> > c = smp_get_cpuid();
> > ...
> > x = ++local_cache[c]
> > ..
> >
> > y = ++different_local_cache[c];
> > ..
>
> Just add:
> smp_put_cpuid();
>
> Is that so much worse?
>

ooh. me likee.

#define smp_get_cpuid() ({ preempt_disable(); smp_processor_id(); })
#define smp_put_cpuid() preempt_enable()

Does rml likee?

-