public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: "David Hildenbrand (Arm)" <david@kernel•org>
To: Tejun Heo <tj@kernel•org>, David Vernet <void@manifault•com>,
	Andrea Righi <arighi@nvidia•com>,
	Changwoo Min <changwoo@igalia•com>,
	Alexei Starovoitov <ast@kernel•org>,
	Andrii Nakryiko <andrii@kernel•org>,
	Daniel Borkmann <daniel@iogearbox•net>,
	Martin KaFai Lau <martin.lau@linux•dev>,
	Kumar Kartikeya Dwivedi <memxor@gmail•com>
Cc: Peter Zijlstra <peterz@infradead•org>,
	Catalin Marinas <catalin.marinas@arm•com>,
	Will Deacon <will@kernel•org>, Thomas Gleixner <tglx@kernel•org>,
	Ingo Molnar <mingo@redhat•com>, Borislav Petkov <bp@alien8•de>,
	Dave Hansen <dave.hansen@linux•intel.com>,
	Andrew Morton <akpm@linux-foundation•org>,
	Mike Rapoport <rppt@kernel•org>,
	Emil Tsalapatis <emil@etsalapatis•com>,
	sched-ext@lists•linux.dev, bpf@vger•kernel.org, x86@kernel•org,
	linux-arm-kernel@lists•infradead.org, linux-mm@kvack•org,
	linux-kernel@vger•kernel.org
Subject: Re: [PATCH 1/8] mm: Add ptep_try_set() for lockless empty-slot installs
Date: Sat, 23 May 2026 00:07:04 +0200	[thread overview]
Message-ID: <6ca116f4-b9e2-4ad3-a232-bc441f88bc82@kernel.org> (raw)
In-Reply-To: <20260522172219.1423324-2-tj@kernel.org>


>  
> +#ifndef ptep_try_set
> +/**
> + * ptep_try_set - atomically set an empty kernel PTE
> + * @ptep: page table entry
> + * @new_pte: value to install
> + *
> + * Atomically set *@ptep to @new_pte iff *@ptep is pte_none(). Return true on
> + * success, false if the slot was already populated or the arch has no
> + * implementation.
> + *
> + * For special kernel page tables only - never user page tables. The caller must
> + * prevent concurrent teardown of @ptep and must accept that other writers may
> + * race. Concurrent clearers must use ptep_get_and_clear() so racing accesses
> + * agree on the outcome.
> + *
> + * Architectures opt in by providing a cmpxchg-based override and defining
> + * ptep_try_set as an identity macro. The generic stub returns false, which is
> + * correct for callers that fall through to oops on failure.
> + */
> +static inline bool ptep_try_set(pte_t *ptep, pte_t new_pte)

There are only a handful of valid use cases for this (and the "fall through to
oops on failure") makes this very clear.

So I'm fine with this, assuming there won't really be a lot of other users
besides ebpf.

Acked-by: David Hildenbrand (arm) <david@kernel•org>

-- 
Cheers,

David


  reply	other threads:[~2026-05-22 22:07 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-22 17:22 [PATCHSET v4 sched_ext/for-7.2] bpf/arena: Direct kernel-side access Tejun Heo
2026-05-22 17:22 ` [PATCH 1/8] mm: Add ptep_try_set() for lockless empty-slot installs Tejun Heo
2026-05-22 22:07   ` David Hildenbrand (Arm) [this message]
2026-05-25 15:50   ` patchwork-bot+netdevbpf
2026-05-22 17:22 ` [PATCH 2/8] bpf: Recover arena kernel faults with scratch page Tejun Heo
2026-05-26 12:45   ` David Hildenbrand (Arm)
2026-05-28 21:30     ` Alexei Starovoitov
2026-05-29 18:12       ` Tejun Heo
2026-05-29 18:38         ` Alexei Starovoitov
2026-05-29 18:44           ` Tejun Heo
2026-05-31 17:47             ` Tejun Heo
2026-05-31 18:58               ` David Hildenbrand (Arm)
2026-06-01  0:16               ` Alexei Starovoitov
2026-05-22 17:22 ` [PATCH 3/8] bpf: Add sleepable variant of bpf_arena_alloc_pages for kernel callers Tejun Heo
2026-05-22 17:22 ` [PATCH 4/8] bpf: Add bpf_struct_ops_for_each_prog() Tejun Heo
2026-05-22 17:22 ` [PATCH 5/8] bpf/arena: Add bpf_arena_map_kern_vm_start() and bpf_prog_arena() Tejun Heo
2026-05-22 17:22 ` [PATCH 6/8] sched_ext: Require an arena for cid-form schedulers Tejun Heo
2026-05-22 17:22 ` [PATCH 7/8] sched_ext: Sub-allocator over kernel-claimed BPF arena pages Tejun Heo
2026-05-22 17:22 ` [PATCH 8/8] sched_ext: Convert ops.set_cmask() to arena-resident cmask Tejun Heo
2026-05-25 15:45 ` [PATCHSET v4 sched_ext/for-7.2] bpf/arena: Direct kernel-side access Alexei Starovoitov
2026-05-25 19:54 ` Tejun Heo
  -- strict thread matches above, loose matches on Subject: below --
2026-05-20 23:50 [PATCHSET v3 " Tejun Heo
2026-05-20 23:50 ` [PATCH 1/8] mm: Add ptep_try_set() for lockless empty-slot installs Tejun Heo
2026-05-21  7:00   ` Andrea Righi

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=6ca116f4-b9e2-4ad3-a232-bc441f88bc82@kernel.org \
    --to=david@kernel$(echo .)org \
    --cc=akpm@linux-foundation$(echo .)org \
    --cc=andrii@kernel$(echo .)org \
    --cc=arighi@nvidia$(echo .)com \
    --cc=ast@kernel$(echo .)org \
    --cc=bp@alien8$(echo .)de \
    --cc=bpf@vger$(echo .)kernel.org \
    --cc=catalin.marinas@arm$(echo .)com \
    --cc=changwoo@igalia$(echo .)com \
    --cc=daniel@iogearbox$(echo .)net \
    --cc=dave.hansen@linux$(echo .)intel.com \
    --cc=emil@etsalapatis$(echo .)com \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    --cc=linux-kernel@vger$(echo .)kernel.org \
    --cc=linux-mm@kvack$(echo .)org \
    --cc=martin.lau@linux$(echo .)dev \
    --cc=memxor@gmail$(echo .)com \
    --cc=mingo@redhat$(echo .)com \
    --cc=peterz@infradead$(echo .)org \
    --cc=rppt@kernel$(echo .)org \
    --cc=sched-ext@lists$(echo .)linux.dev \
    --cc=tglx@kernel$(echo .)org \
    --cc=tj@kernel$(echo .)org \
    --cc=void@manifault$(echo .)com \
    --cc=will@kernel$(echo .)org \
    --cc=x86@kernel$(echo .)org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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