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 72390CDD1CD for ; Fri, 27 Sep 2024 17:53:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C93816B011E; Fri, 27 Sep 2024 13:53:12 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C42C36B011F; Fri, 27 Sep 2024 13:53:12 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B319F6B0120; Fri, 27 Sep 2024 13:53:12 -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 954B56B011E for ; Fri, 27 Sep 2024 13:53:12 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 09E661213A6 for ; Fri, 27 Sep 2024 17:53:12 +0000 (UTC) X-FDA: 82611264624.15.D31C023 Received: from smtpout.efficios.com (smtpout.efficios.com [167.114.26.122]) by imf04.hostedemail.com (Postfix) with ESMTP id 2915C40012 for ; Fri, 27 Sep 2024 17:53:09 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=efficios.com header.s=smtpout1 header.b=lRcJMXoL; dmarc=pass (policy=none) header.from=efficios.com; spf=pass (imf04.hostedemail.com: domain of mathieu.desnoyers@efficios.com designates 167.114.26.122 as permitted sender) smtp.mailfrom=mathieu.desnoyers@efficios.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727459573; a=rsa-sha256; cv=none; b=m4OHiDT5L9+B/LA7kdybUnF1l0sAmBQ3qG3/e5o7zdd/NBAvGT3mV6qK7O0FiviS68Xaz0 Akd48DEKpqWWbih77AdBuSfUEq8cMvofWHGANYelS/Jt5A8YDDwtdjfZzbd5DIMSjBt+oP idRMmzv+3cQa34nv9hFRqL6yA5umUZ4= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=efficios.com header.s=smtpout1 header.b=lRcJMXoL; dmarc=pass (policy=none) header.from=efficios.com; spf=pass (imf04.hostedemail.com: domain of mathieu.desnoyers@efficios.com designates 167.114.26.122 as permitted sender) smtp.mailfrom=mathieu.desnoyers@efficios.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727459573; 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=IXPOVvCr4JCTdihDYNSaMuTKhqnDn/QrUacu33Q5iWs=; b=yR70kPonRyu3hrgXtczYNqmFeKu0GqubDJCRVClxJrJaha90ukN0gxsiVHH2w0KwvJCIop Dg3khzXqJNVdXNJYH0pFoVOP5DjtoUVf0O4bMren9JwGqHE8JrwEveJuyE+WvY7EcxoBmg oHjkFPTBaGbgpKuzd3IrWICZh6R2ipk= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=efficios.com; s=smtpout1; t=1727459589; bh=B95OindKXLVMUgZ0DnE2pN33eeTCKFPMp1bnPOx7T1c=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=lRcJMXoLNLKyGh1mgeZ4yvB5sYPUBJIkzBwSFoqmXozL/aio3E8vgxH5eySSHkwH1 ePW9UBcso2hLuTlELFNcj7j6HUVntd/DLvimpgd0wPcQMujGjWgMAVLVGSuX6QMKxv lb5CG4DYHbKrMF4bMfuIZl4bFNlpas5eUGvQbI8qpEC+CqT1CQU0Nt6yCqBvlGbw6Y J0Wqi1xHk1lstlnjoEKonZhm19XvbnLpAjuvtM1fnS4D+XcbodDHJHzmJ9QMMhmFlF Qpx6qK8y96WD/hOon0SsDwJ/mSPHIYckvXNUf+t5oHEtEq5HagRCrczzCqvLA7wHdl hw4wFDzsDnPjw== Received: from [IPV6:2606:6d00:100:4000:cacb:9855:de1f:ded2] (unknown [IPv6:2606:6d00:100:4000:cacb:9855:de1f:ded2]) by smtpout.efficios.com (Postfix) with ESMTPSA id 4XFdNh5T6Hz1QLR; Fri, 27 Sep 2024 13:53:08 -0400 (EDT) Message-ID: <34ec590c-b109-44a0-8bfe-8aafc6e7ad64@efficios.com> Date: Fri, 27 Sep 2024 13:51:04 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH 1/4] hazptr: Add initial implementation of hazard pointers To: Linus Torvalds Cc: Boqun Feng , Jonas Oberhauser , linux-kernel@vger.kernel.org, rcu@vger.kernel.org, linux-mm@kvack.org, lkmm@lists.linux.dev, "Paul E. McKenney" , Frederic Weisbecker , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , "Uladzislau Rezki (Sony)" , rostedt , Lai Jiangshan , Zqiang , Peter Zijlstra , Ingo Molnar , Will Deacon , Waiman Long , Mark Rutland , Thomas Gleixner , Kent Overstreet , Vlastimil Babka , maged.michael@gmail.com, Neeraj Upadhyay , Greg Kroah-Hartman References: <4167e6f5-4ff9-4aaa-915e-c1e692ac785a@efficios.com> <48992c9f-6c61-4716-977c-66e946adb399@efficios.com> <2b2aea37-06fe-40cb-8458-9408406ebda6@efficios.com> <55633835-242c-4d7f-875b-24b16f17939c@huaweicloud.com> <54487a36-f74c-46c3-aed7-fc86eaaa9ca2@huaweicloud.com> <0b262fe5-2fc5-478d-bf66-f208723238d5@efficios.com> <7e1c8a5e-c110-414c-8fb2-022eacc2bd4a@efficios.com> Content-Language: en-US From: Mathieu Desnoyers In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Stat-Signature: era6f3ad9zhhiroaj9b3ftkwccxxsate X-Rspamd-Queue-Id: 2915C40012 X-Rspamd-Server: rspam02 X-HE-Tag: 1727459589-391279 X-HE-Meta: U2FsdGVkX19PoUsYDHJSovI2iIGBxY7XjeFaYqwnlBuPVYbUUTMtzdUxeuwZPTOQ0lDerKPQWr+/9F+Jub11LacXVWAL8f+7C+7nTmT2YxCy4s7UcXvhpQngzjnlB5G+F5IWmRjsWUayP1U4U69GpIWYIhot9DG7HBzSMBv/DxYXtStrmvrlI9Ts7xFplmIVSUHnxL/pY01sYPGkD2BoDXnyNbVvXOYUsSRv3AeOdNKDXANjDmbPsvMiSP/xjmc41T/XgVcU5FyVsvxjvJhIkOwtMvONuJ3Bi1UxBMwaptywZFscK7Qz3Bk8rvf9zkOv/lHBEHxaGY4bRrRYyaMhQUFBmP+GmVabDpwUsoT4k5eG9ZMmyiwrwFiLEPDPnTtptAirJF69a0XCFlS/0t8v8B42D20FQVtSv1eE/0+NsQpl72bJQwxoNa8QZr/ah9iN0qQr37Ic7yi5d20t9hIITc7MZnXDLdZrzN45gV22P42593KwtVX7xhvhLg09QtlCHOqOH63edQ3AwmMynAhnzfnB5iGzVlvROmBklcq0hYXfOQ+jpz+pcEGCNXWZR4RZP3HkI0UqdxqBAyk2iTLyC4OpB31T9mmD1LU1M8auSZbD4kHNehSGo1VIsPF/PPd9ljudBTBby6wSwNOk4nsjAi5gr4/Nc/XuZufugfhZ5me50JRnoBm1qWhjvbVt6Go3pgit7WbPh3uSu1bIF6E8WDQ0zHgKERf777rvMbE9A13QwGdvc31Eq5vVxibGVGhC1F8SfDm68u+tjrh6oanGcnh6Smvtf95aRy/5YAUJ+D6jMbjRkAqGhFoNo6S1kAuF9vOXPfHzWZoKZUZKMXO7ZovDok0AlWEa9UFHUsnw94By+7lQ5ua18VAeOUoOQtIowTbkHIYRcCRhBv2akCg53w3xH4PkSB1c4mBw394TAvWFC10+P9uVRI2wTSl8TPPTfAz9PhMvNTr0xhW1Mu8 SWk7w8bq 3qTS7E3OYnZXvEx3EuBEnhmaORAC1hYdKkyciypjUNTCHJeKHzInw+46F5I8PlU5vS/3DrPw7pfpIo8nKkTQbE0xSm1ilZPT4NkVUZB8vklwYoSelSsWpbBEHGhTdqhn4Cw97Jt/FaTxNJrtSHm1R4LAAnxwO1t8PsD2LGS8G2riOc95yal8J9IyquiF3yJ+yee2KU3NWaqqWNovLXkTLOdR9P26vgi+kWoBuWfuDTHaARUlv0Vts5qk4unrOcqhfUg/4p7FrNDRYuaVl0vPxevFsgl6RGXeKWYpcQKORqkAZVp02xH9pF7Im55micsuiVqPVqEx0M15IXJAo1qgVHqoCVAKgXJw3wrpGhycOPnx7FJ+qd7MgyybXZjnjfEVdAKHWIQKDD4LFndVhr8+wHI4//F1DwKpHcUkiWJtZddex9zNLH7nKBmdOyPoicFzQHbqujfy5LIl/VTg= 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-09-27 19:23, Linus Torvalds wrote: > On Fri, 27 Sept 2024 at 10:17, Mathieu Desnoyers > wrote: >> >> The barrier() is ineffective at fixing the issue. >> It does not prevent the compiler CSE from losing the >> address dependency: > > Ok. Thanks for actually specifying code. > > That needs to be > > (a) in a comment OK. I'll add the code/asm examples to the comment above ADDRESS_EQ(). > > (b) the value barrier needs to be on *both* values so that the order > of the equality testing doesn't matter. If we use OPTIMIZER_HIDE_VAR() on both parameters, it indeed minimizes the odds that someone get the order wrong, but it disallows using ADDRESS_EQ() with a constant parameter (e.g. ADDRESS_EQ(ptr, &mystruct)), which would be nice to cover. It works fine with using OPTIMIZER_HIDE_VAR() on the first argument, but it opens the door to misuses. Perhaps there is a trick with compiler builtins we could do to only use OPTIMIZER_HIDE_VAR() on non-constant arguments, but I can't get it to work so far. > >> I'm preparing a small series that aims to show how a minimal >> hazard pointer implementation can help improve common scenarios: > > I want actual numbers on real loads. Just so you know. Not "this can > help". But "this actually really _does_ help". Noted, thanks! Mathieu -- Mathieu Desnoyers EfficiOS Inc. https://www.efficios.com