From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 94643377EA5 for ; Fri, 22 May 2026 14:23:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779459822; cv=none; b=Slv2QxCDFIVcfLiGZPl5MP3+7sKakoq7BgcJ+qOrxGOvwyTUbCIWW1gN1ERurPQDysFJO0sL3yB4HWzEsP2FOwKVZn6z6BatDevzShFhqob5AhsIvcRmjutn6GhpqjQza0+O73buAVD4EWWGyYw2CHztFyH0P85fBmVckRdPH2A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779459822; c=relaxed/simple; bh=hfAVekw+BItDLJq5R9jvDeugZpHK9EW7c6DISULUHZc=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=cc0VplLDvaeZKOWncup3AfMh9wbd/dtyk4WGmly2R8K5He9I6m6PFLV3GDuORriODqrMYLpv9H+QQTn1ivDO46H2I4iedKXteDG/XVp7dbuXaLgpz/rXhK+4h3q2wGEcJpWnAppjcKV+wGb/yO0nh1o8q3dNehLAcpXQdCv0us0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Grwb9ZZz; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Grwb9ZZz" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7FB001F000E9; Fri, 22 May 2026 14:23:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1779459818; bh=PA+/blMkYTjQ98chq75R1IGwiAuFCUXm1eh6O/BkY8A=; h=From:Subject:Date:To:Cc; b=Grwb9ZZzC4e/MtQ5KbqtrL7rffvSZ8FgEzOZNJRaM/+26381GobXpC6qFcT8H9UmD LLhfw6IlHWSOCatoW0yGg+xsXGEudmXTRw4/9Q628hHL63Yianic89DZoRQI9PXR8I INO8eVku/sJCOHoMQKLyRDySnCDQIW1nHURzAEpqKd8xWAoPDYs45oSjNYgmGVCC/c wSKLgR4hYbQ1MVsepXFqOA3K+vG9LgsX7NYIhz8/2Huu2EvxiXV+vA5zO18HfZA133 CXOOcQblQ0UsCxhErnfg64+jTpQqLlJ96R/+sYkHV1EsTqmArqyvU6cmJE3aAJS0vg ZL3yXwNaBKCHQ== From: "Vlastimil Babka (SUSE)" Subject: [PATCH v3 0/2] mm, slab: optimize returning objects after a partial refill Date: Fri, 22 May 2026 16:23:19 +0200 Message-Id: <20260522-b4-refill-optimistic-return-v3-0-2ba78ec1c6ed@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIANdmEGoC/43NQQ7CIBAF0KsY1mLKlJTUlfcwLgqFdrSWBijRN L27UDe6MS7/5M/7C/HaofbkuFuI0xE92jGFcr8jqm/GTlNsUyZQQFVwYFRy6rTBYaB2CnhHH1C lS5jdSA3nbSkFV4rXJAlTbj42/Xx5Zz/Lq1Yhk7nRp3/rntt8ZLn331JklFHgppBGsUYZc7ppN +rhYF1H8lSET0z8xiBhrBLAK9GIGtovbF3XF28IsGcmAQAA X-Change-ID: 20260421-b4-refill-optimistic-return-f44d3b74cc49 To: Harry Yoo Cc: Hao Li , Christoph Lameter , David Rientjes , Roman Gushchin , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, hu.shengming@zte.com.cn, Vinicius Costa Gomes , "Vlastimil Babka (SUSE)" X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1925; i=vbabka@kernel.org; h=from:subject:message-id; bh=hfAVekw+BItDLJq5R9jvDeugZpHK9EW7c6DISULUHZc=; b=owGbwMvMwMG4+8GG0kuuHbMYT6slMWQJpN2f1tz61U71Z9+zmAy2DZfLb+7uvO6yxO9Kl/gjF oWOdlnJTkZ/FgZGDgZLMUWW6t0nHEVnKntM8/D9CDOIlQlkirRIAwMQsDDw5SbmlRrpGOmZahvq GQIZOkYMXJwCMNVcFez/DD84Bom8fhGZ0/Unq/h8iGH5FkFO3mzBvzLcSSlLrvPPFle+fy5aY5q T8brcx4tCl/ZVuH+7pZLw7juH2B92ty7T3dqyp2suvv40p19BbEnhjgLePSJzT/hzL1d8bvhm3Y 4k/k2eXocLlA2+s3Wri0Sknxf9LX3skOXckGsNMmxniyzsXVQ+cgnfT7dYs8w/bPmXD5qMitpXr rNdTl631erf2tmXBWTFervOeHNdsJjaN7VzT6+V6Jrf0WuNHYP/ubL6Hruj8jCftfXAL2Xt69J/ YjJeif248ZS15uJJzp+P30su0VTmygk5c2mWlk3MbYnNu+bx7fg6xXzT1iCv+9v+cHsYcOx0ndS Ud/4VAA== X-Developer-Key: i=vbabka@kernel.org; a=openpgp; fpr=A940D434992C2E8E99103D50224FA7E7CC82A664 Optimizes the current refill leftover handling in a way that should have no downsides, so we have a better baseline for any further changes (e.g. spilling or caching the leftover) that involve some tradeoffs. It's based on slab/for-7.2/perf without the previous version of the first patch. Sending a new version due to accumulated fixups to the first patch that resolve a perf regression, and a new cleanup patch on top. Signed-off-by: Vlastimil Babka (SUSE) --- Changes in v3: - Fixup patch 1 to resolve lkp regression https://lore.kernel.org/all/202605112204.9382cecf-lkp@intel.com/ - Return slabs to tail of the partial list - this resolved the regression. - Remove an unlikely() - this had no effect but it's factually correct. - Add patch 2 wich further changes created by trying to resolve the regression. Those had no effect but still makes sense as a code simplification. - Link to v2: https://patch.msgid.link/20260427-b4-refill-optimistic-return-v2-1-1672467a792d@kernel.org Changes in v2: - rebase to slab/for-7.2/perf, drop RFC - simplify to reuse the existing reattaching to partial list (Hao Li) - Add R-b from Hao Li, thanks! - drop the stat items - they serverd to verify the optimistic path was succeeding, but are too detailed for mainline - Link to v1: https://patch.msgid.link/20260421-b4-refill-optimistic-return-v1-1-24f0bfc1acff@kernel.org --- Vlastimil Babka (SUSE) (2): mm, slab: add an optimistic __slab_try_return_freelist() mm, slab: simplify returning slab in __refill_objects_node() mm/slub.c | 69 ++++++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 48 insertions(+), 21 deletions(-) --- base-commit: dc795d4c0282a4fbfbcd76a70c09ca0888678443 change-id: 20260421-b4-refill-optimistic-return-f44d3b74cc49 Best regards, -- Vlastimil Babka (SUSE)