On Fri, 2018-06-22 at 09:01 -0700, Andy Lutomirski wrote: > Hmm, fair enough. I think a better heuristic would be if the > estimated idle duration is more than, say, 10ms. I *think* the code > has been cleaned up enough that this is easy now. (Using time > instead > of C6 will make it a lot less dependent on which idle driver is in > use.)
This particular bit of code is only in intel_idle though, and not every cpuidle governor estimates an idle duration, nor does it get passed up the stack (presumably because it not always exists). I will just drop this patch for now, and see if adding back in the patch that skips manipulation of the mm_cpumask(&init_mm), since that might make leave_mm() a little cheaper. We would still have excess manipulation of the bitmask when re-entering the task from what should have been lazy TLB mode, but total cache line contention would likely still be down from where it is before that patch. -- All Rights Reversed.
signature.asc
Description: This is a digitally signed message part