Messages in this thread | | | From | Andy Lutomirski <> | Date | Fri, 22 Jun 2018 08:36:59 -0700 | Subject | Re: [PATCH 7/7] x86,idle: do not leave mm in idle state |
| |
On Wed, Jun 20, 2018 at 12:57 PM Rik van Riel <riel@surriel.com> wrote: > > Do not call leave_mm when going into a cstate. Now that mprotect and > madvise no longer send IPIs for TLB shootdowns to idle CPUs, there is > no real reason to disable lazy TLB mode in idle states. > > This seems to help performance on Broadwell systems. Haswell performance > numbers are inconclusive.
I'm skeptical. The code you're removing is more about power consumption than about performance. If a task migrates from one cpu to another, runs for awhile, and exits, we don't want to IPI the old CPU if the old CPU is deeply asleep. The logic you're removing is a bit awkwardly written, but the intent is to only do the leave_mm() in deep sleep. We should arguably change the condition to check the expected sleep duration instead of the microarchitectural properties of the target state, though.
| |