Messages in this thread | | | Subject | Re: [PATCH] In-kernel module loader 3/7 | From | Robert Love <> | Date | 18 Sep 2002 19:11:09 -0400 |
| |
On Wed, 2002-09-18 at 19:07, Roman Zippel wrote:
> On Wed, 18 Sep 2002, Rusty Russell wrote: > > > +/* Stopping interrupts faster than atomics on many archs (and more > > + easily optimized if they're not) */ > > +static inline void bigref_inc(struct bigref *ref) > > +{ > > + unsigned long flags; > > + struct bigref_percpu *cpu; > > + > > + local_irq_save(flags); > > + cpu = &ref->ref[smp_processor_id()]; > > + if (likely(!cpu->slow_mode)) > > + cpu->counter++; > > Did you benchmark this? On most UP machines an inc/dec should be cheaper > than irq enable/disable.
Yah. I would think due to pipeline effects, disabling interrupts would never be faster than an atomic inc/dec, assuming the architecture has normal locking.
Robert Love
- 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/
| |