All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peilin Ye <yepeilin@google.com>
To: bpf@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	Alexei Starovoitov <ast@kernel.org>
Cc: bpf@ietf.org, Alexei Starovoitov <ast@kernel.org>,
	Xu Kuohai <xukuohai@huaweicloud.com>,
	Eduard Zingerman <eddyz87@gmail.com>,
	David Vernet <void@manifault.com>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Andrii Nakryiko <andrii@kernel.org>,
	Martin KaFai Lau <martin.lau@linux.dev>,
	Song Liu <song@kernel.org>,
	Yonghong Song <yonghong.song@linux.dev>,
	John Fastabend <john.fastabend@gmail.com>,
	KP Singh <kpsingh@kernel.org>,
	Stanislav Fomichev <sdf@fomichev.me>, Hao Luo <haoluo@google.com>,
	Jiri Olsa <jolsa@kernel.org>, Jonathan Corbet <corbet@lwn.net>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	Puranjay Mohan <puranjay@kernel.org>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>, Quentin Monnet <qmo@kernel.org>,
	Mykola Lysenko <mykolal@fb.com>, Shuah Khan <shuah@kernel.org>,
	Ihor Solodrai <ihor.solodrai@linux.dev>,
	Yingchi Long <longyingchi24s@ict.ac.cn>,
	Josh Don <joshdon@google.com>, Barret Rhoden <brho@google.com>,
	Neel Natu <neelnatu@google.com>,
	Benjamin Segall <bsegall@google.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH bpf-next v4 08/10] bpf, x86: Support load-acquire and store-release instructions
Date: Mon, 3 Mar 2025 05:46:10 +0000	[thread overview]
Message-ID: <Z8VCIrnJ10uBj0yN@google.com> (raw)
In-Reply-To: <ea2754510513dce17a1d8f4fcab07d9d769e7b08.1740978603.git.yepeilin@google.com>

Hi Alexei,

On Mon, Mar 03, 2025 at 05:38:07AM +0000, Peilin Ye wrote:
> Recently we introduced BPF load-acquire (BPF_LOAD_ACQ) and store-release
> (BPF_STORE_REL) instructions.  For x86-64, simply implement them as
> regular BPF_LDX/BPF_STX loads and stores.  The verifier always rejects
> misaligned load-acquires/store-releases (even if BPF_F_ANY_ALIGNMENT is
> set), so emitted MOV* instructions are guaranteed to be atomic.
> 
> Arena accesses are supported.  8- and 16-bit load-acquires are
> zero-extending (i.e., MOVZBQ, MOVZWQ).
> 
> Rename emit_atomic{,_index}() to emit_atomic_rmw{,_index}() to make it
> clear that they only handle read-modify-write atomics, and extend their
> @atomic_op parameter from u8 to u32, since we are starting to use more
> than the lowest 8 bits of the 'imm' field.

For x86-64, v4 PATCH 08/10 implements ld_acq/st_rel as regular LDX/STX
(aligned) loads/stores.  Please take another look.  Thanks!

Peilin Ye


  reply	other threads:[~2025-03-03  5:46 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-03  5:36 [PATCH bpf-next v4 00/10] Introduce load-acquire and store-release BPF instructions Peilin Ye
2025-03-03  5:37 ` [PATCH bpf-next v4 01/10] bpf/verifier: Factor out atomic_ptr_type_ok() Peilin Ye
2025-03-03  5:37 ` [PATCH bpf-next v4 02/10] bpf/verifier: Factor out check_atomic_rmw() Peilin Ye
2025-03-03  5:37 ` [PATCH bpf-next v4 03/10] bpf/verifier: Factor out check_load_mem() and check_store_reg() Peilin Ye
2025-03-03 18:52   ` Alexei Starovoitov
2025-03-03 22:20     ` Peilin Ye
2025-03-03  5:37 ` [PATCH bpf-next v4 04/10] bpf: Introduce load-acquire and store-release instructions Peilin Ye
2025-03-03  8:55   ` kernel test robot
2025-03-03 18:43     ` Alexei Starovoitov
2025-03-03 22:16       ` Peilin Ye
2025-03-03  5:37 ` [PATCH bpf-next v4 05/10] arm64: insn: Add BIT(23) to {load,store}_ex's mask Peilin Ye
2025-03-03  5:37 ` [PATCH bpf-next v4 06/10] arm64: insn: Add load-acquire and store-release instructions Peilin Ye
2025-03-03  5:37 ` [PATCH bpf-next v4 07/10] bpf, arm64: Support " Peilin Ye
2025-03-03  5:38 ` [PATCH bpf-next v4 08/10] bpf, x86: " Peilin Ye
2025-03-03  5:46   ` Peilin Ye [this message]
2025-03-03  5:38 ` [PATCH bpf-next v4 09/10] selftests/bpf: Add selftests for " Peilin Ye
2025-03-03  5:38 ` [PATCH bpf-next v4 10/10] bpf, docs: Update instruction-set.rst " Peilin Ye
2025-03-03 19:14   ` Alexei Starovoitov
2025-03-03 21:31     ` Peilin Ye
2025-03-03 19:00 ` [PATCH bpf-next v4 00/10] Introduce load-acquire and store-release BPF instructions patchwork-bot+netdevbpf

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=Z8VCIrnJ10uBj0yN@google.com \
    --to=yepeilin@google.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@ietf.org \
    --cc=bpf@vger.kernel.org \
    --cc=brho@google.com \
    --cc=bsegall@google.com \
    --cc=catalin.marinas@arm.com \
    --cc=corbet@lwn.net \
    --cc=daniel@iogearbox.net \
    --cc=eddyz87@gmail.com \
    --cc=gor@linux.ibm.com \
    --cc=haoluo@google.com \
    --cc=hca@linux.ibm.com \
    --cc=ihor.solodrai@linux.dev \
    --cc=iii@linux.ibm.com \
    --cc=john.fastabend@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=joshdon@google.com \
    --cc=kpsingh@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=longyingchi24s@ict.ac.cn \
    --cc=martin.lau@linux.dev \
    --cc=mykolal@fb.com \
    --cc=neelnatu@google.com \
    --cc=paulmck@kernel.org \
    --cc=puranjay@kernel.org \
    --cc=qmo@kernel.org \
    --cc=sdf@fomichev.me \
    --cc=shuah@kernel.org \
    --cc=song@kernel.org \
    --cc=void@manifault.com \
    --cc=will@kernel.org \
    --cc=xukuohai@huaweicloud.com \
    --cc=yonghong.song@linux.dev \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.