From patchwork Tue Apr 15 11:26:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Uladzislau Rezki (Sony)" X-Patchwork-Id: 14052043 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 E0C2CC369AB for ; Tue, 15 Apr 2025 11:26:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 87ADF2801D6; Tue, 15 Apr 2025 07:26:51 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 803C62800BD; Tue, 15 Apr 2025 07:26:51 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 682BE2801D6; Tue, 15 Apr 2025 07:26:51 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 4416D2800BD for ; Tue, 15 Apr 2025 07:26:51 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 83B90C1278 for ; Tue, 15 Apr 2025 11:26:52 +0000 (UTC) X-FDA: 83336051064.21.01B6917 Received: from mail-lj1-f175.google.com (mail-lj1-f175.google.com [209.85.208.175]) by imf18.hostedemail.com (Postfix) with ESMTP id A49B81C0006 for ; Tue, 15 Apr 2025 11:26:50 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="E/aH7lAO"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf18.hostedemail.com: domain of urezki@gmail.com designates 209.85.208.175 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=1744716410; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=Ae2vhRMvIWUBa1bi47eF6Ga7Y/YbQJwW6SK4mLPFno0=; b=xz1dXnz3+uUGuBwozWXJ7Ec3AeZ9p2pOMZlmotH0KE3tz6GZ1IJbpRWAcIrUBKGqtAeiJS NhDop45Xx8NHfSA9xtg39m+VbIMa0zqEjhtblSVjJCpMcyMuvn5xOU4hfK23qz9JthR7+H +YnEu/XhVpkqdQJD7O8ai3HBfG16rKI= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="E/aH7lAO"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf18.hostedemail.com: domain of urezki@gmail.com designates 209.85.208.175 as permitted sender) smtp.mailfrom=urezki@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744716410; a=rsa-sha256; cv=none; b=cKyDqrXt5Q/agDYV2Fj5z7B84vdRkfhTVDS4jm99wYJ14O9w+Qi9r8rfp1Waq94uZOIFG+ 3rRDZRKmQY0Ky5Pd19uAaiY6UgUCU8wMFhbTcXqpsbAp8t5IeItXSLPhRyXKFJP1dACApA 40iO48vGkpyjz9/sAPlmMJbB9HPd4XY= Received: by mail-lj1-f175.google.com with SMTP id 38308e7fff4ca-3106217268dso22682581fa.1 for ; Tue, 15 Apr 2025 04:26:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744716409; x=1745321209; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Ae2vhRMvIWUBa1bi47eF6Ga7Y/YbQJwW6SK4mLPFno0=; b=E/aH7lAOHV1CuP/Ejd231EOM3btolp06x4SNAyE13HwRve5Evlsp8Wdon1qeJFIcnD X4Jt0z7NO0s0R+ejqzCSxaHn2V78cEgSuuVqh083UJlB5NTBuZdWeS9BuExNJ5am4c7L inrtD0y1G3g01EPJ5t/ZMrWdrDe96koDIsdyFD4879yFW2U8nXcOkQRGNHE33G11AMyU 1FN7spNdEasnbFZDHa2Vd2FYrmKWxgUy5tgR1WIKqpecCH3chytSF2jTe+tYwTxM7c54 8uBNClpC46E1S9gITBYxd2u5663MzOIxv7do7saUqSkQHs5rjP1GYiq2qs9yHmhvw1zz h8bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744716409; x=1745321209; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Ae2vhRMvIWUBa1bi47eF6Ga7Y/YbQJwW6SK4mLPFno0=; b=VBXLGc6MyRSMMx4f3CErMfd1YocYfOEPP1XpnRNNOUVea7I2Fpwu0hl9V8SflaZvNE oMMgaDTyzHtVfcZqF0iR9S556rQa9v1bhcJpMDV8Pr6Qbix+0dNIhgRpHsvdr7gFX0Bp SGLKXi4MMKNJ24yXbdccf6PePUfl0Jx07pAEJ6+OBsc6OfaHDwujlFqlyV3Ew1mJXgNL 83tUxBgSk55ExuSfRl78iOP/vw8TA7RjTlsc99KRVxabMMTnx/gpVD3B48n7Q/MSJDqQ xMS//JkCp86areUKsCQ/eZiuehLUun2KqDfeHegypUlDShbERKgosCohNVTesod5R3GH eifw== X-Gm-Message-State: AOJu0YwvkUDd8p0jsgl/uoXdDfj0rSt0zsxyCQO66jq1jQwgiz3GCZrV KLnKRd7TZZe3YudUpb+tN3SWqErwVfvmeckg8CRvZRbOfwCDENgh X-Gm-Gg: ASbGnctI7HN6LAiOWuB5gzAq67t3By5nBbdXB0lORhPfCr+8GID8XaXa3Dxfr+6mHSo iX6+BnmC2B/OS3HgNHMMeYXF2lz0/5Ca6UtZLqfLjdidntwBQ4Jue/yKaNzEfiWqac6h1YmCBMX oQhJKFxgdqeNPjsFjVxLzvVST2KbO/KIdPBGPcZ2qGnQxKkuWnus/SPywwk45rXkIAUJVLZ23ZU 0ldYpL/eJCjXD0a7e8DYwnRSjnJU/0zV3UTt4QVSwZKvGZIiwWgk5vFMBInAgbvkJ+XBLrfP7n6 NpbiV+H8zp9nB2O4W6aCAEtS8//6GqnOCUp9 X-Google-Smtp-Source: AGHT+IHf31KluLOI1TeXjsIV5f6k4fYrZpAtXvgClNVdm8sYzKQ8FM9K2CDwvmNrMd2hDUyQo/i0LQ== X-Received: by 2002:a05:651c:2212:b0:30c:2e22:c893 with SMTP id 38308e7fff4ca-310499fbf5dmr50004841fa.23.1744716408778; Tue, 15 Apr 2025 04:26:48 -0700 (PDT) Received: from pc638.lan ([2001:9b1:d5a0:a500:2d8:61ff:fec9:d743]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-30f4638da16sm21394461fa.0.2025.04.15.04.26.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Apr 2025 04:26:48 -0700 (PDT) From: "Uladzislau Rezki (Sony)" To: Andrew Morton Cc: linux-mm@kvack.org, LKML , Baoquan He , Christoph Hellwig , Uladzislau Rezki , Oleksiy Avramchenko Subject: [PATCH] vmalloc: Use atomic_long_add_return_relaxed() Date: Tue, 15 Apr 2025 13:26:46 +0200 Message-Id: <20250415112646.113091-1-urezki@gmail.com> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 X-Rspamd-Server: rspam01 X-Stat-Signature: scdbxxkrzsjwsfnbwe5iq6rtfgb8g3xe X-Rspam-User: X-Rspamd-Queue-Id: A49B81C0006 X-HE-Tag: 1744716410-308932 X-HE-Meta: U2FsdGVkX18700R/rICUYhY6cUVH+hqdJFublrKY1UgJdju5Ocgt3oGm8apUnBRaQUH+te/EHw/b9CR8eqkAfM6w2QXdbhhmTwlZ3Cnw5drULlfRX3jhPyQcrPSgmKmRuo1IJTqe5PG1iQnFDT8zsUafYvsqcvLsZPb1pKnUIeZOwd8SjvgURvbkIDwpg/WI5914uqvHHgDnNTrCdeKlQ4E1sZGbrDObqX2V6ldAmB63lbqHHjng+nC6HBvHGmRh3QhoQMTdchSC50W9LJFm6VTOBRaXm383pGN2rEDJtja81lfHEloMyNLVQ9b07UemvwWQnvu+xgXhpSaKr3PHtqRt5Rh01eM592QX8u5Dlskp8n5OT4HHW/T94meDdt7hUtlpGy+jcc/Wg8gLAedOpfPTMXW+uq3ieBB/aFPZtR/TrYYFsi2TEby+/gxZe+Ithmsi+ZDU/jgtP67TqjhEBfBwV9m2U1OA5BJH/puYDRFBmEtmoQfa95FG6R6fa47Zdv1/JVOZvzXupyBNp7+1eWWwwiLdLqaLYkhNyNyFiwwGsFqjNqjIGmvPZpN+1XKYN39d0gbsjSQkYvlwvjcSOCcId5IPsqxfX932FHnmm9nHtKZMVetYa1H++4JeTqZF1BMRzDn3YHbE2ukA/60VHWcs5xHX+GzKlR4c8xuoBCNp+lMjp+0ubiKkxi2ZbpsGQ2PGrc4XRX+bFq1gyI0/a/EF2DsuH2j0fruI2UzjVWq6PlKZKGN2XCYrntp8aaymAaccZK3AnfNYAV7e5wChto65vb3KeE3T/vVzCocK+E5gFc3NKnTaylc11/c8yQGW/VHcI7wcfYSIRF0Ri1GIDZBITlhWd0CbK4Z5bztejFpY2mFxwBhAS+/mlR1oxePkyYUMCKKlaFPfl3gqiwgN1BfarfVwFALO89E/2wLihEcuQo4WFHXVitJFrCow3SBW7j0y7wDoTiq8wjAOfJg WIqM3ZgG WPgAgR/QBGexQ5HhAtr4NGa/UXjgk+wToFAXJ1DoOREtpyBBufvptQyNbRAeDC2/f+AA8rd6kaiJU4yOO+/KtD+pRZYkpgygPhyNQZuHCeYOZjz1MWQy/971jmafuTM3+DQKhEJvZ4/V3++EANQ8PkSuoYReONlwg95SIrjHvcDj7v91sb9HAGxheMijdF72RrrUoL/i39zVRU/AgFuAN7i1HD3n1a1EaAZP6o5VmneI6lQ4cIJzDEBfBVnqp41vuUMQ20RBMqsvomYsrbOywAdaGOpVLl2KvgTHV3RLSfNttuNWVb671uFt1WgTnTccAJsrq2uhvlIRF9cmHQBisQkDtuZ9THxPjP7eybON9f02cOclHUoiT1a+nAHGhy1ddj/jeURWmidwvx4iALcLfb5cPoFE37+vL3p/FfwF48Nfi8CW4oiHvokuayefuXJdZOozxAwfnWEhjkpAYJ94b2oN0PQ== 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: 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) Reviewed-by: Baoquan He --- 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); /*