Cc: Christoph Lameter <clameter@...>, Rafael J. Wysocki <rjw@...>, Pawel Staszewski <pstaszewski@...>, LKML <linux-kernel@...>, Adrian Bunk <bunk@...>, Andrew Morton <akpm@...>, Natalie Protasevich <protasnb@...>
So this is kind of my point of the whole thing. It's really hard to even
realize that there are multiple points - unless you do it at the top
level.
And yeah, the double clearing is just a performance issue in a rare and
odd case, and if it hadn't been for the very anal debug checks we would
never have even noticed. But code that is hard to follow and has really
subtle non-local implications is fundamentally more likely to have these
kinds of problems. Which is why I'm arguing against code like that.
Linus
--