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 1A2D3C369AB for ; Tue, 15 Apr 2025 17:37:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 14D4D2800D1; Tue, 15 Apr 2025 13:37:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0A7892800C4; Tue, 15 Apr 2025 13:37:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EE3952800D1; Tue, 15 Apr 2025 13:37:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id CF9112800C4 for ; Tue, 15 Apr 2025 13:37:42 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id B831F8181D for ; Tue, 15 Apr 2025 17:37:43 +0000 (UTC) X-FDA: 83336985606.18.77707AD Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by imf22.hostedemail.com (Postfix) with ESMTP id CA152C0009 for ; Tue, 15 Apr 2025 17:37:41 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=GJciExqK; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf22.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=mjguzik@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744738661; 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=x/S/cjEnszsQ1ir5xk4cNEJyO5+OZlwMe97IvIg8dZ0=; b=EPEHbHU28uulACDr/VHCdTdBJby2jPP77rZT8y/hA4yrcTOEs86zwJvuR8TJRxxA3UrCwz PbBhkPMbF7hjfl9wpDBdV44b8z3e4v612urCtSV0MhdZcjAz6g7pSI851RQcKKD5XwAaDp 7Zo7UxpZ7c9P7kqV9M9mMFmwpY+62xo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744738661; a=rsa-sha256; cv=none; b=U4yhGiYegJ0IbpQcFdQGI1E14IoT6+hKufUeaA0mvPnGRb1VEEUtn1iTP5rJecBPwugvY8 uDaz/9ZgtkyMK4C3WgoyAk9JV5d8rs8iioosJzoKm0UW8JX5dAxd/IJwqeKLw3RBTmFZBr wY34iz9cSonfrQTVDV8bcvyXzwz1IGg= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=GJciExqK; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf22.hostedemail.com: domain of mjguzik@gmail.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=mjguzik@gmail.com Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-43d04ea9d9aso29940355e9.3 for ; Tue, 15 Apr 2025 10:37:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744738660; x=1745343460; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=x/S/cjEnszsQ1ir5xk4cNEJyO5+OZlwMe97IvIg8dZ0=; b=GJciExqKkygJoE9i8V8VAXpo143CjZImp7RfRweoNYaQZ1nb9hxfjorrYuMeKIXyFG Dk9WU7KWX9mfkYPHutuPUlGKbayYp7H/eSRwtuaq+EbUhuKxOTcpil6daJtHXzf18PG2 xb1cwdVFMWjyDzYCBRZcKz5rh9qf5pda2/EEB9ScGXEco8Ec6t6M/ZGv+qt/72LzURRu ECHVjOE1JeLRytXdzs2XqQ0HomSDrNFBZPvjzeKikCoaWM0gweHcGT/GmEjq3+X/mUKG Fb8uDwW1oqXi3MG+cbkvvtCl7dY4r0/NLmAINpvQQn9zjveia96Fr4DPTyOrSLAGRInX 6kQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744738660; x=1745343460; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=x/S/cjEnszsQ1ir5xk4cNEJyO5+OZlwMe97IvIg8dZ0=; b=HRSGDgxxyC5i+PDIH+LyCwuZGff5u+czUT0BusyEzEEkfFWVkQ5sT5doFuchCZ1DyR gBl/HafbAKNXOniHRnXvszVhxTCnIk8qFM2oI4ysXbnRDdAaehBeBiq0VCd58hJolBOr pKxIOgjttzKYrAtSdg1tRhsCTNqL3sodoaegplMuu1xJ1AxT/ABxOzmBFp3t94ViHSFd tr1oexkan2BfcRpRf9h7Sse4p/Cl0r9xgD1LpCYi+Hy8T9RklarekI5qZmeWVKXkHVEE yixte+RLJcqAp6fkIFATqG339U5fo9C0HC+Z+mu3iW+hqBIBhqPf398KNiHweQlzD3zD Z/ig== X-Forwarded-Encrypted: i=1; AJvYcCUm8RoizjGX+bzlYzQXPRFkBmCAM0OtOgoOcZofpiUSP/Q7/b/DoVd/wDr1LdMje/Dj12ZuWZWL6g==@kvack.org X-Gm-Message-State: AOJu0YxkFz1cRMOXPu/8g5hh6d3mCCFt6DBqScML1KYZ9tN0Dpn2Cgxs r6HMdQqMBa9f2mRRcsk5qdzjfG2HzbdavBsBLJr2wsroVgPPTWT/ X-Gm-Gg: ASbGncsAw29iaicMCfitTsglHknsn7bDsovxuOD/+VH3VWvQWvOGYcN7sL+F1MU3XlR BzcIXv/aZrObqr+kXQWl+Kj+ADT4pg32GdngPivbBFtyYo7apH7WwzzI9weaHagpA4ExWxrTwc0 DjL5P2QkAVVzGJyWcVccqoTfAiauixH98FMxW6wBMZWBgeu/8VmyoOXBwMc4UjqWg34BmtYOwN9 5Y8aRmKIZ2DdBB7YvOxfwClbtm2kzKtPVs6rrFeikvZ3eWiL22Ebyw19EgBojQuAYQM98BYcM/d W9GeKKbYYLh9nbPpV7pnyHZcbsH2u0GkWi547RHGemnAO2+Oam9Bgq/i X-Google-Smtp-Source: AGHT+IEJX7C3/UrhFqmiGuJ7CA0QU8jXtKvhEQIO5w2z5EAHTFd7RJY1Cv4nnQak/NIfWCEiXPFRtA== X-Received: by 2002:a05:600c:1c0e:b0:43d:b3:fb1 with SMTP id 5b1f17b1804b1-4405a1045c0mr16225e9.27.1744738659990; Tue, 15 Apr 2025 10:37:39 -0700 (PDT) Received: from f (cst-prg-69-220.cust.vodafone.cz. [46.135.69.220]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39eaf43d38fsm14908147f8f.71.2025.04.15.10.37.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Apr 2025 10:37:39 -0700 (PDT) Date: Tue, 15 Apr 2025 19:37:31 +0200 From: Mateusz Guzik To: "Uladzislau Rezki (Sony)" Cc: 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=utf-8 Content-Disposition: inline In-Reply-To: <20250415112646.113091-1-urezki@gmail.com> X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: CA152C0009 X-Rspam-User: X-Stat-Signature: anpiugg1t7migx5u8jfi16mqce6w35y9 X-HE-Tag: 1744738661-640446 X-HE-Meta: U2FsdGVkX19eMuSzKeTiyD03hUqgwms0bw95PwgASqt1SgTm0MIfmqw8DsKirleYPb70EeU9kGru3+cxwqQlcJB/zJdwpkbvlXJuz6FXO6XWrBFKSlEl6mKVvm7G04TDQROADiKH8ioL7EnpTenoXNqiTx5A05LH8feTy59uIYwmvJBs5y6tlJsfyBik/BgKs+vRl47v59tg/olsum3OZ1JRA1mWfIwb+ScQ/BcMYdltHrIBCtJ4Mxh0a4lRNpz2vpCQf0+ToVWEKZHb1wkHbNOBHr5aeKSMMC1d5+UbgZAis6ELQknATqUFlDK1Qgw9a3viPHFJUSEvT6uZ38/JzabU6E9lcZcMOp6FIKfHBGMNUW0qh+3DVhBJ4atGZUMc57PPfkjZUPDIyHy87mJqkbKdfDr11rAkdRfMk7rH86g2eBfDy2rxju2KktqM7c6CvW7mziCf7LGYwt4QKfvW5eVlQwStY+k8R3ll6erdrqN4ZKvx/oVKVfE9iAtRzhTX8z14O6Di6FgvdzhWbOssFoIkJD2vvnEjD6aO24SxXzalNTGaA/9eO1Pvs5aJx6EwoflhxVELYAgrnME+CBggFln9gneJQ79x9Tjlhjjhg8aFgC2OqV6nz6+gniqaEQonXmT4ET8eVM/QZ6XOivqHjnZjwoE4HdgQ9qOb5s2r9zmVOgda4XteyFaonK1alDJMa5W6bvjeO/0F8Cp9AnQyAA1cShRiFkfYDg/QlVdrLbVzzhJHM3iPuJajtYtyMQvlVRc0eGITjYvyBk72ssp4ZvOMupme1aCrMJD+8AXQk8+xZ3d7WHP87uLQLkBZqIKn7iy82UV3G4eChcAfH5SV8+LSKLgrPd4UvXzEsF9jChuJMw+bwfDgG06le1ItGErRXjPMWQA5FfBeUp45356k7oGzeIKtWQJjqi1jBpiIXfVOetYjsrDI2kS+wJod9Li/R3eIzDJKxveSc8xugpt 1+Dt/uPc rL3s6OHT9wkkY5KGQriaHQmQjzTnQz4UMehKoJXqIUAwhksKv0N2aUJUv5u1KAOrbyzrD06JulMqXSlLBBV79kOxiU5Ay29vPrvgEpIwFKwOTF2hgiEVI4ilu6kv6rfXgfkgDJjdQEA+dV9mIZp5fgPns80boNA2skwNzYS/D7sbi0K5PwCVzcd8Jk+ePPZmF+p+aIUR9BkcZ0jcrmdVVlCYssa1CDqp9ZoknwMC/MALyOmrNOrA8/MrhVItaXv1sG3TIQPQihEyQ3fE8uLAHaqu1H0DcaZLktQm3khWkbX3/KpfgkwsrR0xmHTEuFZJwaPUOpDkBq7NPPctQJA5M6dvEzoC+s4Xe4la597/LjvKn+RxEQfK2YRrJtr32PM/RusPIkJElNPyPVyfZ+ZKXotM2ay36OR0QiT0P8pGXH65H8PUvMQPgO92QG6rn0IQskloj8UJ9pkZAG+Mr8hNnv7821M7pYqs1gOrAg4xRUQF9AI3/zt6/lV3lzw== 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 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.