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 04E3EC369B1 for ; Wed, 16 Apr 2025 07:58:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 438C6280006; Wed, 16 Apr 2025 03:58:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3E7A1280001; Wed, 16 Apr 2025 03:58:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2AD2F280006; Wed, 16 Apr 2025 03:58:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 0ED80280001 for ; Wed, 16 Apr 2025 03:58:31 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id D2F5BACA4F for ; Wed, 16 Apr 2025 07:58:30 +0000 (UTC) X-FDA: 83339154780.02.87C0097 Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) by imf23.hostedemail.com (Postfix) with ESMTP id D3829140004 for ; Wed, 16 Apr 2025 07:58:28 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Zd93k+dl; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf23.hostedemail.com: domain of urezki@gmail.com designates 209.85.167.52 as permitted sender) smtp.mailfrom=urezki@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744790309; 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=ciwF18FIoSl6flinaBgsXEg/q9ARKYCF47qL/2Ga2hg=; b=tLfvHebC2WzkD6aIfB4fiVMxI49TJGIxj/K+hAy0eJB+8YUmydub/DOtuZvGUact7pKd5D 7CJf8z06GP/iywWirKIugt5L5bsoBqXYx9u0yBfqxQdSOXsObpkis1YQRwHJWeiJJyjEZp LYdurNyaV/X6F+3FhDjvGtQi172S70o= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744790309; a=rsa-sha256; cv=none; b=a8TbElC7+zWX8BVBNrm9+hd1CgpgEfdZs0bLCvyrd1P3eVZsAn8N9RyXqYdOsty9U7xhkg 5TL2YGBNH9b5M4Bey4DYM6fPDPSID2bmusqfqAsib2YKDZ6Kdt1hUcwOQOLn4cKAEz+UGX 1czwa+4yqg5hSfl1AJ18fOUQ5toktF8= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Zd93k+dl; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf23.hostedemail.com: domain of urezki@gmail.com designates 209.85.167.52 as permitted sender) smtp.mailfrom=urezki@gmail.com Received: by mail-lf1-f52.google.com with SMTP id 2adb3069b0e04-5493b5bc6e8so7557925e87.2 for ; Wed, 16 Apr 2025 00:58:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744790307; x=1745395107; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=ciwF18FIoSl6flinaBgsXEg/q9ARKYCF47qL/2Ga2hg=; b=Zd93k+dlev5y14jSXMouG0GDParal1efOYE2tIfSlSQ/gQKQP0hIsjd0XJY6i7LjXi Mn3HT3fTp/SjISCMQEaz0hKf/1RY0itoifryab3GjSwU/auWS6592z3urPaqEi9V6dEt BxqP4fW86xomkQc0iY2ZMz0O0bHZEoz6Etgkz6r22aHQknCTHnPVUEUzqCWJUem5W83K cs7mbz3FJqGVUwz1s4psllFNsZl9x5PUfTSrZ36ZUk8CwKMGpoGi2ubGgC6XL4edaSCl x2VAzBHdfku3yKfj35uHvP5s7K0HuvjbI99aLyQ+yQ3KQoZDEohpylZI34BWqVL61gms OyKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744790307; x=1745395107; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ciwF18FIoSl6flinaBgsXEg/q9ARKYCF47qL/2Ga2hg=; b=IK+m/EK2IpD7OTVAEyR2gX0z4Sdj6Lev0K4OAB/sX2TUSA9KHln52omi76OO2XmymV MW6OGACxz6Y4V51uS3FYPPWr8Q4Gkzcq3lmxG0SzzEYB8VR1LZUgvIKMM0HD/calzUgm o0PuzG0WKSLQiemrXe6WYGbmBGetZPlYTvZy0tDylGU8muatjh4wGcclQRijbj8pVdiA GxKW92x0anRU/PuDlAryu9s9Lqx04Qj6mMu7Bn3n3CKo+BimPtVUKBvPPrnXxR3hIZww PXVQ4ZrC66YNz6Yv87EQg9rGjMKO9Zni2zVRw8Um8mDn26aQWLe//J9sfG1yU24M8RFI HT6A== X-Forwarded-Encrypted: i=1; AJvYcCWswJQ8S95ePoTg54wrgmYXgwYOz3GHb5x0dv4HG66ypVS+JG9ssqkTG3rkeFBTnOxohBNcHGi0ow==@kvack.org X-Gm-Message-State: AOJu0YyXy4JJAeP1NtizHW8kbFODsOoLafShYjNLQXM9AQPPJQ8OSY2G A6h4xC9AlV9J8H3jw7NThYuwoz3DqC+0AIHnKYKhhx2ZylmVyia1 X-Gm-Gg: ASbGncuOoN3xT4oW8E4TujWhZujsDmckApBnM9K3B6++vCvQ1MHclDs5OCpdW8c88Jm X9YQB+9wzu068jquT7+8P6Nx5c1egIwMuBXTVQ5crBgYaCRPvvw9Jid+/i1vt/xn5QdTBZKxaT2 mtIasJMAt6JWZnL1PolW2JhYU+ZGPEZ5u+upGx2iDXsWvLB//pNt8nbsUvihqx/cbLtZYQxFf8g BLzXDYEbxeZpelDg/r8eOWdGax9soUuBU1iY27iLxCP5LSEiU09mMRqf1EWzYG2vDEWCWUBJale 1heeoHTZbIKbeNSJbVXaSxHYAcnNNxEwfPJokOZnb1/ppCv2aBZl1XqcDE9T7FFxN5sUV44q7YF Rxbk= X-Google-Smtp-Source: AGHT+IFr59goIrMe9Y1DI6yEEQ+aVFoEoGORKgWsmeLv/jmbesbGGvwyvpLKpHygYjSjfS1o5n5EFA== X-Received: by 2002:a05:6512:39d0:b0:545:d27:e367 with SMTP id 2adb3069b0e04-54d64ae6b7cmr259036e87.42.1744790306651; Wed, 16 Apr 2025 00:58:26 -0700 (PDT) Received: from pc636 (host-90-233-217-52.mobileonline.telia.com. [90.233.217.52]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54d3d522187sm1581616e87.259.2025.04.16.00.58.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Apr 2025 00:58:26 -0700 (PDT) From: Uladzislau Rezki X-Google-Original-From: Uladzislau Rezki Date: Wed, 16 Apr 2025 09:58:23 +0200 To: Mateusz Guzik Cc: "Uladzislau Rezki (Sony)" , Andrew Morton , linux-mm@kvack.org, LKML , Baoquan He , Christoph Hellwig , Oleksiy Avramchenko Subject: Re: [PATCH] vmalloc: Use atomic_long_add_return_relaxed() Message-ID: References: <20250415112646.113091-1-urezki@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: D3829140004 X-Rspam-User: X-Stat-Signature: bhnwr1ubbfumc63z6ytmixpwhocty4xw X-HE-Tag: 1744790308-738987 X-HE-Meta: U2FsdGVkX18HBdJLD023HXBrX3ewCI/w+2PFDXEdZLfehDQ0awSbUDvWszpyhkWX/OF3C+vk+NdwLyqHFj1BQARskEoAHVu/ewlBWxfJA7VhWzx+vfP2GqdwHpNwrSkuEkZUfFlhBc+vjqCwXxdQT94Uyn10UwE8zPoNdVk54h6pnDVZWvp7+pc2IR4CXD6Fz++xuf6pM6W1RVpwOhqrJ1nQL7kBx3FVcYLsJAiv3veex5uYEAVBHlz901P5DDgOWI8YvkUBAVNjo+mjeIV/RE5djM/6Emfd3RlRk5bppoFfXKtE+eWRO+mFPVr1ZlSHpv7xsOoBWg9NM3giMvSBvMh4Sr6ryqywnEaSgzg6zhm8GPQOTTBuVWAPo8YsLGBSgA/Lfbl96sNuSAkdRvhzqXYygZiBW6CFRGFmNGSLHxyu6ARGRTN/CmF76KmHlbRLt3/KQ3AsB8XcpLcb24GqtDZz2MviEDDe5xb2M91oJKkujZYIymwnjsNQYEtdLfQLcOrUEi4RuZJcYM9gGwZTuIyoJM3OFPODXdmtio1X6j3pBigrb8bGOcelnJdobL03HSpJYgmWHroRP3EK6l6d6/quhes90OFFJxHNG8t2zxQWkE4FFIOYf0f65PNPrai/SHczDoywAWAwRHUEmRWfjXswoW5B6SVawRMFH/svmn1p6+jAFSwVEKuJEqRud0lwadV9qIvc4nGuT/OZZyrYno0RCPdTdXci5+oEIvEAwFIj0JGHEHS05cKslEN7WGsIRZy1KQCu5HBvcKSpoN0pZYsC1yR5TOY/EJ8UfO819FHmcCJjWfQXHk6ELbrHp/HEWIfNY125eeBv7z+0aG0UzdOQEm0rHJtxqMEuItBz+SevFXs5LDP1ASaav9dyxI8YZ1YrTBMz/aU6RV0I35Sg1omUVHpU9Z3Uyy0jzFYboB7TU/VOPXOuVl4KAISbowYRfTO+8JGrrxoNryO5pCJ kRPYCuRl 4yvegPuTp3suJoq9yiTyck7tTwHWLf1b9AZ9P/RcpDZFY6CTlKNtgSWxMF3OHNSCjRskwS1k53gg1KqwE2efNpnOsSBaL/YovNVKSectXjht9rTCxFc6GXZH6Sn40rhYejm+SJR0EiKDs8l1QuidV5NVvGE8l786RCeLAZFSWXS2beE4wWX87OFqMITbiLk0f18FOtreslcwM4alVL082/Y3kkJmD270u0Z/ZmF89rmBN0Qu6tb6mX0FCC2UIzHkJiLpgs/4UL+/uHde6ROCkyzznHH1sPU3vX25sdNy0RlF4yUYa84+LJNR1K+s1gJO5wOrLcrJA5Hd5q5xeYP9m7jdT/ZFR4R8qTBvPydGLQFPEec0CUBPeoZseNzPuPs4Ei0fGAZGM7FAZO7rD6MN2VgMCwJ7jMa/d/zXNjCulRYwCg1QacXUG5tOqy1Vv5aGSHrXKKxBLRlKtSLn5+joZCEyXx+1mNDrZHOOq6Eh3jXbDpVcPvF98oXqi/g== 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 Tue, Apr 15, 2025 at 07:37:31PM +0200, Mateusz Guzik wrote: > On Tue, Apr 15, 2025 at 01:26:46PM +0200, Uladzislau Rezki (Sony) wrote: > > Switch from the atomic_long_add_return() to its relaxed version. > > > > We do not need a full memory barrier or any memory ordering during > > increasing the "vmap_lazy_nr" variable. What we only need is to do it > > atomically. This is what atomic_long_add_return_relaxed() guarantees. > > > > AARCH64: > > > > > > Default: > > 40ec: d34cfe94 lsr x20, x20, #12 > > 40f0: 14000044 b 4200 > > 40f4: 94000000 bl 0 <__sanitizer_cov_trace_pc> > > 40f8: 90000000 adrp x0, 0 <__traceiter_alloc_vmap_area> > > 40fc: 91000000 add x0, x0, #0x0 > > 4100: f8f40016 ldaddal x20, x22, [x0] > > 4104: 8b160296 add x22, x20, x22 > > > > Relaxed: > > 40ec: d34cfe94 lsr x20, x20, #12 > > 40f0: 14000044 b 4200 > > 40f4: 94000000 bl 0 <__sanitizer_cov_trace_pc> > > 40f8: 90000000 adrp x0, 0 <__traceiter_alloc_vmap_area> > > 40fc: 91000000 add x0, x0, #0x0 > > 4100: f8340016 ldadd x20, x22, [x0] > > 4104: 8b160296 add x22, x20, x22 > > > > > > Signed-off-by: Uladzislau Rezki (Sony) > > --- > > mm/vmalloc.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > > index 7bb32f498d39..9d4027041a3f 100644 > > --- a/mm/vmalloc.c > > +++ b/mm/vmalloc.c > > @@ -2370,7 +2370,7 @@ static void free_vmap_area_noflush(struct vmap_area *va) > > if (WARN_ON_ONCE(!list_empty(&va->list))) > > return; > > > > - nr_lazy = atomic_long_add_return(va_size(va) >> PAGE_SHIFT, > > + nr_lazy = atomic_long_add_return_relaxed(va_size(va) >> PAGE_SHIFT, > > &vmap_lazy_nr); > > > > /* > > If touching this, maybe a step further -- I see false sharing with: > nm vmlinux | sort -k 1 > > [snip] > ffffffff845cb240 b vmap_lazy_nr > ffffffff845cb248 b nr_vmalloc_pages > ffffffff845cb260 b single > [/snip] > > If this is used enough to warrant messing with eliding a fence, then it > probably also wants to elide some false sharing. > > So at least the first two should be annotated with __cacheline_aligned_in_smp? > > I am not going to push though, feel free to ignore. > OK, i see your point. I will check closer. We can place both into two different cache-lines to prevent interference between each other. But that will be a different patch. Thank you for the nit! -- Uladzislau Rezki