linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rik van Riel <riel@surriel.com>
To: linux-kernel@vger.kernel.org
Cc: kernel-team@fb.com, mingo@kernel.org, peterz@infradead.org,
	luto@kernel.org, x86@kernel.org, efault@gmx.de,
	dave.hansen@intel.com
Subject: [PATCH v2 0/11] x86,tlb,mm: more lazy TLB cleanups & optimizations
Date: Wed,  1 Aug 2018 06:02:44 -0400	[thread overview]
Message-ID: <20180801100255.4278-1-riel@surriel.com> (raw)

This patch series implements the cleanups suggested by Peter and Andy,
removes lazy TLB mm refcounting on x86, and shows how other architectures
could implement that same optimization.

The previous patch series already seems to have removed most of the
cache line contention I was seeing at context switch time, so CPU use
of the memcache and memcache-like workloads has not changed measurably
with this patch series.

However, the memory bandwidth used by the memcache system has been
reduced by about 1%, to serve the same number of queries per second.

This happens on two socket Haswell and Broadwell systems. Maybe on
larger systems (4 or 8 socket) one might also see a measurable drop
in the amount of CPU time used, with workloads where the previous
patch series does not remove all cache line contention on the mm.

This is against the latest -tip tree, and seems to be stable (on top
of another tree) with workloads that do over a million context switches
a second.

V2 of the series uses Peter's logic flow in context_switch(), and
is a step in the direction of completely getting rid of ->active_mm.


             reply	other threads:[~2018-08-01 10:03 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-01 10:02 Rik van Riel [this message]
2018-08-01 10:02 ` [PATCH 01/11] x86,tlb: clarify memory barrier in switch_mm_irqs_off Rik van Riel
2018-08-01 10:02 ` [PATCH 02/11] smp: use __cpumask_set_cpu in on_each_cpu_cond Rik van Riel
2018-08-01 10:02 ` [PATCH 03/11] smp,cpumask: introduce on_each_cpu_cond_mask Rik van Riel
2018-08-01 10:02 ` [PATCH 04/11] x86,mm: use on_each_cpu_cond for TLB flushes Rik van Riel
2018-08-01 10:02 ` [PATCH 05/11] mm,tlb: turn dummy defines into inline functions Rik van Riel
2018-08-01 10:02 ` [PATCH 06/11] mm,x86: skip cr4 and ldt reload when mm stays the same Rik van Riel
2018-08-01 10:02 ` [PATCH 07/11] x86,mm: remove leave_mm cpu argument Rik van Riel
2018-08-01 10:02 ` [PATCH 08/11] arch,mm: add config variable to skip lazy TLB mm refcounting Rik van Riel
2018-08-01 10:02 ` [PATCH 09/11] mm,x86: shoot down lazy TLB references at exit_mmap time Rik van Riel
2018-08-01 10:02 ` [PATCH 10/11] x86,tlb: really leave mm on shootdown Rik van Riel
2018-08-01 10:02 ` [PATCH 11/11] mm,sched: conditionally skip lazy TLB mm refcounting Rik van Riel
2018-08-03 15:56   ` Peter Zijlstra
2018-08-03 16:40     ` Rik van Riel
2018-08-03 17:25       ` Peter Zijlstra
2018-08-03 17:39         ` Rik van Riel
2018-08-06 17:50           ` Peter Zijlstra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180801100255.4278-1-riel@surriel.com \
    --to=riel@surriel.com \
    --cc=dave.hansen@intel.com \
    --cc=efault@gmx.de \
    --cc=kernel-team@fb.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).