Re: [RFC][PATCH 2/5] mm: Switch mod_state() to __this_cpu_read()

Christoph Lameter
2011-09-20T16:02:14Z

On Tue, 20 Sep 2011, Thomas Gleixner wrote:

> I want to get rid of them alltogether. They are crap by design and
> prone to be used wrong without a sensible way to detect that.

Counter increments have been done this way for a very long time. This is
a pretty well established way of doing things in the kernel that was
expanded and made better by avoid preempt disable/enable around these per
cpu pointer increments.

> Right, and that's the main problem. We have no fricking way to debug
> this, so they should have never been there in the first place. And you
> simply CANNOT prevent people from getting this wrong w/o proper
> debugging and annotation. Even YOU and Tejun made bogus conversion w/o
> noticing, but you expect that others get it right?

Bogus conversions?

> So stop defending that trainwreck and help out with fixing the mess
> you created in a proper and debugable way!

You want debugging to ensure that this_cpu ops always access the intended
per cpu area? But the point of these operations is to be used in kernel
locations where the use of any per cpu area is satisfactory.