From patchwork Fri Jan 26 15:25:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yun Levi X-Patchwork-Id: 13532822 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 8FDC2C47DDF for ; Fri, 26 Jan 2024 15:26:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1EF5B6B009E; Fri, 26 Jan 2024 10:26:06 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1A0366B009F; Fri, 26 Jan 2024 10:26:06 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 068336B00A0; Fri, 26 Jan 2024 10:26:06 -0500 (EST) 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 E9DC16B009E for ; Fri, 26 Jan 2024 10:26:05 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id B7292C05DD for ; Fri, 26 Jan 2024 15:26:05 +0000 (UTC) X-FDA: 81721837890.07.508E7A8 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) by imf17.hostedemail.com (Postfix) with ESMTP id E910940013 for ; Fri, 26 Jan 2024 15:26:03 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Jul2xgM9; spf=pass (imf17.hostedemail.com: domain of ppbuk5246@gmail.com designates 209.85.221.43 as permitted sender) smtp.mailfrom=ppbuk5246@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706282764; a=rsa-sha256; cv=none; b=NqVWEGkmu0I+9zgVA8+XhRz0MGaf5ZDpqrEypNodJjk9e1wPxD3K1xncVnQFrfARvdw1cw 2w65r8Rrtecf9Q/hVTiM46VZAYOLKHP+zbsr6M5TtDXwWt2fwdnIYhtJ05rHc2i4/QtV6P j2IWU7+CNTO5onbGDJ5B8Z1ZKlQWce4= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=Jul2xgM9; spf=pass (imf17.hostedemail.com: domain of ppbuk5246@gmail.com designates 209.85.221.43 as permitted sender) smtp.mailfrom=ppbuk5246@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706282764; 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=d7qX8odXPP3RV5R94dRW7ALCQ1ih+UkRr3f07aHV/1A=; b=CVM+RvczNNDx4WU9z3wHKvTZHuvQClbnscnTr8MZTPhVeZDKQhQXDQj+MVBz/9H4cgi2EP 9jIqSHH10t8RLPobtdgUuAGUcwFUPLGBhVlY/h5+YXwJEX4obLIKWrGcK/hzuAqKFPWv7i 4CWAMPj47BUI6HTufHn4w1KBi8X7WQU= Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-339208f5105so646795f8f.1 for ; Fri, 26 Jan 2024 07:26:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706282762; x=1706887562; 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=d7qX8odXPP3RV5R94dRW7ALCQ1ih+UkRr3f07aHV/1A=; b=Jul2xgM9WOyygknKayNIMek8g4wtnQfviDy6DHSSCUIt/aK+S2YG9EhZLRAvAmkaQH hvp9aZqruVHPutzUPBAEcJRHOAZX7ptQSSH0eGwco3dS4BYaX/hzw5y5PjscSln2XQDj LH91JcUAs0aS9Nnmp/U/UCV/91M8276567BKXduZFD3NneEfiQ7ABgHc6+gYWSAXmm7/ 2DlpK3T5OsBhpSsjXMPHB1ONw0hOHu5OBm6BxaQneo1v5rZbr2q9qmyweG73hm8Sj9dU PODlUg/PFfzP1ktR8UxKGcra0Tzcr/X9grYfQybXdb4tLd1ChN4c1+82Ti7tvFX5yIVf 3Gxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706282762; x=1706887562; 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=d7qX8odXPP3RV5R94dRW7ALCQ1ih+UkRr3f07aHV/1A=; b=LiMBQwOL2IJEOfRNSq7SeCqHumCGCojShrIoUMaAjGSGVO6M7nKWKsT8lssY1zfrkh DNFXL4YLrql1Qb49UOaSXCidRDb1DogLH7Xpfzn9sL4Xf2QVs32Gz3XmB+W4PqKgzJF6 CICXNOLWE0O13MHTLv6d8nP9Ihcz+sqpZrjFECKOmM5Kjf9gOHQXCxtRQ1cvZchGNitz 2Gx4l4xRP+LPQAtmEnyIO2PjSUqwIYLpWwIatRJ8vBHjLbUREQYfCNVEZ0uv1wi5hHmb nMjoDSZVtnJTgz6W/KPR4upV3pFcj+nhT3rUXW9rDGXidO2We1TL7muIiyGHUwpbDkdX bZ1A== X-Gm-Message-State: AOJu0YwlpJkv1U6vVsVSVNc+9ng7Pj0Ihq558HEDsxtegqvzxt+5RkkH +Wi1yOUPMhZuWwW2DrNwgJih2metp8emrnKZhG9GRcwkh7MTEp0/ X-Google-Smtp-Source: AGHT+IGUd1ntIzSSZOM958nbaw+cl7tvaX1PK3J+Jvy4OZyxW2iZYeDSUSu/KLNxUg1/+Gayc9eBGQ== X-Received: by 2002:adf:ce09:0:b0:337:cf68:c06 with SMTP id p9-20020adfce09000000b00337cf680c06mr791836wrn.77.1706282762096; Fri, 26 Jan 2024 07:26:02 -0800 (PST) Received: from localhost.localdomain ([212.187.182.162]) by smtp.gmail.com with ESMTPSA id r14-20020a5d498e000000b003392bbeeed3sm1477098wrq.47.2024.01.26.07.26.01 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 26 Jan 2024 07:26:01 -0800 (PST) From: Levi Yun To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Levi Yun Subject: [PATCH] kswapd: Replace try_to_freeze to kthread_freezable_should_stop. Date: Fri, 26 Jan 2024 15:25:54 +0000 Message-ID: <20240126152556.58791-1-ppbuk5246@gmail.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: E910940013 X-Stat-Signature: bfhsa6ujji8kibdj5s9ahs9ptny87d6r X-Rspam-User: X-HE-Tag: 1706282763-159715 X-HE-Meta: U2FsdGVkX19WR2yEPCL40jWTYXefurMwp4n30BqvaKpdJP4Do+aZCGr3485cXUBq9abUN3ugeLn8/eh4OAMJakfWwJh3LOKYYDQRx0m43oxW+rlmOP6YYdQ0jNBzbXQJ78tJPs4KzZGwsf6/5+JzYltzqlc3e2st2euFE90GpVKyB94WZ74SYLnUpNOrW9sxty3Xwts2nZNl0uHVoFuNNLAfgBUXJrJyzRxN+UmuZAkYPJ/4H77etz4vlNi7LJ4JpDY1A+ZS+p2NyUlRCeLaNSOEBm5RM1rNLR3oBgAdh2A05Oo5jfQZY/3aPfIRngKC5AgeHFF98xD3Q71CvAqhtTixQ+rj4/zOf3dqEqh/PSKTsbM4pIY1hlJ7OD9XyaG3Yar4fm85CFLM35mt3HIz73ANkpoYy2o+uvcPamosZPnpREyZUAGKnkbf3/Ban2Lk9bTYj3W5Bi1ExOHgPFCm1O6FQanbtjvoA2XoEa+k50F4o05sob5HR7SwoJt14xR+klIMQqqbBj/HrUBSEVkSFpuvviaE2YlRFwDATcKwYLZ5BRoM/1txQoHkqAgRsPriohyrsTrZpTBkuAm9eRIyHGKXJM2+PbSdnM3Q+hdEy2WeklBp0343iNeLv1Ye63Q8F35OqgM+aPS87CzH0+m+TBPYquck/uwmXNv8KDeedo3qOBV39N7QDoD/XS967R+9RaPkWqdgQIfsm5Lf+re2NR8Nvh9+p7n6NrGsdHZNxDgRx5FPjaVEc3mWMWYCLvhy48CvKlNjMNs1gYUqSGqRF7tdMnMt/Ww2qSUGKb0lPUdYKOnug+MZ0O8Cj5fzlbz0oYK7KvNWfcjABdSrSUE5Ktkew80OLkxXvs8XigHL2KkJCQ3jMUm7B0LLSD+lTyb3JZf6b9tVDYmhuPJi/c5vaBUD85D2bmxJNPTN+G7KbjWHHPI0djBUe9bgDJLd4TFHzNZV+jGfZOWN1tlvnhf Ihi0sb2y yA/bBBwxMZ0oU1v0s/lk1VP1JBkJMU16CvZkfdFf44bVthoyJrO41ij/XlrMdHQafMr3Cuj3ZTFR6eqkqwWQhr4OeezAqEOyBAi5eJFMeZ3FO/4/Ccw4agFpyBjXGXlMI4n9tPHhsobv5JcvelSSZv2JM2MRj72xejIifVMhrMh927OE4l4TxNXJlHfLjTy5ZIb7g+PJyRtrO2alC8qKItWnv2YIcKuDV7gBFHzsbxkOSmJOd9ip1zSZGL+TVBzkyxag+lqg57vEndYK9huiFGHnaEoEJWAXxF0ddfMBD9NAvX0otevc1LYPcehLVB5RVHPGzuTwiRp8qKiz95Pq2VSAAUQwA9lX/8LJwLp6D1xVQiQpYcsVBd0txsm55qi0PGl6kfVKhbw1mth34kU3eGl5QDpb9a7re4xFjF4PoPoIu6sqz9Niyl2NAZQ2jVT+U+xuksN8fnEmM9QkQJquCrzdqnLNvJjOIDhSD3klndgTvtFw= X-Bogosity: Ham, tests=bogofilter, spamicity=0.002001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Instead of using try_to_freeze, use kthread_freezable_should_stop in kswapd. By this, we can avoid unnecessary freezing when kswapd should stop. Signed-off-by: Levi Yun --- mm/vmscan.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) -- 2.39.2 diff --git a/mm/vmscan.c b/mm/vmscan.c index 4f9c854ce6cc..1f139830b26f 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -6796,6 +6796,7 @@ static int balance_pgdat(pg_data_t *pgdat, int order, int highest_zoneidx) bool raise_priority = true; bool balanced; bool ret; + bool was_frozen; sc.reclaim_idx = highest_zoneidx; @@ -6894,9 +6895,9 @@ static int balance_pgdat(pg_data_t *pgdat, int order, int highest_zoneidx) /* Check if kswapd should be suspending */ __fs_reclaim_release(_THIS_IP_); - ret = try_to_freeze(); + ret = kthread_freezable_should_stop(&was_frozen); __fs_reclaim_acquire(_THIS_IP_); - if (ret || kthread_should_stop()) + if (was_frozen || ret) break; /* @@ -7102,7 +7103,7 @@ static int kswapd(void *p) WRITE_ONCE(pgdat->kswapd_highest_zoneidx, MAX_NR_ZONES); atomic_set(&pgdat->nr_writeback_throttled, 0); for ( ; ; ) { - bool ret; + bool was_frozen; alloc_order = reclaim_order = READ_ONCE(pgdat->kswapd_order); highest_zoneidx = kswapd_highest_zoneidx(pgdat, @@ -7119,15 +7120,14 @@ static int kswapd(void *p) WRITE_ONCE(pgdat->kswapd_order, 0); WRITE_ONCE(pgdat->kswapd_highest_zoneidx, MAX_NR_ZONES); - ret = try_to_freeze(); - if (kthread_should_stop()) + if (kthread_freezable_should_stop(&was_frozen)) break; /* * We can speed up thawing tasks if we don't call balance_pgdat * after returning from the refrigerator */ - if (ret) + if (was_frozen) continue; /*