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 9755ECE8D4C for ; Thu, 19 Sep 2024 06:57:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CBAB46B0082; Thu, 19 Sep 2024 02:57:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C435E6B0083; Thu, 19 Sep 2024 02:57:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A96886B0085; Thu, 19 Sep 2024 02:57:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 897906B0082 for ; Thu, 19 Sep 2024 02:57:01 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 21FA4AAEEC for ; Thu, 19 Sep 2024 06:57:01 +0000 (UTC) X-FDA: 82580580642.07.8E5062F Received: from mail-vs1-f54.google.com (mail-vs1-f54.google.com [209.85.217.54]) by imf29.hostedemail.com (Postfix) with ESMTP id F297D120007 for ; Thu, 19 Sep 2024 06:56:58 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=AP5tYKn7; spf=pass (imf29.hostedemail.com: domain of boqun.feng@gmail.com designates 209.85.217.54 as permitted sender) smtp.mailfrom=boqun.feng@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1726728906; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=LjyqInDSlrYo8BNK/yoqNN/E2zQvq1ceUZAN9Ivf1Ww=; b=5awW+QnkCblEXWlQfwn7/cO/mx6kPLt0d5AVsjX2QwSRPoyUSuYCFE0lkGw2DAO5mRMaiW pu68f0BNDOD+uttt9o9JZTnVaV44518a4PA3OV42isRb+VlDKT42/TvlDYe0E/JACYj5H5 5XAyzcIyjGiC99bpu0WpyS3OQXkH6e8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1726728906; a=rsa-sha256; cv=none; b=GVsy71FoRsn/019D4DiMv/V0Bn48I/gXg6JY2JJChTHuXC2byDWNyli4YrQspf8mMLEg/f q0hGVoa4Gv1o+1Dk2MM0qvoWyqkrAmxiQUJAa1JiP/VEaRtm8C0eyw/H6e3z0VfxHK+fMJ FKd8a0G/YAjFDG1S9Z8RXTWzjUugGUY= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=AP5tYKn7; spf=pass (imf29.hostedemail.com: domain of boqun.feng@gmail.com designates 209.85.217.54 as permitted sender) smtp.mailfrom=boqun.feng@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-vs1-f54.google.com with SMTP id ada2fe7eead31-49bbf14d309so150563137.1 for ; Wed, 18 Sep 2024 23:56:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1726729018; x=1727333818; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:feedback-id:from:to:cc:subject:date :message-id:reply-to; bh=LjyqInDSlrYo8BNK/yoqNN/E2zQvq1ceUZAN9Ivf1Ww=; b=AP5tYKn7kYdOj0kDc/Zl4f/WT+JzcO30RcLHfa41t5ul2O2i7XLY2QUR3a0Kggr/xV tPf+J35k1FIHebDErN18CrTBjy3GmcuCS5dMdkwxT4IlLDYSVnk83UX4miVKD2eHHIdj CqnC74Me33LdC8ZO6VVH0Ja946MKDzsralJScPgFDhugRyTgawSAn13fWbiKHrKo1VE+ eh+V7O5BQp7+6aMCz0EhsB2G7YjU7YyCvurB0TtEEhJhaTTGFwEYigmBUm1HLtivAzSv hFTNApg3kNHaSbTtO3cFZ1CXGbs0QQBBigLzTb11wiAqqDb2swDeqaFj3RWZR/6zFmqe XOmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726729018; x=1727333818; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:feedback-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LjyqInDSlrYo8BNK/yoqNN/E2zQvq1ceUZAN9Ivf1Ww=; b=A1lcpY0C+pbuf4iZHlhbC2zOTECUQZrZ7M/mWQs8H/A6b7uIr/yC8uObtL0YMYNTbs oJ6WNmiuw6ydQz7tDA/8wvTF3AS2lq1iJyx4Evn7SIodmxAlaUBDkTzZmH1+woI7lC4J unb+kdDynC9OSc0AlPnBwcPAnXoK3lpTw/V85MJCxF5cY0ojzlDcNM07OGDFzPWWBNPj QJoBGk9iQEJk6zcqqaksEHOQpYlKvcRfDNfmtFRL2e7a+cyBTRkEzkApK/LZ64qYUWj5 NwashG8Bpi0xxQ+uxyU6s64eZ0nx/rqmRqLvNlHhXqcU2Cd9Y9/bw0o9H2aaL3NiSj7T dU0A== X-Forwarded-Encrypted: i=1; AJvYcCWO0AMvxzZAiwLG7D0EpkjV292iumG+JcAD8cZ+aJGt6GdRSUnVaGoY8gHwxSYPbXI3hwn88FrvdA==@kvack.org X-Gm-Message-State: AOJu0YzkXMhICwwpguS4JjGPIUEVI2Cw9+AOLwAHyJ/dlqjXrH4Ha+gZ aXd5GY/BYT4uvV7hBX+GeJRt5uYrdeXidUssIpzfCjPwC27d5+u4 X-Google-Smtp-Source: AGHT+IGC2ng+ioGsscrlsntuIBMM5WTvaUWY7204GDLi7nIUdEs4TTLE54L89LjhuWEcoax5U440Bg== X-Received: by 2002:a05:6102:3a0e:b0:49b:f52d:4922 with SMTP id ada2fe7eead31-49d4f6f4a03mr14575335137.27.1726729017873; Wed, 18 Sep 2024 23:56:57 -0700 (PDT) Received: from fauth2-smtp.messagingengine.com (fauth2-smtp.messagingengine.com. [103.168.172.201]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6c75e494ac0sm4288096d6.66.2024.09.18.23.56.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Sep 2024 23:56:57 -0700 (PDT) Received: from phl-compute-05.internal (phl-compute-05.phl.internal [10.202.2.45]) by mailfauth.phl.internal (Postfix) with ESMTP id A0B96120006C; Thu, 19 Sep 2024 02:56:56 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-05.internal (MEProxy); Thu, 19 Sep 2024 02:56:56 -0400 X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudeltddgudduiecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg hnthhsucdlqddutddtmdenucfjughrpeffhffvvefukfhfgggtuggjsehttdertddttddv necuhfhrohhmpeeuohhquhhnucfhvghnghcuoegsohhquhhnrdhfvghnghesghhmrghilh drtghomheqnecuggftrfgrthhtvghrnhephedugfduffffteeutddvheeuveelvdfhleel ieevtdeguefhgeeuveeiudffiedvnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrg hmpehmrghilhhfrhhomhepsghoqhhunhdomhgvshhmthhprghuthhhphgvrhhsohhnrghl ihhthidqieelvdeghedtieegqddujeejkeehheehvddqsghoqhhunhdrfhgvnhhgpeepgh hmrghilhdrtghomhesfhhigihmvgdrnhgrmhgvpdhnsggprhgtphhtthhopedvjedpmhho uggvpehsmhhtphhouhhtpdhrtghpthhtohepmhhmphhgohhurhhiuggvsehgmhgrihhlrd gtohhmpdhrtghpthhtoheplhhinhhugidqkhgvrhhnvghlsehvghgvrhdrkhgvrhhnvghl rdhorhhgpdhrtghpthhtoheprhgtuhesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtph htthhopehlihhnuhigqdhmmheskhhvrggtkhdrohhrghdprhgtphhtthhopehlkhhmmhes lhhishhtshdrlhhinhhugidruggvvhdprhgtphhtthhopehprghulhhmtghksehkvghrnh gvlhdrohhrghdprhgtphhtthhopehfrhgvuggvrhhitgeskhgvrhhnvghlrdhorhhgpdhr tghpthhtohepnhgvvghrrghjrdhuphgrughhhigrhieskhgvrhhnvghlrdhorhhgpdhrtg hpthhtohepjhhovghlsehjohgvlhhfvghrnhgrnhguvghsrdhorhhg X-ME-Proxy: Feedback-ID: iad51458e:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 19 Sep 2024 02:56:55 -0400 (EDT) Date: Wed, 18 Sep 2024 23:56:31 -0700 From: Boqun Feng To: 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 Subject: Re: [RFC PATCH 1/4] hazptr: Add initial implementation of hazard pointers Message-ID: References: <20240917143402.930114-1-boqun.feng@gmail.com> <20240917143402.930114-2-boqun.feng@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: F297D120007 X-Stat-Signature: 58zpfy8317bkawoonj41udnm86o339ka X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1726729018-684998 X-HE-Meta: U2FsdGVkX1+5IF8bG06CuaMLvgl0LgFNWsi8Jb7iTei9glXyRiB3TDi2CLtwZUF4tvL4KoN+u8NYOImHp1Xl2OLJphugryNsoMYXJvts5cx9oZ3qCoFgnK0sa9GcbqKegYmOX9ace7bjNmDVZMPVGw4xAIIVx8JNzKGsI3cNByJYfqfv2aNd68eLYGmjs9qw1HzIFvAbIo6m6FJ9kjdC/r7EqJombs0h6+bLkiVDkSRB9jNgn40ZNx/QfvNvEkKvyVPkjmPPry+VxEk6p8a23XZCTf1QLSG6YTe346S7hbVWiNzZbibRknL2a/o7nUXRpoAAlT2C7csJuEKtz5/MDfIJts2xLUQf398a3yeCOEfSh4ZvkviMsq3Ml0cZVZF2kaKVTguo3wUaYsv3y3UwQE2lnUWeb75LwJWSnSOgUk3gxPWefeoatUkAV9btSgcECt4iL9PoiU9tnmTHy02GCnOXjrBcD7rp9UVkrcfN97mupj9sz7Ef88+fHvTNTO9G75WqNjg6Fx1gFhyQ3b6UltV18kf1kPNqKr3WslC4v3wZeImr+bNUad+XeeFa9pFgcEao3G56asxtG7ySB93cjL0L3WP8tyu+GLzfK2ciwhJdcfn6k+w13x3WJGmYKEqNF4nYAuyBUrFq9Pf0zc3NeeIPgtIRLi8AsxG36Fg9WHlMcBQHFg3jBFlTmpcV0lfzNju2GA31O0HHsWB/LSGCGiIcqnkYI8fftWUin2UUvrAD0X0r1WF92PAnHBEihxZdBP9zjUZzYSV/W9yjdWPL+/RVnbRt0xS41r/6N+kf6pUHTVC/jUYc9AJrU9/rZN7bP/3PUpXoePLqIpWtRFaa54iHgcszhA/nBd1bCDXbDJwavRZwUvkvG6D4pQpeCsrA7B/nwWdTV2m1jHpt4YIP6uA6XP6pLRztlSC+zcCeC4efNFrSTFoVPqoeg9e/Nzq7phiiXdp5UNu4IVfoqDq cr/GXlgk itkoY/Vv9i0qHy/ZdQYqNMHqxBOvj2N+TYlVHaM8DLQPNo51qcDnlI8ndENOk5+PllLYwF2u8nI65h4sg4CDvcuOSDuw+DXSTOdHdAA8AvAGOzbneUwxMF88mdMPosC+GHIO/qHlWZbBb8TYsVBGlOnx7FyonnI9SR9e81uaTmiIhTI6KnUQBosawBlTeectpiN/k0Drrym5kb6fSWoZWK9Ss7UYbBrjfyputAiG9ffIzYOOyrewhWTZhLl4+N8G2EeS6yyHFwLoLgh0WBchGpz1FqzKFD9OAKE2SvWUc/+mRYLyuDz4c9l4CZ0vMadoiPWdxr98MdblLa+qOtrbf/3V/aZ5piaBO5D5BZEuUPE/JianPTzlU1epvBcrAi+rBbtsiKpwYMTID/Z1QmJGmXG/FvhyBA5SNGdL4dwLcVrrfWyaILzVaX3Wl6degN1kDgNzMqsBdLEXB7M6A+tk1EeumMoIGnUsoMV5l 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 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; \ > > +}) > > +