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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id ECB0ACFB441 for ; Mon, 7 Oct 2024 13:24:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 81D656B00D4; Mon, 7 Oct 2024 09:24:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7CDC16B00D5; Mon, 7 Oct 2024 09:24:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 694C66B00D6; Mon, 7 Oct 2024 09:24:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 4C4F66B00D4 for ; Mon, 7 Oct 2024 09:24:54 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id E0CDEA04E1 for ; Mon, 7 Oct 2024 13:24:53 +0000 (UTC) X-FDA: 82646876466.10.94C9898 Received: from smtpout.efficios.com (smtpout.efficios.com [167.114.26.122]) by imf30.hostedemail.com (Postfix) with ESMTP id 4400280018 for ; Mon, 7 Oct 2024 13:24:52 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=efficios.com header.s=smtpout1 header.b=E4Y4UnxL; spf=pass (imf30.hostedemail.com: domain of mathieu.desnoyers@efficios.com designates 167.114.26.122 as permitted sender) smtp.mailfrom=mathieu.desnoyers@efficios.com; dmarc=pass (policy=none) header.from=efficios.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728307424; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=eg3qKulkHLyEP9F85OE0PXP5m/kNjr7mTjig4ebWHUw=; b=qDj8jNf6WgYnY02pl4KcFVAGh35Lz8FnbX2V00BlgfFajWNI/hvq3090QktuGVVYtv0Dzc SkV35gSeBtss7ZY5nI3EVRfD5d00rmt5SudyFQi+zP/bP0xH7yaKqElrkREY/UmNbbqVGC ppTb7jVPa/WbvVuID1j3MD+Jx6kh/tg= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=efficios.com header.s=smtpout1 header.b=E4Y4UnxL; spf=pass (imf30.hostedemail.com: domain of mathieu.desnoyers@efficios.com designates 167.114.26.122 as permitted sender) smtp.mailfrom=mathieu.desnoyers@efficios.com; dmarc=pass (policy=none) header.from=efficios.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728307424; a=rsa-sha256; cv=none; b=eIoDej4ZT4iXP3SHHFCMWwzNg00LDqdaXLnVL0dCuLdKqxVVHkXpmE+X67DypFka0BzDRD ntvT/bFy9rxOTfSFDn5V5z2FVIBy29J/8FO930ObhKV98QDoO1SBF10lsiE0R6ph8CJcI3 P3fODVylYh1ifFvzukJMtcyr6GfDUOs= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=efficios.com; s=smtpout1; t=1728307491; bh=89Gasxm3AKnvBRytdU61zHDIonC6RjkNEXr4NpQ4woI=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=E4Y4UnxLXftMgVjVchGlQ4dyZB24l3kfZeQVkEBpb/fNniUr2TSRYKkj6XXT8XH7A VMSAsAYcV5RxldzGzjwF1ck/6pVo16iS7Wnu0DuHID6gnYU2RI3CxCjWuTXQY5s9dr F6P6UbxL7fIF+1KJp9rXFcAYktrYRDQbT1wbJdGDpjnFnGKPg1XUEEO6BiwRiNCVk6 gvEqE1hZOJ+VByvzGHnPTncAUnw2Cf3IGcLy5lRXQcdgpJOTBtiFbJEHaXLMgeal0F RHoay27oMFkmzhTo748OUwCsXAhoRjw7ACGQPPAgLvN3clX6AmLedoB4CdjA+ooVeN qZGkbPyn4onbQ== Received: from [172.16.0.134] (96-127-217-162.qc.cable.ebox.net [96.127.217.162]) by smtpout.efficios.com (Postfix) with ESMTPSA id 4XMfyV0wW3z2kv; Mon, 7 Oct 2024 09:24:50 -0400 (EDT) Message-ID: <812121c6-734d-4f68-b808-d3fa7c380604@efficios.com> Date: Mon, 7 Oct 2024 09:22:52 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH v2 3/4] hp: Implement Hazard Pointers To: Peter Zijlstra Cc: Boqun Feng , linux-kernel@vger.kernel.org, Linus Torvalds , Andrew Morton , Nicholas Piggin , Michael Ellerman , Greg Kroah-Hartman , Sebastian Andrzej Siewior , "Paul E. McKenney" , Will Deacon , Alan Stern , John Stultz , Neeraj Upadhyay , Frederic Weisbecker , Joel Fernandes , Josh Triplett , Uladzislau Rezki , Steven Rostedt , Lai Jiangshan , Zqiang , Ingo Molnar , Waiman Long , Mark Rutland , Thomas Gleixner , Vlastimil Babka , maged.michael@gmail.com, Mateusz Guzik , Jonas Oberhauser , rcu@vger.kernel.org, linux-mm@kvack.org, lkmm@lists.linux.dev References: <20241004182734.1761555-1-mathieu.desnoyers@efficios.com> <20241004182734.1761555-4-mathieu.desnoyers@efficios.com> <20241005160444.GA18071@noisy.programming.kicks-ass.net> <20241005160723.GI33184@noisy.programming.kicks-ass.net> <6e7812f7-c94a-46ba-ba4d-cf4b7b1f60c9@efficios.com> <20241007104244.GC4879@noisy.programming.kicks-ass.net> From: Mathieu Desnoyers Content-Language: en-US In-Reply-To: <20241007104244.GC4879@noisy.programming.kicks-ass.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 4400280018 X-Stat-Signature: ftbaaq5cxgb9brw13z9h5swj3hbnkaac X-HE-Tag: 1728307492-69410 X-HE-Meta: U2FsdGVkX19MhcnY5QUI8an0SxzrnDSZ0GlvPYoCAKDGurKUH4YQ49/F05RHCaUVBJL0vIViYxViEcVw3A5Ad4Pl0UwIl6FMHoTOyLiXusobTbOvUCbX5W3VoZV4fJBY/TGdQSPkGToTorbMUx5AQaNezLGdvImr02l9ZOoFxRccbD+qeXtSD465LncDwvYMM5LcXQct1CK5wLA/Utbqek+nrG9isn0fpDDaoW7RFgWeF+O3zfrLR9tRkbIyl3nzFJBbW2IGr3M+kELxfANM8UZd49epEllIVfKWKjhRX6bgxanNjcA7xcWj6s+VdQGLdFdm7551y6xp4IuCXBTad4sXOLuFR7X5YvMAGH25+z2wseO/gl4g0roqAreP43pWGOwuoTf90RThiP2EsfPvHwJuxbvRzaNc+IaTN3DVFKRBGf6Bc3hiQ6ZTLhA1FcldbgBEwex9XYBINKQ7DoKK+jarmnblYBtMxfEOySwiT6SKDM+GzFI1RVK0Y+FnEn+NXhj202VBZZjTSU4upvvFbTjdrnyOk/XBMpgMcLCOlxmy0cGBVGFHL0q6gZF9cyEfNhuipNV43BBwrUP661tXw/cQLFWzBjjN9ObQ/kc0o6L8XHqhKwo6FoMQUOVI1+hjdy4QSDfc5eLXiClWLvOZMRxU7nxZjbMm/YqT+NJhClfz0DZ7kkTDFC3FMO9IQJP4f7LD/apnZCnfgYDZ23gBlon4luR1SyYZ3MGMlHeLBmxyPhpAfWpLu9l/6OMhyeRYZIuXwHBPNlHRsXQv6ZkyjbnBbqHuJPEitHLrObgAFdKhhLPKWfazfCnjhsMDDP9Lm6KXb2BUYMzPJLvfzPKD3C579Y4+X6wCzPyJm9Z2aQv1fq0v79uKk9DOTisHa4Y5DJ2XP4CGqirMCOrxubbaEgQpwC0yEYw8r7tCB1b/Wl1TFwhhqVU7mBUgAe0iRIBLCq7yLWQFr+lJ7PeaV6I OYXx9yPH yFD38bXFNOZsMOrO8eZ55dsvhiGSwpjcDUmZoUK44CyMbr5M7f9fHe44usv0TzsKTMqDNBhpDm2zlRS9dE+rlOJOc5bOFQuUSS7S0vFpc2QqUNXCX20oIH96G1+80gJhMOFJkHiClcSl6X6abqTiIVvB2dn5uMym4+7rx/NfPqPDkQzFrMPtLhDNGWDSIRu4VYyFWwrrPPwvi18UPqOaj4S2yGRFu96OQYIo9zRNyH66kJiZNuQ3b+P4SjQDUPNasYXKoRjnul/opNn/Tj+GnCWl/PMBr4KlNxd0/k1JDfoEmGB1x5ww2AUkGsa9oyfNKaEixIFDqEL00dgItuNP4sJJzrZJdErG3h1mWyj2vzOcO+b4cMc1yGcmJjxiE01ZRwf8dsPQnTOdr3U63g10aDYzB6CPRwBhikA2D+u59OepyKpM= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 2024-10-07 12:42, Peter Zijlstra wrote: > On Sat, Oct 05, 2024 at 02:56:26PM -0400, Mathieu Desnoyers wrote: >> On 2024-10-05 18:07, Peter Zijlstra wrote: >>> On Sat, Oct 05, 2024 at 06:04:44PM +0200, Peter Zijlstra wrote: >>>> On Fri, Oct 04, 2024 at 02:27:33PM -0400, Mathieu Desnoyers wrote: >>> >>>>> +void hp_scan(struct hp_slot __percpu *percpu_slots, void *addr, >>>>> + void (*retire_cb)(int cpu, struct hp_slot *slot, void *addr)) >>>>> +{ >>>>> + int cpu; >>>>> + >>>>> + /* >>>>> + * Store A precedes hp_scan(): it unpublishes addr (sets it to >>>>> + * NULL or to a different value), and thus hides it from hazard >>>>> + * pointer readers. >>>>> + */ >>> >>> This should probably assert we're in a preemptible context. Otherwise >>> people will start using this in non-preemptible context and then we get >>> to unfuck things later. >> >> Something like this ? >> >> + /* Should only be called from preemptible context. */ >> + WARN_ON_ONCE(in_atomic()); > > lockdep_assert_preemption_enabled(); > > that also checks local IRQ state IIRC. I'll use this instead, thanks! Mathieu -- Mathieu Desnoyers EfficiOS Inc. https://www.efficios.com