From patchwork Fri Apr 4 11:11:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Clapinski X-Patchwork-Id: 14038309 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 0684AC36010 for ; Fri, 4 Apr 2025 11:11:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 322D2280003; Fri, 4 Apr 2025 07:11:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2D2D8280001; Fri, 4 Apr 2025 07:11:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 19B8C280003; Fri, 4 Apr 2025 07:11:39 -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 ED7C6280001 for ; Fri, 4 Apr 2025 07:11:38 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id E782282562 for ; Fri, 4 Apr 2025 11:11:39 +0000 (UTC) X-FDA: 83296095918.14.8542B87 Received: from mail-ej1-f74.google.com (mail-ej1-f74.google.com [209.85.218.74]) by imf25.hostedemail.com (Postfix) with ESMTP id 20598A0006 for ; Fri, 4 Apr 2025 11:11:37 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=s9kbbRal; spf=pass (imf25.hostedemail.com: domain of 3aL7vZwoKCOkXNWLaTYdVTRZZRWP.NZXWTYfi-XXVgLNV.ZcR@flex--mclapinski.bounces.google.com designates 209.85.218.74 as permitted sender) smtp.mailfrom=3aL7vZwoKCOkXNWLaTYdVTRZZRWP.NZXWTYfi-XXVgLNV.ZcR@flex--mclapinski.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743765098; 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=O3m+WmTCQqVjynILz7/6uCrd0X6i/R+AMAhm/ZBopf4=; b=GR0YP1m8DXDamRo5zsyVaxx8VyfCigyZkwB8fZ7OOspwJF2YDN/cqhk+y7dpCmYYi1DV7E ePpyegFZlbIZy6VD1jLNaoLC8XFMe+BsViN+JasR20wRpB4ayvhMLBbnxBoqISLHx2YNv6 C5GYgBLvialW1HWAsrwcn46i3WkNKQ4= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=s9kbbRal; spf=pass (imf25.hostedemail.com: domain of 3aL7vZwoKCOkXNWLaTYdVTRZZRWP.NZXWTYfi-XXVgLNV.ZcR@flex--mclapinski.bounces.google.com designates 209.85.218.74 as permitted sender) smtp.mailfrom=3aL7vZwoKCOkXNWLaTYdVTRZZRWP.NZXWTYfi-XXVgLNV.ZcR@flex--mclapinski.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743765098; a=rsa-sha256; cv=none; b=nQreiUsBbQiV9liPkefu79RAYlVl1akOorMMa87L+rO0FnV4moMm5WKNVZc0GkF2ZHShXl qOlkK63C801aD4/JiCN3EuwkjlZriUBNiVCuiG+xEfYM9/yJCWMG0LuqCk/MIyn1eXIlWu iDIAeNHYJYAbeLoLyxpCSOEBuyoV2fw= Received: by mail-ej1-f74.google.com with SMTP id a640c23a62f3a-ac2a113c5d8so152660266b.1 for ; Fri, 04 Apr 2025 04:11:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1743765097; x=1744369897; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=O3m+WmTCQqVjynILz7/6uCrd0X6i/R+AMAhm/ZBopf4=; b=s9kbbRaliKzP29wlihN3WUNSEjnnN2W7ur+NGqSSo3gEhRA18mjDKHVU05BomdLc1e gPdbRORng1bR0HUR/w2emkiL3Te+eIVW4zKLUPmauTpkeTdDkOZlJ+bXDPiBk6uJy4eR I/Jtzcwlm+7ejZbQXMGdvGDpQUIv0RY8KIWKhWbAQjtkFA3pcVWc1E7ZRCEaC6HmuEJm 8iJ84vJxLbMbsn2PlPqa/krAAPEhkhqjxFpX8em9vOiBK/tMXAYygZlq8xm9WkVOLRMf xv54/YR+cEkCcnsne1rHqjs4imp4suIF9WGz9VDCcnrLW/PQ5eHR48FN7YfLYJVNVSfL EWmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743765097; x=1744369897; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=O3m+WmTCQqVjynILz7/6uCrd0X6i/R+AMAhm/ZBopf4=; b=UGTLollEsfq4xds58HMKIYeH/lcsmZXZTP95g4Qwaqr3fg370wvVVjUoIHWyG1Oly9 L8LR2qrNEvu2OPX9N15iGRKDGldIaN7m4Et/cwrWHcQh8gDVtn2afJvVvPymsF0nzfEx V1vFUFOTiG5+xnXoluVtsXF+iW0wJ1U7cxKsgPGJ1AW0yfUH4GY8zz78acvh233VEtzu GILw7g1m/ujXkG2e0b/aFb4zxu+XSzkaVGeUIv9WhVGTCcfLLsPkujqHKf0dGMaPQcUc B7e+LsAuTZHdaj08lYxPrgYWNeZFn2SWICwirNO9VqK4Pz52MiftHkxm30SfMGSz1MNC Pc8Q== X-Gm-Message-State: AOJu0YzjQGqgQEnfDcb7quwNKZ7umF9/bEzCYZWy6kynP7JKTKnq63Q9 pz32yMXZ7XoNVxJdYH1RTwTngnExeCvAxGX0O6ecfg1m8yHXigNURDOzHyhyeokhZvUWJiqbqib uMiQjGE74vB0k9phUcA== X-Google-Smtp-Source: AGHT+IGRCGm5SwBZezCEZlk2BcrDdHGxGuTaFAmDbFz42cXfolqybCHXvcnZcqvx1PkktVJ9luf+cLCY0XPEx4fA X-Received: from ejon12.prod.google.com ([2002:a17:906:7b4c:b0:ac3:dbd1:7008]) (user=mclapinski job=prod-delivery.src-stubby-dispatcher) by 2002:a17:907:980f:b0:ac7:391b:e685 with SMTP id a640c23a62f3a-ac7d19fe8b9mr276270066b.59.1743765096893; Fri, 04 Apr 2025 04:11:36 -0700 (PDT) Date: Fri, 4 Apr 2025 13:11:03 +0200 In-Reply-To: <20250404111103.1994507-1-mclapinski@google.com> Mime-Version: 1.0 References: <20250404111103.1994507-1-mclapinski@google.com> X-Mailer: git-send-email 2.49.0.504.g3bcea36a83-goog Message-ID: <20250404111103.1994507-3-mclapinski@google.com> Subject: [PATCH v4 2/2] mm/compaction: reduce the difference between low and high watermarks From: Michal Clapinski To: Andrew Morton , Vlastimil Babka , Pasha Tatashin Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Michal Clapinski X-Rspamd-Queue-Id: 20598A0006 X-Stat-Signature: z9owsiy4ppsh5j9f3ta93baqsr9o158h X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1743765097-621017 X-HE-Meta: U2FsdGVkX1+j1U5dVgIqjiAvrs6mIi0Kdf61shMM5aU3i3rUy06FuIzWbTGICy9SHSisusQ6c4eDIEmw68MYuCQbjZUmhvjqNILX/4RrM/VJiC0OmueRNbc3Y1toJlX6r7t+W3wttIOTlGrqVCpBhlbC7J7G0nWnpqEAptB3nDjofjux2W1pmba/Lfuw0stguuhN8ZPrvKkHx2YG0mzjZmaRpMRh93rsbmhBJOUnOgYs6Ef9MnZSIqwZWmvBbrSYkvuFnNVo0cEQ1PbOdn5P9kYKAhIiAJSxfCgGIlruQbd8qbu3vkR9ZJfddu98tkGNdpnf88Q7e2Gofi/cMimlelrb62379U6HdaIm0iQ6hm0IiPp377BKfqzY2hQddWmro7Mfqis8L4zPt7U63ElEeCKmWfdoZTpfGMpaHMUn9J9tGxhRlgngpS2+mBQ4fV/X+bm2k2kcwcytiAmqQ9V0untVI2C0KdXiIGXzU8pHQnbPtBwKXYF6ZJ8ZOomYmvfgP1JkSCZ5zLQ7YwDea3VfH9BlAiuIvn2B5UYonB1n/D7h80ZeoEC9Dp5T6W07fUpDBhfyhW1BUkRZcBrYlOQ08h+D4LRewck0YtEdeh/B1R2/JK3hQj3EKERrpcj1xZJ4lTrDXMlnfumPe120NzkNzNyaZttJF8zBF+6L/vMt05pqlM3WHNzuxTqN3I9kSGhNSWKSocO1pPLDTy8gJ0ZdGTT1HtpMKQv5+Xq1U5wT76jLjl6Zs/FnDLq0ng3nlOQu3ira5fwe9jE0u2B+2OVoECrWqcyOz+CghlvoZ6IvgwvITKPnFSoGN1UVGJLLf+pPAhUB5bXF5vn6uEwD1lUGZ592YmiXc4/F8r9n2tVwTtSYDUld5oEeKFMgGEU6LnpMLrcbsICx+lSs6q9zMeL40YS9a9KQsUMVavS1NA2NLyLD5J5Ik/fB98NYyhMmBf3GnUkAMJjcLx5TuDgifd/ PcShgrnS Gg4IYk0T/9VtJYhzvaDbIMl1E5dJ7ZzpoNrDlcDcv51SiIEB5AIujTYYshddSqEniq/XeLqwQHlubw87LzKOJ8K4mvlT6Q2tQBW59i45iQ0PmY8XrGCfzlxMpNV+tUXTjczMaM5pbWj5zspWMkHYdxXoxzNzb36A6VyXUVGdHnWZh4C1MJrg3+iv/nuQp0v6cNqbQCp8wC9vM4xspfOfZIoEpt1DSQPrw9zAd/ecfvKW2edDSjOx+CdHM9D+wM+6dkmj2fP4DpaciB2tkVo+WElMfkWkT/jqSif3qVSlxAXl/L2G4ZSnVbWpFD2UvjwrMErotkwQL1P4ZeNg88XosyRnJc2sJg05thz5YT0RknFBXs4o2HmmJ06U+XW2wTu1+vtRhGIuab7cRjUo92RX1HTykocc7cUEMfLnbj8qEH6SM2KrYhi3Z4cMGlJDBQ9McH4sbpTa4qO9hz1E6c87AKZ8BS7Glr5vgKWQsVc7GGHLa60pFfsiSaiefSdFX9RbjvEEH00+kduOE7wY9Pv4ROvR53LTfweOSmhj1iiEqorXxJnFRMTwMg4k2E4TJTya0S6tVeN0Lr6ROCC6lNcv6IfxR0Ze3rG06snu+ X-Bogosity: Ham, tests=bogofilter, spamicity=0.003702, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Reduce the diff between low and high watermarks when compaction proactiveness is set to high. This allows users who set the proactiveness really high to have more stable fragmentation score over time. Signed-off-by: Michal Clapinski --- Documentation/admin-guide/sysctl/vm.rst | 6 ++++++ mm/compaction.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Documentation/admin-guide/sysctl/vm.rst b/Documentation/admin-guide/sysctl/vm.rst index f48eaa98d22d2..d716ff1f37b57 100644 --- a/Documentation/admin-guide/sysctl/vm.rst +++ b/Documentation/admin-guide/sysctl/vm.rst @@ -130,6 +130,12 @@ to latency spikes in unsuspecting applications. The kernel employs various heuristics to avoid wasting CPU cycles if it detects that proactive compaction is not being effective. +Setting the value above 80 will, in addition to lowering the acceptable level +of fragmentation, make the compaction code more sensitive to increases in +fragmentation, i.e. compaction will trigger more often, but reduce +fragmentation by a smaller amount. +This makes the fragmentation level more stable over time. + Be careful when setting it to extreme values like 100, as that may cause excessive background compaction activity. diff --git a/mm/compaction.c b/mm/compaction.c index 4ff6b6e1db2da..f29a09def4515 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -2249,10 +2249,11 @@ static unsigned int fragmentation_score_node(pg_data_t *pgdat) static unsigned int fragmentation_score_wmark(bool low) { - unsigned int wmark_low; + unsigned int wmark_low, leeway; wmark_low = 100U - sysctl_compaction_proactiveness; - return low ? wmark_low : min(wmark_low + 10, 100U); + leeway = min(10U, wmark_low / 2); + return low ? wmark_low : min(wmark_low + leeway, 100U); } static bool should_proactive_compact_node(pg_data_t *pgdat)