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 AAEC0C369C2 for ; Fri, 25 Apr 2025 17:35:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 55B286B000C; Fri, 25 Apr 2025 13:35:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 509D36B000D; Fri, 25 Apr 2025 13:35:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3F8A56B000E; Fri, 25 Apr 2025 13:35:39 -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 222C96B000C for ; Fri, 25 Apr 2025 13:35:39 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 7AD8DC02E8 for ; Fri, 25 Apr 2025 17:35:39 +0000 (UTC) X-FDA: 83373268398.23.89CCC4B Received: from gentwo.org (gentwo.org [62.72.0.81]) by imf07.hostedemail.com (Postfix) with ESMTP id D8CB04000F for ; Fri, 25 Apr 2025 17:35:37 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=gentwo.org header.s=default header.b=KzT12XIN; dmarc=pass (policy=reject) header.from=gentwo.org; spf=pass (imf07.hostedemail.com: domain of cl@gentwo.org designates 62.72.0.81 as permitted sender) smtp.mailfrom=cl@gentwo.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745602538; a=rsa-sha256; cv=none; b=gSR5RC/oaAMzJZSEKMJ95C2AzIvXpRkFLIBwj6x1kpXIisSyL1pUzZcwBXURcsvtEbIEHL 88RWTlhEiATPguQ7H+ACWYaqL5oeHPdjmlEwu+H4zcuo3aoy81XoM5cgjxOdswwtgAQwWw NVDkI1llJ67AmaON6Tr71zC4hccdudE= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=gentwo.org header.s=default header.b=KzT12XIN; dmarc=pass (policy=reject) header.from=gentwo.org; spf=pass (imf07.hostedemail.com: domain of cl@gentwo.org designates 62.72.0.81 as permitted sender) smtp.mailfrom=cl@gentwo.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745602538; 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=RrOYdPwkEGC51yjATGlnA9QLxzl1GmyK5+7FEU1G6Ac=; b=nPc/WzKEqk2yw8azIvm7eQH76QSq2LR2cLJfMkBRRC4hTvo7ZoXbP7IrTCRsJFlIB8+vJj APrTbjYRDVMPQfBTV6zrO/ROQRv7Bz3aYyzxtzuuABxVh+zsiOIe1qshpxX8V/FnKFntmD wA7wReaxzJjqbenTO7+vrvxFaseBDlo= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gentwo.org; s=default; t=1745602536; bh=Q8NWzs/q2LxS5qzSWu8/lgiyqEiHtsmncNcVNqsQQRA=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=KzT12XINGKfXBZrHKdEmZSd8wj/2BDFrWS8aEEs6WKaiWLLfGXLPHmBELy/b4hozn DAIYJflavzjBVdrtiAvVX0izzYe3wqgRC+tLZ5DKnEApUwcCFtEKjZXPAtqUEac4Nv fxa4JL9fBJG1ZvkDGF4ADgwX/XRkkqqEqt7GY/M0= Received: by gentwo.org (Postfix, from userid 1003) id 9D0C340ECB; Fri, 25 Apr 2025 10:35:36 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by gentwo.org (Postfix) with ESMTP id 9C4E0401D1; Fri, 25 Apr 2025 10:35:36 -0700 (PDT) Date: Fri, 25 Apr 2025 10:35:36 -0700 (PDT) From: "Christoph Lameter (Ampere)" To: Vlastimil Babka cc: Suren Baghdasaryan , "Liam R. Howlett" , David Rientjes , Roman Gushchin , Harry Yoo , Uladzislau Rezki , linux-mm@kvack.org, linux-kernel@vger.kernel.org, rcu@vger.kernel.org, maple-tree@lists.infradead.org Subject: Re: [PATCH v4 9/9] mm, slub: skip percpu sheaves for remote object freeing In-Reply-To: <20250425-slub-percpu-caches-v4-9-8a636982b4a4@suse.cz> Message-ID: References: <20250425-slub-percpu-caches-v4-0-8a636982b4a4@suse.cz> <20250425-slub-percpu-caches-v4-9-8a636982b4a4@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: D8CB04000F X-Stat-Signature: ijgcj3eme5837tasq1tmcqsd91a3cobg X-Rspam-User: X-HE-Tag: 1745602537-580551 X-HE-Meta: U2FsdGVkX1/XdgXMMyfGGzI9Y97HXX51jq2HiSgHJ7IfP8oomEfqmkYzZsmil0MJudKILwodJ5bkxeznXU77faBP3KnTyMKvKIililVSqq4Xgvj/X2UOVkcFuqSnzha6z0U2PJsmS1xzeEJubFnc1FgO9a12QsksBw28eUUPH36OP5wZFbFJvD6dbASPXluI+lWqzssF8aO9PlhJi+5sdIrBCBm6F6uJsc49n6lQre+PwBC4fCvVulRJLuCZlaxnn1kfrxG8qTCKOomWbUm8qKnOq9QOS3378CBhhEkNksPqFOPf6/3UappvJsmxQR4B1zIm4B+6T0/B1wXZM+dfW9fun0sUIH/rfc3RZaR4DshpbG8AjJ6Eedl1oY+cBHt0bhQe1ilVRKzAjWeDN4Qy8qnuDnI7mIBC+zMZv7Rdv8vWKegZ6CePZ3/EnGuJJnT2CXICbSpJ7i2l7WbMiirxTkzfgp7PRAnyy6/ni032iDHPpneh1al8XAiMh867vy1lc3ZuHcrOZ3fMtiXc23FKtWuhn99+6reS1fd2H7dgZKQzxXibOi0Q3J+qbJ9GchpQeG8GlKDVe+y/ZjP+vc2sgyPfGCqX2zwwmLU+SGSkuBreSCTMs/P7nEZk10VsTSGvuP5fMFOk/P6KoIyDjA+atyxxOyCtzmoOXiVf7JwJLfFhRw+FwHb/YJvvayXgWUeRuP62NkijQe+BX+tDPYmGkGQXSyQEe2YbGMSl1AGDGyXBTbGpol+6S4rc87FtqqiQcXTE5FKNE920NqA9Et9rHkmy3kRzRKB0dFYopkJ5xscIGxBio/s7Sn4+BkOfOUgmV60qZYYtepgVVgAMNaA7iFtNET39vzQEwb/8DINs3bJp5HP6nDmvE5dZWZfWsiL4nnCDNvylzhfGY23RnHJBSiQZDgR3Qpjd3fgubxnmuSQNOfZ0keUTs3XDA0asoPm6eBKeXhvcKtgMvH4+RY6 bsCdeFWt HLvI8juvMFB5vLHweLdssSbAUK5wBte1uZ8JCQNDgmhs9iKXK3eDh460tv62f5J3zumQ/nJn9yceCR15vTMv9YF3POtlYlaqTA3UXdAbtWiJYkljZPVY7mNkOAXhcxJBBrGNdBKrpdcOR9eE84UvJFcZ7dAP5o8aW9mKgTveqNuOnzBqNSMkhyDXU1BvHLyeASFxfFIifAvU0YJl2PiDqfzznRkVfSv/I0+JbwtVL9DWneaWIqHoroPRw/Q== 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 Fri, 25 Apr 2025, Vlastimil Babka wrote: > @@ -5924,8 +5948,15 @@ void slab_free(struct kmem_cache *s, struct slab *slab, void *object, > if (unlikely(!slab_free_hook(s, object, slab_want_init_on_free(s), false))) > return; > > - if (!s->cpu_sheaves || !free_to_pcs(s, object)) > - do_slab_free(s, slab, object, object, 1, addr); > + if (s->cpu_sheaves) { > + if (likely(!IS_ENABLED(CONFIG_NUMA) || > + slab_nid(slab) == numa_node_id())) { Ah. ok this removes remote object freeing to the pcs. numa_mem_id() is needed to support memory less numa nodes. > + free_to_pcs(s, object); > + return; > + } > + } > + > + do_slab_free(s, slab, object, object, 1, addr); > } > > #ifdef CONFIG_MEMCG > >