Re: [PATCH] only irq-safe atomic ops

Andrew Morton
2002-02-23T20:29:20Z

Stephen Lord wrote:
>
> Andrew Morton wrote:
>
> >Robert Love wrote:
> >
> >>...
> >>
> >>Question: if (from below) you are going to use atomic operations, why
> >>make it per-CPU at all? Just have one counter and atomic_inc and
> >>atomic_read it. You won't need a spin lock.
> >>
> >
> >Oh that works fine. But then it's a global counter, so each time
> >a CPU marks a page dirty, the counter needs to be pulled out of
> >another CPU's cache. Which is not a thing I *need* to do.
> >
> >As I said, it's a micro-issue. But it's a requirement which
> >may pop up elsewhere.
> >
> >
> I can tell you that Irix has just such a global counter for the amount of
> delayed allocate pages - and it gets to be a major point of cache contention
> once you get to larger cpu counts. So avoiding that from the start would
> be good.

Ah, good info. Thanks. I'll fix it with a big "FIXME" comment for now,
fix it for real when Rusty's per-CPU infrastructure appears.

-