From nobody Tue Feb 10 06:31:58 2026 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) (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 B0A751339B1 for ; Fri, 6 Feb 2026 02:47:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770346049; cv=none; b=IfBVjOSJKNLNyAyf3CUOxX70vQlf7qGmbOIAQ82T2yTZmL5egBjJJBx4diav4DNgx1wTOK721okl2BWoXzt5GfmiidanMFkR7G8an8+gYZhNtcCszpDB9VGMUOZz+AqPS3OISbRAS67u87aESZZ2QG1/VfflEBP6s3t9IOK4FN8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770346049; c=relaxed/simple; bh=ubCPnn+aPQk7Utscr2IvoR7fJFyq8Ko5MRxf0+40FeU=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition; b=gsD6vvwtEfcgEZKl08em9/05R4JQjiD16O2zph4jTU0CUhaBtjsm40SjgZjNZCGxWIoaJp/KMQMWkGU2hxDzRuUetG+/0sDsv1Q4wSS2giwHWRrGiaX6G+AIbNLtsbea43LtzhdOLP/To8zev9yXlrExveZ71TtEm6Ui25NnNSM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=fMWeKVjy; arc=none smtp.client-ip=209.85.214.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="fMWeKVjy" Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-29efd139227so1325715ad.1 for ; Thu, 05 Feb 2026 18:47:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1770346048; x=1770950848; darn=vger.kernel.org; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=ob4om/ZUIH5VDpYQRLmM68bAMoFu+iin3OtrpO9F1uU=; b=fMWeKVjy2YomJgBlLlYvwB/ys2ft1Eyt1HrNgpUQP4+HdVwKJLlpqShDOWHF3m0N2p tprte6yHqQXMZlSTtsSL9A73L1KcaeBaebLMYExR64v7Vbfr9mfFfr5R4YHzCXMSywyk zcZmHI/yASJEz30Yr8zdEH7wXY7SbScOQrLJc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770346048; x=1770950848; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ob4om/ZUIH5VDpYQRLmM68bAMoFu+iin3OtrpO9F1uU=; b=ZKlOKwuI/zorBwD4lfKEX8eK7Dq6Fx1Ylwt7L0doE5NPoqZrY2+Xlk/q56l+zxrXZw wI2el1tnruB46GwR47m3ZWbqLoc0NYeznU4a3rjf9GwNqqAvfRGYw57tTpwAIhLQubwV HwnHY2LjENHRB62kH+GqrFYge8oParE6NM+fAlnZgeDngqdokzw37oMsywSJdxokRDXl qyzSpSRroz28Kdhj9iwz35BBBPdzGpCcz8k8b+IyFef6yk6Gc66l/XsHzTp+kUdzocEu xMWL8YgsEX54XgH+UZnj6F0MAsyvvTbnFtGY4351lakFVK1K9YCDyU2xb4HqYjkyTGM4 vCXQ== X-Forwarded-Encrypted: i=1; AJvYcCUN8bM4gmqr9xY2E8GRy5oh0OMyfsvfITEzhOdPbljTaXcQ0S3ybUwKmYMyNSGSBtzafTn+5aEnLsl4Cyk=@vger.kernel.org X-Gm-Message-State: AOJu0YzJ8njxSASuCeY0CYEaFDxd3huZxW8Hy1IiE8jUeTOSpwsXyzu9 KsCz3ZPMyAGAoqxuf+0btxRaVp8m7P3ZrRYpQ2DC906g5YsLYFXjeo2uA9+H9NpG8g== X-Gm-Gg: AZuq6aLi3FoI+rBympBH5ZII/DT9+ukpbDl/BuG9SP+GBH8b9uUFARZ4EFiRd93N3LF esuk2nvDZQFTYNyrnkd5HwAKaxS/8W5iGfh/9kTnlyKwQz0FkZV1YDIOZP8uscfrQUuR6EwkBvQ SbA/ElTHTSBFXKXoggXTHNO8wPaUilZCB3Ussnx/qMlRXp5ukR4KJAxe81S9/Y9EnEJyI3sBz5W /NDdnNxI8TERPQfQsbjhetcjPwigY30ubUnVN6mH1h2V4Knp+YmpG7OXvTwemtDqABNDNW3CRlP ML+cL+cgQ3XNoI9IcGY7JClkeN7YZbNwft6C/m+Y47tOc4xhaYq4xOfApb57ooa3W6w0gBzScPp mNE/In2IfkD/ikzRoRpud74ZWCTxKZDgslVfCrJx4M+5BOR5REQbbozwRcz/59/Qe9A8lj7/I+J d25C4BD2tcPdbQbMoKV03hXMTeOCezgyiePU3apMJhPonuj324Foc= X-Received: by 2002:a17:902:fc43:b0:2a0:f0db:690e with SMTP id d9443c01a7336-2a95192f788mr12567545ad.52.1770346048063; Thu, 05 Feb 2026 18:47:28 -0800 (PST) Received: from google.com ([2a00:79e0:2031:6:7c0a:732a:f36b:6acc]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a9521c4134sm8184765ad.50.2026.02.05.18.47.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Feb 2026 18:47:27 -0800 (PST) Date: Fri, 6 Feb 2026 11:47:23 +0900 From: Sergey Senozhatsky To: Andrew Morton , David Hildenbrand , Lorenzo Stoakes , Zi Yan Cc: Baolin Wang , "Liam R. Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [stable-6.6.y] mm: khugepaged refuses to freeze Message-ID: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Greetings, I'm looking at a slightly unusual issue where khugepaged refuses to freeze during system suspend: ... PM: suspend entry (s2idle) Filesystems sync: 0.003 seconds Freezing user space processes Freezing user space processes completed (elapsed 0.003 seconds) OOM killer disabled. Freezing remaining freezable tasks Freezing remaining freezable tasks failed after 20.004 seconds (1 tasks re= fusing to freeze, wq_busy=3D0): task:khugepaged state:D stack:0 pid:1345 ppid:2 flags:0x000= 04000 Call Trace: schedule+0x523/0x16a0 ? sysvec_apic_timer_interrupt+0xf/0x90 ? asm_sysvec_apic_timer_interrupt+0x16/0x20 ? wait_for_completion_io_timeout+0xc5/0x170 schedule_timeout+0x23b/0x6e0 ? __pfx_process_timeout+0x10/0x10 ? wait_for_completion_io_timeout+0xc5/0x170 io_schedule_timeout+0x3f/0x80 wait_for_completion_io_timeout+0xe4/0x170 submit_bio_wait+0x79/0xc0 swap_readpage+0x150/0x2d0 ? __pfx_submit_bio_wait_endio+0x10/0x10 swap_cluster_readahead+0x3be/0x750 ? __pfx_workingset_update_node+0x10/0x10 shmem_swapin+0xa7/0x100 shmem_swapin_folio+0xcd/0x2e0 shmem_get_folio+0x237/0x580 collapse_file+0x247/0x1280 hpage_collapse_scan_file+0x26e/0x380 khugepaged+0x43b/0x810 kthread+0xfb/0x120 ? __pfx_khugepaged+0x10/0x10 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x38/0x50 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1b/0x30 ... The system is using zram swap. I wonder if khugepaged should be suspend/freeze aware. Does something like below make sense? Or is the problem elsewhere? --- mm/khugepaged.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mm/khugepaged.c b/mm/khugepaged.c index eff9e3061925..fa6a018b20a8 100644 --- a/mm/khugepaged.c +++ b/mm/khugepaged.c @@ -1894,6 +1894,9 @@ static enum scan_result collapse_file(struct mm_struc= t *mm, unsigned long addr, xas_set(&xas, index); folio =3D xas_load(&xas); =20 + if (try_to_freeze()) + goto xa_unlocked; + VM_BUG_ON(index !=3D xas.xa_index); if (is_shmem) { if (!folio) { --=20 2.53.0.rc2.204.g2597b5adb4-goog