All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@suse.com>
To: Richard Chang <richardycc@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Kairui Song <kasong@tencent.com>, Qi Zheng <qi.zheng@linux.dev>,
	Shakeel Butt <shakeel.butt@linux.dev>,
	Barry Song <baohua@kernel.org>,
	Axel Rasmussen <axelrasmussen@google.com>,
	Yuanchu Xie <yuanchu@google.com>, Wei Xu <weixugc@google.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	David Hildenbrand <david@kernel.org>,
	Lorenzo Stoakes <ljs@kernel.org>,
	Suren Baghdasaryan <surenb@google.com>,
	"T . J . Mercier" <tjmercier@google.com>,
	Martin Liu <liumartin@google.com>,
	Minchan Kim <minchan@kernel.org>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] mm: vmscan: abort proactive reclaim early when freezing for suspend
Date: Tue, 14 Jul 2026 14:23:48 +0200	[thread overview]
Message-ID: <alYqVPEyZ2ySrdAm@tiehlicka> (raw)
In-Reply-To: <CALC_0q93iheF=Y36SSTg-XCoKgHrhxk88LqcQkDd-O3ymMVmxw@mail.gmail.com>

On Tue 14-07-26 17:00:37, Richard Chang wrote:
> Hi Michal,
> 
> On Fri, Jul 10, 2026 at 2:27 PM Michal Hocko <mhocko@suse.com> wrote:
> >
> > I believe this is a wrong behavior. Freezer should be invisible from the
> > userspace POV. Your patch makes the pre-existing problem much more
> > visible. I believe we need a slightly different approach. Should we
> > try_to_freeze in well defined places in the reclaim and turn
> > user_proactive_reclaim to fatal_signal_pending?
> >
> 
> I believe your perspective is that we should avoid -EINTR during
> suspend by transparently pausing and resuming the task rather than
> aborting the system call.

Correct.

> However, this approach faces a few constraints:
> 1. fatal_signal_pending() only addresses SIGKILL, leaving us to still
> handle standard non-fatal signals, such as SIGINT/Ctrl+C, for
> userspace callers.

fatal_signal_pending takes care of all fatal signals - i.e. when tasks
doesn't really return to userspace because it dies along the way so it
doesn't realize there was a kernel internal signal ever triggered.

> 2. Calling try_to_freeze() deep within the reclaim path is complex, as
> it may hold various locks (such as RCU, page, or cgroup locks) while
> suspended.

True the placement would need to be done very carefully.

> 3. Since -EINTR is already the established return behavior in
> user_proactive_reclaim() when interrupted by signal_pending(), robust
> userspace callers should already be equipped to handle this early
> return.

This is relatively new code and a broken one I would say.

> On the other hand, the freezer timeout/suspend failure is a genuine
> bug currently impacting Android devices in the field. The proposed
> patch safely addresses this immediate issue by leveraging the
> pre-existing -EINTR exit path in user_proactive_reclaim(). Could we
> focus on the current patch and open a separate discussion for a more
> ideal, long-term design regarding freezer invisibility as a follow-up?

I am not insisting both to be addressed in the same patch. But building
more on top of a broken behavior is not healthy either.
In the current state this should be as easy as turning signal_pending
into fatal_signal_pending and try_to_freeze at the pro-active reclaim
entry point which should be safe from the freezer POV.

-- 
Michal Hocko
SUSE Labs


  reply	other threads:[~2026-07-14 12:23 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-06  8:12 [PATCH] mm: vmscan: abort proactive reclaim early when freezing Richard Chang
2026-07-06 12:54 ` Barry Song
2026-07-07  8:00   ` Richard Chang
2026-07-06 23:38 ` Andrew Morton
2026-07-07 10:13   ` Richard Chang
2026-07-07  2:20 ` Yosry Ahmed
2026-07-07  8:04   ` Richard Chang
2026-07-07 18:28     ` Yosry Ahmed
2026-07-07 19:48 ` Shakeel Butt
2026-07-08  4:14   ` Richard Chang
2026-07-08  4:54     ` Shakeel Butt
2026-07-08  7:24       ` Richard Chang
2026-07-08 15:47         ` Shakeel Butt
2026-07-08 16:03           ` T.J. Mercier
2026-07-08 16:51             ` Shakeel Butt
2026-07-09  7:22               ` [PATCH v2] mm: vmscan: abort proactive reclaim early when freezing for suspend Richard Chang
2026-07-09 12:06                 ` Michal Hocko
2026-07-10  3:29                   ` Richard Chang
2026-07-10  6:27                     ` Michal Hocko
2026-07-14  9:00                       ` Richard Chang
2026-07-14 12:23                         ` Michal Hocko [this message]
2026-07-14 12:40                           ` Michal Hocko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alYqVPEyZ2ySrdAm@tiehlicka \
    --to=mhocko@suse.com \
    --cc=akpm@linux-foundation.org \
    --cc=axelrasmussen@google.com \
    --cc=baohua@kernel.org \
    --cc=david@kernel.org \
    --cc=hannes@cmpxchg.org \
    --cc=kasong@tencent.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=liumartin@google.com \
    --cc=ljs@kernel.org \
    --cc=minchan@kernel.org \
    --cc=qi.zheng@linux.dev \
    --cc=richardycc@google.com \
    --cc=shakeel.butt@linux.dev \
    --cc=surenb@google.com \
    --cc=tjmercier@google.com \
    --cc=weixugc@google.com \
    --cc=yuanchu@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.