From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C4CFCFED3FA for ; Fri, 24 Apr 2026 18:56:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To: Content-Transfer-Encoding:Content-Type:MIME-Version:Message-Id:Date:Subject: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=GUNIXOXau0uPo6m4W/eUzMNxNJvrU8hctsDdhIVgwyo=; b=YR/ed0qGY0XHij rFr00ivlIXlJE0latq/buV0rxoYfGeTXuodlX5Qeurhu4k30uzw++GIuWneDbUGe58D3PgUAH5L2o 0CmtEk95mqw5s4Xj0yZqwsJf+iChqRGKLJImVWoQuKU6w7j3mE+c6yIx/+V5DSh3ccI7f/tb5f9vU Nhxj0ntStmGc+YGnMmfXz8d2YNmrOMIZiUejILnaYu9j0W8JsqszG9l41rzTAr0GDBM6HZzpyw44z pF4+KH/t2xXIq5k6mIMSXludpBk+sRwwkcnG8LHy9oFPwZjuXJi5MfkeuyDvbUXAd8RX1jIayKba/ t1iGWKygVW3cYE2fp0CA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1wGLhV-0000000Dfcg-06QM; Fri, 24 Apr 2026 18:56:29 +0000 Received: from fanzine2.igalia.com ([213.97.179.56]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1wGLhS-0000000DfcJ-3Lnd for linux-arm-kernel@lists.infradead.org; Fri, 24 Apr 2026 18:56:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Cc:To:Content-Transfer-Encoding:Content-Type:MIME-Version: Message-Id:Date:Subject:From:Sender:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=GUNIXOXau0uPo6m4W/eUzMNxNJvrU8hctsDdhIVgwyo=; b=Bsjn0MNczoy/pjIFMq9JhttjSK yNKJLzKYHo8nn20XfbTaiO/fQVWMpivxHZmbKmJsvGgxTbLQHBEuBUQe0wN5SgOt/5Cg7RwRfBspR XsgDpMszFyyRcHxjVV8OOX35W4vQPsAWXTNh4yDJADfavYD2Hd7SlK/GHPSmTbap6ExrFLCKMzp9/ C3NeQH14v4IVQJIpFCVWWYAjJ3NILnz3I5AFHTvDmF0FweNIMQvK1q5jH/e1fmSZ3VO2c4kDNyje/ HCevKiH+CiM+muzRyerjLlzBio2UkKRseGTuV8aIHEVeFl8NAlk+recTh8xxu/L48A40Tx+3wglHI PXM7h9UQ==; Received: from [187.57.76.96] (helo=[192.168.15.100]) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1wGLhJ-001j1m-Vg; Fri, 24 Apr 2026 20:56:17 +0200 From: =?utf-8?q?Andr=C3=A9_Almeida?= Subject: [PATCH RFC v2 0/2] arm64: vdso: Implement __vdso_futex_robust_try_unlock() Date: Fri, 24 Apr 2026 15:55:59 -0300 Message-Id: <20260424-tonyk-robust_arm-v2-0-db4e46f752cf@igalia.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-B4-Tracking: v=1; b=H4sIAAAAAAAC/2WNQQ6CMBREr0L+2pq2VkhcmZh4ALeGmFJ+4atQ0 xYiIdxdQHcu32Rm3ggBPWGAQzKCx54CuXYGuUnA1LqtkFE5M0guU65EyqJrhwfzruhCvGnfsL2 yNstKaRQqmGcvj5be6+UVLucT5N8wdMUdTVzOllpNITo/rOJerOWfI/t39IJxxndapwqltUIfq dJP0lvjGsinafoA8QXV3sgAAAA= X-Change-ID: 20260416-tonyk-robust_arm-54ff77d2c4e4 To: Catalin Marinas , Will Deacon , Thomas Gleixner , Mark Rutland , Mathieu Desnoyers , Sebastian Andrzej Siewior , Carlos O'Donell , Peter Zijlstra , Florian Weimer , Rich Felker , Torvald Riegel , Darren Hart , Ingo Molnar , Davidlohr Bueso , Arnd Bergmann , "Liam R . Howlett" , Uros Bizjak , =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, kernel-dev@igalia.com, LKML , =?utf-8?q?Andr=C3=A9_Almeida?= X-Mailer: b4 0.15.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260424_115626_857342_D03F7EE6 X-CRM114-Status: GOOD ( 13.43 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi folks, This is my take on implementing the new vDSO for unlocking a robust futex in arm64. If you don't know what's that, Thomas wrote a good summary, including the motivation for this work and the x86 implementation: https://lore.kernel.org/lkml/878qb89g7b.ffs@tglx/ There are some loose ends in my patchset so I'm sending as a RFC to ask some questions: - If the process is interrupted between the labels, we need to check the conditional flags and clear the op_pending address from the register. Using objdump I see that op_pending addr is being stored at x2, but I suspect that this isn't stable, so I need to figure out how to make sure that the address will always be stored in the same register. - So far I have implemented only the LL/SC version to make review easier, but I can do the LSE version as well. This patchset works fine with the tests proposed at https://lore.kernel.org/lkml/20260330120118.012924430@kernel.org/ Changes from v1: - s/CONFIG_COMPAT/CONFIG_COMPAT_VDSO (Thomas Weißschuh) - Fixed linker not finding the symbols (Thomas Weißschuh) v1: https://patch.msgid.link/20260417-tonyk-robust_arm-v1-0-03aa64e2ff1a@igalia.com --- André Almeida (2): arm64: vdso: Prepare for robust futex unlock support arm64: vdso: Implement __vdso_futex_robust_try_unlock() arch/arm64/Kconfig | 1 + arch/arm64/include/asm/futex_robust.h | 35 +++++++++++++ arch/arm64/kernel/vdso.c | 30 +++++++++++ arch/arm64/kernel/vdso/Makefile | 9 +++- arch/arm64/kernel/vdso/vdso.lds.S | 11 ++++ .../kernel/vdso/vfutex_robust_list_try_unlock.c | 59 ++++++++++++++++++++++ 6 files changed, 144 insertions(+), 1 deletion(-) --- base-commit: 0e8896e9899b607bb168c1cce340596b8c2e3e2b change-id: 20260416-tonyk-robust_arm-54ff77d2c4e4 Best regards, -- André Almeida