From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BB2E42F39B5 for ; Wed, 15 Jul 2026 07:57:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=209.85.167.43 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784102225; cv=pass; b=d30Rxo6lDvQPnSlYZtM4xqREWlkgveqN8eaZlW7Oo1EXs1cL1dXG7P2dkytTgFnbLUpH5XkWzCCkY/XLWjgp8nfGTg3uQqjmhkigVMKLdNN9DjpxusAY2y/ymTmPlqPLxFbnY4WP/3TLWA+qCED59DYifC9WYB1AkJ2qZ5vja94= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784102225; c=relaxed/simple; bh=bnR77IjmgyobyXz1mc+QTv/H0t43OIqlEQTYPonEZ28=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=Yuwb4u90ZkFt/wicseX0C/c6UlBoXPi3jJYZRuzZwR2nZ9VkjAZD9eJ/tEhyQSuFO3K+qiXAHUgpyc6XJmX8JDnGlcsUq6a7r3SPwbDI7AwIlXHFn3gZaIJDHGS5KhlS06eYbq7AwJ3VvAgW3DkRe5BjwQVHgYwJsP1Szsbq9Wc= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=rD0agNal; arc=pass smtp.client-ip=209.85.167.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="rD0agNal" Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-5b020a70f9bso2115e87.1 for ; Wed, 15 Jul 2026 00:57:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1784102222; cv=none; d=google.com; s=arc-20260327; b=NeQkT/4cKWnoQbvCFMke3QVdBDcJ9Qjuj6Cm6BqYVt4UJmg4QiXkiwvCT17yvGTZLU K0uqUPeC9TZTJBeQdzzDVeHH5hXPAqlI7kPPr7HuO9av1M7ic5UvoPiMNbtyNorGOrM+ M58NJxJWnQPxS9j4DxndPtXLG+u8MYA8lHMS4uuKqCEemLHa5nyzX8EUFJgKfecVN02E 2ZarjbOu0Peeq2zWb9GawIF2DbUnVqt4mhP3qiOPBYTvKGN+K8VEKe8PlOBPk1etailQ q0JdfHhu3B0bBrbZzZ2BwfXgia6WJY0o6vK6Il+q+uFPqY0JGxNPTVW/cquKr1IOj0/F dXmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=I9zsaXFo3SSSR6voVNB7ZDkBu2nnpGIVLs5gnxNEP/Q=; fh=3l5OvT2hiQV7I7KyLFMssKF4LuZkzbeC/BLyuPH4Q9I=; b=IHnXINzZTqplw4qq5cd/eMlla4o3l5Gn1iTMPixgUIVG2kUQoYvqpUe68Fz6zr9ewk eqC2NV9eKe/gtcOm4C/goI2JxXfRvf4A6nk+S5fT3HrHdh3g9b421m/dLJ14cjN3C7Ee pahS7w+fPZM+uY6d9XhTSZWnWoQKDPiVSInl822+1Yq+a+geALQNxpkCXpVvBexISVVY xNpHeOAWXfOOY0RrnZGWSakKIa5a2pic7RqEVlaE8NJYueOSt6YDADM2vWAisj/eow0Z +gRMO7jotn6EFazq244kEpt0UAwiS+UEmWpVv+4KJP4TUYI9zrT/RfS6SFn5H2lnlKf8 aZkQ==; darn=vger.kernel.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1784102222; x=1784707022; darn=vger.kernel.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=I9zsaXFo3SSSR6voVNB7ZDkBu2nnpGIVLs5gnxNEP/Q=; b=rD0agNalpmrp+2j5vD+dGDhcGoLLYwgzIPRL9eTMfQ3bWzwK690FZaSd8yZmqVRbYn OyOl4lwzRmsLGwnGDZFkULUxIsBPAdt+SBpYzM6C5GpxH0xHFoTGRf4O0+4Z/3U/YyqZ PdWCUW9ygHCxQSUXrfEaBr4W3lQdZM1+5cQ/+I181A0xzEuLlg0lVv6Ukx5A+bgkekpW Ime8uuHlTo/KrgWrdPMjkd/p0USORAc9qGJQkDvHg+r/xK8P1zEPNZnyleK7dQe2QUa8 tMWjmCO/sjAfnSWTGOgy7Kjia+3b0RiADSjclhhOm4ms+n+pdul0VCMnB9h+ZbMd7xcf IJew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784102222; x=1784707022; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=I9zsaXFo3SSSR6voVNB7ZDkBu2nnpGIVLs5gnxNEP/Q=; b=icKPp5v/1vOpb6qvD5D12iW5mEvLuoz5+S6Sq4dqSjI4dzweV7rnH8HPkXqfSJVDhc 3d4Nr10asKxC4w1qxNpZ6kcMoKHLLXSzcQtqbBXnx6HXm/KepUpynUv2luONUImiZELo zcUGnazxmGY/R4s+x4rRQvO00kWQR9n2fTr0+3dHZxNnbC1Ll6Li+X9evo8Ts8bofMWC NZ43tYg2V/XitvuVtDrvl0NGqmZoaq3QtyjJah6hFuEkRxr0DFPXNEi9wXf5fWPzXl5N a5vROFftK1dpiX1rY11IoF83VKNs5dckseCCRladibHrGBn4+Xj/pTViyQu3/39iUp+m WvqA== X-Forwarded-Encrypted: i=1; AHgh+Rqp2yW6EHz+ta221bg3HH3skvI1ZDK/MYbi+BR8UrT4YTuCfPS0sI5ofDfNYbrrlmPzc50WgFrtIoGolOM=@vger.kernel.org X-Gm-Message-State: AOJu0Yw8IgnfBgeFOqTpUKAmdzNjdHp+DoQQMm70fJOxKcAQTm2Neb9W GgTFVIQj4Bv0KGJbhC1BnNJe3COdQCtRVx9Y5n9w23XTuW5hlkT3gzI4dC9mGEajS3fOCOVOA2Y fKwUflqKgnfal6wsqk7hgZ4qigPwrI4+rZ7uBMOU= X-Gm-Gg: AfdE7cmdqcnuPAt3vQMZMqwvt+xPo3qeJQKz3KIBN4sNdjfzkLMiXh+EAdnq1JsIxuA GOlKrxNYT6XqUdaZTAzOyG3ZYCle6pTo2bE9uz0pu+32qQYaNa6NjoJcnOEsgo+bOtaDaIka9AG CcQNTYmC2XMf/mJ0mLXLWFqY/0qYZpOpHaGRNXxNKYtI0+4SE9531c8JbkMi8nxG8feJoxid3WG 1m7SCLG+9/925/xMgwKVje2313UClDOqoRvVurqnUYSKamscG9g5RDdO96PXAKTJC7GOEa4m2O0 ApL0AQTwV6PO3va2obkTV2DElxKW7qO2LC4xOUo= X-Received: by 2002:a05:6512:b83:b0:5ae:bfe1:737b with SMTP id 2adb3069b0e04-5b155445873mr457013e87.10.1784102221302; Wed, 15 Jul 2026 00:57:01 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20260709072231.3163082-1-richardycc@google.com> In-Reply-To: From: Richard Chang Date: Wed, 15 Jul 2026 15:56:49 +0800 X-Gm-Features: AUfX_my-WkCoocc7SA3mtFCCwQ1hW8RAlagavB5Nw0Yp0S2_AFUIdV28RDay4ZA Message-ID: Subject: Re: [PATCH v2] mm: vmscan: abort proactive reclaim early when freezing for suspend To: Michal Hocko Cc: Andrew Morton , Kairui Song , Qi Zheng , Shakeel Butt , Barry Song , Axel Rasmussen , Yuanchu Xie , Wei Xu , Johannes Weiner , David Hildenbrand , Lorenzo Stoakes , Suren Baghdasaryan , "T . J . Mercier" , Martin Liu , Minchan Kim , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Hi Michal, Thanks for the patch. Yes, inserting try_to_freeze() at that point carries low risk. However, there are still a few issues: 1. As I understand it, fatal_signal_pending() only checks for SIGKILL (via sigismember(..., SIGKILL)). It does not return true for SIGINT (Ctrl+C), even if the signal is unhandled and will eventually terminate the task. If we switch to fatal_signal_pending, a large proactive reclaim task will continue reclaiming until the loop finishes. 2. try_to_freeze() does not clear the TIF_SIGPENDING flag. When the task resumes and continues the user_proactive_reclaim() loop, the next iteration of the inner loop will immediately abort. I think it requires a more complex implementation in the outer loop. Eg: if (signal_pending(current)) { if (freezing(current)) { try_to_freeze(); // After thawing, clear the fake signal TIF_SIGPENDING flag ... } else { // real signal like SIGINT return -EINTR; } }