LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@kernel.org>
To: Mark Rutland <mark.rutland@arm.com>
Cc: linux-kernel@vger.kernel.org, benh@kernel.crashing.org,
	boqun.feng@gmail.com, bp@alien8.de, catalin.marinas@arm.com,
	dvyukov@google.com, elver@google.com, ink@jurassic.park.msu.ru,
	jonas@southpole.se, juri.lelli@redhat.com, linux@armlinux.org.uk,
	luto@kernel.org, mattst88@gmail.com, mingo@redhat.com,
	monstr@monstr.eu, mpe@ellerman.id.au, paulus@samba.org,
	peterz@infradead.org, rth@twiddle.net, shorne@gmail.com,
	stefan.kristiansson@saunalahti.fi, tglx@linutronix.de,
	vincent.guittot@linaro.org, will@kernel.org
Subject: Re: [PATCH v4 00/10] thread_info: use helpers to snapshot thread flags
Date: Tue, 3 Aug 2021 09:01:39 -0700	[thread overview]
Message-ID: <20210803160139.GS4397@paulmck-ThinkPad-P17-Gen-1> (raw)
In-Reply-To: <20210803095428.17009-1-mark.rutland@arm.com>

On Tue, Aug 03, 2021 at 10:54:18AM +0100, Mark Rutland wrote:
> As thread_info::flags scan be manipulated by remote threads, it is
> necessary to use atomics or READ_ONCE() to ensure that code manipulates
> a consistent snapshot, but we open-code plain accesses to
> thread_info::flags across the kernel tree.
> 
> Generally we get away with this, but tools like KCSAN legitimately warn
> that there is a data-race, and this is potentially fragile with compiler
> optimizations, LTO, etc.
> 
> These patches introduce new helpers to snahpshot the thread flags, with
> the intent being that these should replace all plain accesses.

For the series:

Acked-by: Paul E. McKenney <paulmck@kernel.org>

> Since v1 [1]:
> * Drop RFC
> * Make read_ti_thread_flags() __always_inline
> * Clarify commit messages
> * Fix typo in arm64 patch
> * Accumulate Reviewed-by / Acked-by tags
> * Drop powerpc patch to avoid potential conflicts (per [2])
> 
> Since v2 [3]:
> * Rebase to v5.14-rc1
> * Reinstate powerpc patch
> 
> Since v3 [4]:
> * Rebase to v5.14-rc4
> 
> [1] https://lore.kernel.org/r/20210609122001.18277-1-mark.rutland@arm.com
> [2] https://lore.kernel.org/r/87k0mvtgeb.fsf@mpe.ellerman.id.au
> [3] https://lore.kernel.org/r/20210621090602.16883-1-mark.rutland@arm.com
> [4] https://lore.kernel.org/r/20210713113842.2106-1-mark.rutland@arm.com
> 
> Thanks,
> Mark.
> 
> Mark Rutland (10):
>   thread_info: add helpers to snapshot thread flags
>   entry: snapshot thread flags
>   sched: snapshot thread flags
>   alpha: snapshot thread flags
>   arm: snapshot thread flags
>   arm64: snapshot thread flags
>   microblaze: snapshot thread flags
>   openrisc: snapshot thread flags
>   powerpc: snapshot thread flags
>   x86: snapshot thread flags
> 
>  arch/alpha/kernel/signal.c          |  2 +-
>  arch/arm/kernel/signal.c            |  2 +-
>  arch/arm/mm/alignment.c             |  2 +-
>  arch/arm64/kernel/ptrace.c          |  4 ++--
>  arch/arm64/kernel/signal.c          |  2 +-
>  arch/arm64/kernel/syscall.c         |  4 ++--
>  arch/microblaze/kernel/signal.c     |  2 +-
>  arch/openrisc/kernel/signal.c       |  2 +-
>  arch/powerpc/kernel/interrupt.c     | 13 ++++++-------
>  arch/powerpc/kernel/ptrace/ptrace.c |  3 +--
>  arch/x86/kernel/process.c           |  8 ++++----
>  arch/x86/kernel/process.h           |  6 +++---
>  arch/x86/mm/tlb.c                   |  2 +-
>  include/linux/entry-kvm.h           |  2 +-
>  include/linux/thread_info.h         | 14 ++++++++++++++
>  kernel/entry/common.c               |  4 ++--
>  kernel/entry/kvm.c                  |  4 ++--
>  kernel/sched/core.c                 |  2 +-
>  18 files changed, 45 insertions(+), 33 deletions(-)
> 
> -- 
> 2.11.0
> 

      parent reply	other threads:[~2021-08-03 16:01 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-03  9:54 Mark Rutland
2021-08-03  9:54 ` [PATCH v4 01/10] thread_info: add " Mark Rutland
2021-08-03  9:54 ` [PATCH v4 02/10] entry: " Mark Rutland
2021-08-03  9:54 ` [PATCH v4 03/10] sched: " Mark Rutland
2021-08-03  9:54 ` [PATCH v4 04/10] alpha: " Mark Rutland
2021-08-03  9:54 ` [PATCH v4 05/10] arm: " Mark Rutland
2021-08-03  9:54 ` [PATCH v4 06/10] arm64: " Mark Rutland
2021-08-03  9:54 ` [PATCH v4 07/10] microblaze: " Mark Rutland
2021-08-25  9:03   ` Michal Simek
2021-08-03  9:54 ` [PATCH v4 08/10] openrisc: " Mark Rutland
2021-08-03  9:54 ` [PATCH v4 09/10] powerpc: " Mark Rutland
2021-08-03  9:54 ` [PATCH v4 10/10] x86: " Mark Rutland
2021-08-03 16:01 ` Paul E. McKenney [this message]

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=20210803160139.GS4397@paulmck-ThinkPad-P17-Gen-1 \
    --to=paulmck@kernel.org \
    --cc=benh@kernel.crashing.org \
    --cc=boqun.feng@gmail.com \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=dvyukov@google.com \
    --cc=elver@google.com \
    --cc=ink@jurassic.park.msu.ru \
    --cc=jonas@southpole.se \
    --cc=juri.lelli@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=luto@kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mattst88@gmail.com \
    --cc=mingo@redhat.com \
    --cc=monstr@monstr.eu \
    --cc=mpe@ellerman.id.au \
    --cc=paulus@samba.org \
    --cc=peterz@infradead.org \
    --cc=rth@twiddle.net \
    --cc=shorne@gmail.com \
    --cc=stefan.kristiansson@saunalahti.fi \
    --cc=tglx@linutronix.de \
    --cc=vincent.guittot@linaro.org \
    --cc=will@kernel.org \
    --subject='Re: [PATCH v4 00/10] thread_info: use helpers to snapshot thread flags' \
    /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

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).