Re: [PATCH 0/3] TLB flush multiple pages per IPI v5

Ingo Molnar
2015-06-10T09:08:26Z

* Ingo Molnar <mingo@kernel.org> wrote:

> Stop this crap.
>
> I made a really clear and unambiguous chain of arguments:
>
> - I'm unconvinced about the benefits of INVLPG in general, and your patches adds
> a whole new bunch of them. [...]

... and note that your claim that 'we were doing them before, this is just an
equivalent transformation' is utter bullsh*t technically: what we were doing
previously was a hideously expensive IPI combined with an INVLPG.

The behavior was dominated by the huge overhead of the remote flushing IPI, which
does not prove or disprove either your or my opinion!

Preserving that old INVLPG logic without measuring its benefits _again_ would be
cargo cult programming.

So I think this should be measured, and I don't mind worst-case TLB trashing
measurements, which would be relatively straightforward to construct and the
results should be unambiguous.

The batching limit (which you set to 32) should then be tuned by comparing it to a
working full-flushing batching logic, not by comparing it to the previous single
IPI per single flush approach!

... and if the benefits of a complex algorithm are not measurable and if there are
doubts about the cost/benefit tradeoff then frankly it should not exist in the
kernel in the first place. It's not like the Linux TLB flushing code is too boring
due to overwhelming simplicity.

and yes, it's my job as a maintainer to request measurements justifying complexity
and your ad hominem attacks against me are disgusting - you should know better.

Thanks,

Ingo