LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: nsaenzju@redhat.com To: Marcelo Tosatti <mtosatti@redhat.com>, linux-kernel@vger.kernel.org Cc: Nitesh Lal <nilal@redhat.com>, Frederic Weisbecker <frederic@kernel.org>, Christoph Lameter <cl@linux.com>, Juri Lelli <juri.lelli@redhat.com>, Peter Zijlstra <peterz@infradead.org>, Alex Belits <abelits@belits.com>, Peter Xu <peterx@redhat.com> Subject: Re: [patch V3 3/8] task isolation: sync vmstats on return to userspace Date: Fri, 10 Sep 2021 15:49:42 +0200 [thread overview] Message-ID: <92252a92c5fe45b3ef6d2627975d917e0e522e8f.camel@redhat.com> (raw) In-Reply-To: <20210824152646.743604666@fuller.cnet> Hi Marcelo, On Tue, 2021-08-24 at 12:24 -0300, Marcelo Tosatti wrote: > The logic to disable vmstat worker thread, when entering > nohz full, does not cover all scenarios. For example, it is possible > for the following to happen: > > 1) enter nohz_full, which calls refresh_cpu_vm_stats, syncing the stats. > 2) app runs mlock, which increases counters for mlock'ed pages. > 3) start -RT loop > > Since refresh_cpu_vm_stats from nohz_full logic can happen _before_ > the mlock, vmstat shepherd can restart vmstat worker thread on > the CPU in question. > > To fix this, use the task isolation prctl interface to quiesce > deferred actions when returning to userspace. > > Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> > > --- [...] > Index: linux-2.6/kernel/entry/common.c > =================================================================== > --- linux-2.6.orig/kernel/entry/common.c > +++ linux-2.6/kernel/entry/common.c > @@ -6,6 +6,7 @@ > #include <linux/livepatch.h> > #include <linux/audit.h> > #include <linux/tick.h> > +#include <linux/task_isolation.h> > > #include "common.h" > > @@ -287,6 +288,7 @@ static void syscall_exit_to_user_mode_pr > static __always_inline void __syscall_exit_to_user_mode_work(struct pt_regs *regs) > { > syscall_exit_to_user_mode_prepare(regs); > + isolation_exit_to_user_mode_prepare(); Are safe from migration at this stage? -- Nicolás Sáenz
next prev parent reply other threads:[~2021-09-10 13:49 UTC|newest] Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-08-24 15:24 [patch V3 0/8] extensible prctl task isolation interface and vmstat sync Marcelo Tosatti 2021-08-24 15:24 ` [patch V3 1/8] add basic task isolation prctl interface Marcelo Tosatti 2021-08-24 15:24 ` [patch V3 2/8] add prctl task isolation prctl docs and samples Marcelo Tosatti 2021-08-26 9:59 ` Frederic Weisbecker 2021-08-26 12:11 ` Marcelo Tosatti 2021-08-26 19:15 ` Christoph Lameter 2021-08-26 20:37 ` Marcelo Tosatti 2021-08-27 13:08 ` Frederic Weisbecker 2021-08-27 14:44 ` Marcelo Tosatti 2021-08-30 11:38 ` Frederic Weisbecker 2021-09-01 13:11 ` Nitesh Lal 2021-09-01 17:34 ` Marcelo Tosatti 2021-09-01 17:49 ` Nitesh Lal 2021-08-24 15:24 ` [patch V3 3/8] task isolation: sync vmstats on return to userspace Marcelo Tosatti 2021-09-10 13:49 ` nsaenzju [this message] 2021-08-24 15:24 ` [patch V3 4/8] procfs: add per-pid task isolation state Marcelo Tosatti 2021-08-24 15:24 ` [patch V3 5/8] task isolation: sync vmstats conditional on changes Marcelo Tosatti 2021-08-25 9:46 ` Christoph Lameter 2021-08-24 15:24 ` [patch V3 6/8] KVM: x86: call isolation prepare from VM-entry code path Marcelo Tosatti 2021-08-24 15:24 ` [patch V3 7/8] mm: vmstat: move need_update Marcelo Tosatti 2021-08-24 15:24 ` [patch V3 8/8] mm: vmstat_refresh: avoid queueing work item if cpu stats are clean Marcelo Tosatti 2021-08-25 9:30 ` Christoph Lameter 2021-09-01 13:05 ` Nitesh Lal 2021-09-01 17:32 ` Marcelo Tosatti 2021-09-01 18:33 ` Marcelo Tosatti 2021-09-03 17:38 ` Nitesh Lal 2021-08-25 10:02 ` [patch V3 0/8] extensible prctl task isolation interface and vmstat sync Marcelo Tosatti
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=92252a92c5fe45b3ef6d2627975d917e0e522e8f.camel@redhat.com \ --to=nsaenzju@redhat.com \ --cc=abelits@belits.com \ --cc=cl@linux.com \ --cc=frederic@kernel.org \ --cc=juri.lelli@redhat.com \ --cc=linux-kernel@vger.kernel.org \ --cc=mtosatti@redhat.com \ --cc=nilal@redhat.com \ --cc=peterx@redhat.com \ --cc=peterz@infradead.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: linkBe 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).