Re: [PATCH] only irq-safe atomic ops

From: Andrew Morton (akpm@zip.com.au)
Date: Sat Feb 23 2002 - 18:56:36 EST


Robert Love wrote:
>
> On Sat, 2002-02-23 at 18:13, Robert Love wrote:
> > On Sat, 2002-02-23 at 17:10, Andrew Morton wrote:
> >
> > > ooh. me likee.
> > >
> > > #define smp_get_cpuid() ({ preempt_disable(); smp_processor_id(); })
> > > #define smp_put_cpuid() preempt_enable()
> > >
> > > Does rml likee?
> >
> > Yah, that works.
>
> OK, I still likee, but I was just thinking, if we are going to add have
> to add something why not consider the irq-safe atomic ops? It is
> certainly the most optimal.
>

For the situation Victor described:

        const int cpu = smp_get_cpuid();

        per_cpu_array_foo[cpu] = per_cpu_array_bar[cpu] +
                                        per_cpu_array_zot[cpu];

        smp_put_cpuid();

It's a nice interface - it says "pin down and return the current
CPU ID".

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



This archive was generated by hypermail 2b29 : Sat Feb 23 2002 - 21:00:53 EST