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 41356CF3962 for ; Thu, 19 Sep 2024 18:08:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 851B66B0085; Thu, 19 Sep 2024 14:08:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7DA426B0089; Thu, 19 Sep 2024 14:08:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 678FF6B008A; Thu, 19 Sep 2024 14:08:08 -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 488056B0085 for ; Thu, 19 Sep 2024 14:08:08 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id B2CFF1C5530 for ; Thu, 19 Sep 2024 18:08:07 +0000 (UTC) X-FDA: 82582271814.21.F2CF841 Received: from frasgout13.his.huawei.com (frasgout13.his.huawei.com [14.137.139.46]) by imf25.hostedemail.com (Postfix) with ESMTP id 3783AA001C for ; Thu, 19 Sep 2024 18:08:02 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=none; spf=pass (imf25.hostedemail.com: domain of jonas.oberhauser@huaweicloud.com designates 14.137.139.46 as permitted sender) smtp.mailfrom=jonas.oberhauser@huaweicloud.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1726769253; 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; bh=YE5C70y/faryYqw52ART+368Qbj2zDdDEUBJxOg7FAM=; b=fxxFZUbtNtovdLGb9C02IwCImajfFKPs8df8gp8HAmHbY4970gfLlcpfjNXEkGNW7olrpR NvtL7cxblo7hOG3Xvm56dRvj7H4UuAmiXDYsvF9zyF4l+BEgmWQLtgIfVvAHHMrEQc2yuX vcfD4C3BehnNxG1jfyom9isGMQYiuh4= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=none; spf=pass (imf25.hostedemail.com: domain of jonas.oberhauser@huaweicloud.com designates 14.137.139.46 as permitted sender) smtp.mailfrom=jonas.oberhauser@huaweicloud.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1726769253; a=rsa-sha256; cv=none; b=I9AT8Y+dxU0c/ChPFPr1UG36FmYnhTN7TOb4OOwufFKPp6Ao35jbqeyfXL/CjRMB3cv1cA kJIfCOs+6yD+0MUgvsYLxN5edMF8W6aAHfGbI6khSEJedol4nszi8WHjCWcSYpJ3SEd8lt EwYlUZgIcp+KfHD3d0I2jAOVOxufRbY= Received: from mail.maildlp.com (unknown [172.18.186.51]) by frasgout13.his.huawei.com (SkyGuard) with ESMTP id 4X8jfs2gJRz9v7NF for ; Fri, 20 Sep 2024 01:48:21 +0800 (CST) Received: from mail02.huawei.com (unknown [7.182.16.27]) by mail.maildlp.com (Postfix) with ESMTP id 14C3D140DFA for ; Fri, 20 Sep 2024 02:07:51 +0800 (CST) Received: from [10.81.207.148] (unknown [10.81.207.148]) by APP2 (Coremail) with SMTP id GxC2BwAXespnaOxmyP8_AQ--.55647S2; Thu, 19 Sep 2024 19:07:50 +0100 (CET) Message-ID: <9de1c243-8299-4587-8661-7773cef31a05@huaweicloud.com> Date: Thu, 19 Sep 2024 20:07:32 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH 1/4] hazptr: Add initial implementation of hazard pointers To: Boqun Feng , Alan Huang Cc: LKML , RCU , linux-mm@kvack.org, lkmm@lists.linux.dev, "Paul E. McKenney" , Frederic Weisbecker , Neeraj Upadhyay , Joel Fernandes , Josh Triplett , "Uladzislau Rezki (Sony)" , Steven Rostedt , Mathieu Desnoyers , Lai Jiangshan , Zqiang , Peter Zijlstra , Ingo Molnar , Will Deacon , Waiman Long , Mark Rutland , Thomas Gleixner , Kent Overstreet , Linus Torvalds , Vlastimil Babka , maged.michael@gmail.com, Neeraj upadhyay References: <20240917143402.930114-1-boqun.feng@gmail.com> <20240917143402.930114-2-boqun.feng@gmail.com> From: Jonas Oberhauser In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-CM-TRANSID:GxC2BwAXespnaOxmyP8_AQ--.55647S2 X-Coremail-Antispam: 1UD129KBjvdXoW7Jw47uF15XryrKFWUKw4UJwb_yoWDGrg_C3 Zrua4vkr1UGF4DXr4rtr18Kr12qF4UZw1qqwn8Jr47Z34rAFWrA3Wvyr95uws3Ja10y34a 9r90v34ava47XjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUbxkYFVCjjxCrM7AC8VAFwI0_Wr0E3s1l1xkIjI8I6I8E6xAIw20E Y4v20xvaj40_Wr0E3s1l1IIY67AEw4v_Jr0_Jr4l8cAvFVAK0II2c7xJM28CjxkF64kEwV A0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVWUJVWUCwA2z4x0Y4vE2Ix0cI8IcVCY1x02 67AKxVW8JVWxJwA2z4x0Y4vEx4A2jsIE14v26r4j6F4UM28EF7xvwVC2z280aVCY1x0267 AKxVW8Jr0_Cr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40E x7xfMcIj6xIIjxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x 0Yz7v_Jr0_Gr1lF7xvr2IY64vIr41lFIxGxcIEc7CjxVA2Y2ka0xkIwI1lc7CjxVAaw2AF wI0_GFv_Wryl42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4 xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r4a6rW5 MIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I 0E14v26r4j6F4UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVW8 JVWxJwCI42IY6I8E87Iv6xkF7I0E14v26r4UJVWxJrUvcSsGvfC2KfnxnUUI43ZEXa7IU0 4xRDUUUUU== X-CM-SenderInfo: 5mrqt2oorev25kdx2v3u6k3tpzhluzxrxghudrp/ X-Rspam-User: X-Stat-Signature: fq6q9cjbio45xmrr4jpupnto697kwpy1 X-Rspamd-Queue-Id: 3783AA001C X-Rspamd-Server: rspam11 X-HE-Tag: 1726769282-145253 X-HE-Meta: U2FsdGVkX18FVS2dLow7pX20uOZY87dkC7GXxWdM+3d/QGW9Ntkcho4yZW/cFZqsjEI3X2jvCUCuxHl2p2uvtGtjdrwEN3Djn+4n6/phQITdzgUKdh6CbE3I33V5w/wH6SZM9F5YMxZksT+LdY85RliXi/68/wzXLXYJ4HStApT5kUsniZGQmByOyKFs75X2a/XmNaoilAJ/2nkwGro/lFFkiFsaK/rdkKmPpE4Yzy2u9l65B36l3rwJdGIK2CM49MZNTA1jIXSd0wckWe0Zlk4njrdooHhNVqe2C6kx9qkBeQep2fVyKEVg6KTvSe1d7BrfTzpCQawLMhh4EFrvUKp57VUba3mk2x4AIbeqYld8no4eku1ErwyTcefrBshTFpqIsxGHdHjsvH9Rc5oxeih6KEPymeVS5kE4I8W0sGk9iMJHu9XFkL0Sr1CBE/VejD9VIYxMIi/kaLPWrFm0i50EDZHUwsC6b6e4jcrgRQ3v01U68u8A15cdKIoKRG4zTrSTOlZsBkkwGXeMLlPOqMJRvfSylsF/63zXgU+qpOhOn6aQ3kf8drTz2kPcE+LPzK6b+KeqDEodhg3L1B7oiwKY5w/jVabXHW+lLjnQfcYCCe4c4CXsm4fVBt3BWrj34LwxObpTyu5BXXvkSXRSTK3fwBPGlRo5ho3cgcW9GGWLCkFT01f/n0wSmPNDXZi8Jb3pQ3ljnCkm038j8o42mCGdWGYhqSMqydXm4yG3DgxCMP8JVxxS5EU6SGV0XG7HcNkafks4PNyNpeE9EIIek4tQqfWNC+ZIb6awWBKMcweSTRyvl2e/YN0vgm6CTXDb5dQbN7mkpubEKO0b/D9e+RUevBN5XvylWb+6xYoQzfYf9SiGCjmhesX/jonEjmuDj8AeFait5vdNzwzvuvcirK1/zqvvR0oph1Sq/nIpxzkT/qbLEiY+zJdb6MSwSSj/4D9+p2jQWZ8vp1JAlLl 7xl7Eaj9 UjD+dJ49LakjOnW2s7Wu6ePXsM205FoQcB+lxzowVRty/lpsdEKe/DS1+rbP1SjwwkjZri64xD/wi3QG3BeQ0quYf3giJS5B/Zm9plpWOLHlzphVC4m8gBkp1DTsgAx2N+yCca05GvHAm/ZV/a+1IGcaIUN5jy+FGoON9qzymfcok/2UGwEQAFg17F2YiTTPJt72/ZdHD66BP3ATJVZ+ns5kvKhOJH8RfaqAhyVbi+tZWP1A= 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: Am 9/19/2024 um 8:56 AM schrieb Boqun Feng: > On Wed, Sep 18, 2024 at 11:17:37PM +0800, Alan Huang wrote: > [...] >>> +#define hazptr_tryprotect(hzp, gp, field) (typeof(gp))__hazptr_tryprotect(hzp, (void **)&(gp), offsetof(typeof(*gp), field)) >>> +#define hazptr_protect(hzp, gp, field) ({ \ >>> + typeof(gp) ___p; \ >>> + \ >>> + ___p = hazptr_tryprotect(hzp, gp, field); \ >>> + BUG_ON(!___p); \ >> >> hazptr_tryprotect might return NULL, do you need a loop here? >> > > Thanks for the review. It's me who didn't do a good job here on the > documentation. hazptr_protect() is supposed to use for the case where > readers know the gp won't change. > > Regards, > Boqun > >>> + ___p; \ >>> +}) >>> + Oh, disregard my other e-mail, I hadn't seen this discussion. Do you have any specific use case of this in mind? If you know that the pointer can't change, I would assume you can also just read the pointer normally and assign to the hazard pointer without a fence, no? have fun, jonas