From mboxrd@z Thu Jan 1 00:00:00 1970 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 199A4C021B2 for ; Sun, 23 Feb 2025 06:18:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 67CA76B007B; Sun, 23 Feb 2025 01:18:46 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6050F6B0082; Sun, 23 Feb 2025 01:18:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 47F6E6B0083; Sun, 23 Feb 2025 01:18:46 -0500 (EST) 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 277366B007B for ; Sun, 23 Feb 2025 01:18:46 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 9942B122229 for ; Sun, 23 Feb 2025 06:18:45 +0000 (UTC) X-FDA: 83150205810.17.D9295DB Received: from mail-vs1-f51.google.com (mail-vs1-f51.google.com [209.85.217.51]) by imf26.hostedemail.com (Postfix) with ESMTP id B637C140002 for ; Sun, 23 Feb 2025 06:18:43 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=YVOGfFi3; spf=pass (imf26.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.217.51 as permitted sender) smtp.mailfrom=21cnbao@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=1740291523; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=rm2WlrkuzwDGTG4ZKlQKaiuohgokRfzbvNNXUisHjo8=; b=cOgGRNoynjzNPCKYrIboQgTWefLuS94Wkl4IklDVqkCdO1Y7I7gxb7ePQljkAswVH6mnro fWf7lSo94o7PWmuRkPaCMlQao8tUEd6+VF+W7JuyVSRUU+ZR09SC8YU21zw3uubyfemeWF l/eQNXNb3vZOQmcsmWFo6L4uqePZ+8g= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=YVOGfFi3; spf=pass (imf26.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.217.51 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740291523; a=rsa-sha256; cv=none; b=p46us/RSDzp2IM7cjhlvz5lUetcesnc4IFNYA19r8AmQzVplcLs3UC6XoKzHesEDXOVQ/7 vs90Fnoq+9e5tCH8kgB7pBgSb+n2R3O1AO/vl7MrZ4j2ql6HEUxYUon0HGVCD49/WbA8om UtmyNwj2Npffu0BtHIJckMVPwZ1pBS4= Received: by mail-vs1-f51.google.com with SMTP id ada2fe7eead31-4be74b9de53so952074137.3 for ; Sat, 22 Feb 2025 22:18:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740291523; x=1740896323; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=rm2WlrkuzwDGTG4ZKlQKaiuohgokRfzbvNNXUisHjo8=; b=YVOGfFi3sSwueZPUk1LrNXEicuSKhviHdismdrp+KudUOpm1YKq2JOILC7O6LlJfGK uJ2zjsN2+h3JeRAwulNBT1bZPQsEa7tx81ctCenXXaCTnzUf6fiGivlJ6H4Q0/DZjZDS ZVUmWsXFYUGOkBFSWAZEPoibDtpULEPzyX0PH3uvoRSDTUqYZbaaW6Q5pGU3d/FVsgEk LY1DAfkN8+3VTteZQCJpgzlpn6yIoXxmtRosD4PFhMUf0/TTxZL6brHsKRryOKNDcp9a PxqtPD2IlGEdvVB/NAo2XPDvQDm/LAxg0xe7TI5EDPMZk5An8/j/J2tnJyP8kjEODnNA WTMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740291523; x=1740896323; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rm2WlrkuzwDGTG4ZKlQKaiuohgokRfzbvNNXUisHjo8=; b=eU2fFOFsdYlOCSs9UGGDmvYqSaJOEfaFcTt/Bzn8NVbNkFYbfXriBlfEnHz+l/aqmm aG+lH7gXulUuq7+FtPXBcvZ0R+yy3mYQygYGdZMZm4II9+vz0tM/y52u2h86jT9dhzHo qRBvgvsjjH2jJm0aVBS6vuNYMRaPeqJ9sbxb+xJnfMfla5z5TWPcvcR8dIagJdx7m4lS 7gjgNwXgw+A7PrSX1Umlsnxp4lxW6EDrSIRkC5e18+xrFexI87g7OLix4/q0EP9Qv+rL knuSGOPI1yhezhswDNuuesU2PzGvB7gbCAdWeTPWqOHdhXeVZYX2RwEnuFrkPtu4/OGs SoEw== X-Forwarded-Encrypted: i=1; AJvYcCXpvzAHknJAgYUnxy1Kk7c0bflakIo7zllTAdtN1R1GgjNvFe00JkfAwULf2SID0L9JzOI34OBLHw==@kvack.org X-Gm-Message-State: AOJu0YxXbvcTLCCMf2tqxO/YIdav8QiLfEFsih0/TnKiO6I8B4KBgmYG LqCVvnHG2PH2s1ypWYE3411bUzvldtj7G0oPDqPidDR8JogA+Ew6mcBuvqI7w8EzMw8EBBq0/cg HKWGgKl7rvoNGOz5ub4dVsCm9kMA= X-Gm-Gg: ASbGncsEu4NN9hRLOUnOeINrW8efjcyZwRAaerbgUdXBUHv/Aja0hQbXJwZxoSrqXJk 9oSAVNYUUH1WEiMtu33S04NjYI69zOLmSlNkWkaAVCeC1zOIcF/h6VK7ZU7+l8z17TbnKBqQcd8 8eYcfz2iw= X-Google-Smtp-Source: AGHT+IHISp4xuomFdO4BHEBcxwWp1dQRt7WHd6d6ZvbiiUJHwMtqswJcVoZmnoXJsRyNiMGEwxw68l8mxgPrL2iG5Tw= X-Received: by 2002:a05:6102:510c:b0:4bd:39a6:e98d with SMTP id ada2fe7eead31-4bfbfd6d8bamr5472274137.0.1740291522770; Sat, 22 Feb 2025 22:18:42 -0800 (PST) MIME-Version: 1.0 References: <20250222024617.2790609-1-mawupeng1@huawei.com> <2c7dfa44-266a-4aa6-9401-7528368f171e@huawei.com> In-Reply-To: From: Barry Song <21cnbao@gmail.com> Date: Sun, 23 Feb 2025 19:18:31 +1300 X-Gm-Features: AWEUYZkH5_ZXOoxm3qlTrD04qCBQEWQtOpYDAg0BstFje4D6Jrr_n_ZGpJj_8V8 Message-ID: Subject: Re: [PATCH] mm: swap: Avoid infinite loop if no valid swap entry found during do_swap_page To: Matthew Wilcox Cc: mawupeng , akpm@linux-foundation.org, david@redhat.com, kasong@tencent.com, ryan.roberts@arm.com, chrisl@kernel.org, huang.ying.caritas@gmail.com, schatzberg.dan@gmail.com, hanchuanhua@oppo.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: B637C140002 X-Stat-Signature: tshgmjqgb5riz7decphsj3mprsbzmdz8 X-HE-Tag: 1740291523-962643 X-HE-Meta: U2FsdGVkX1+sDaZhTjfi0eLJxQ5clIKv+cXQC+KzRnZkN0KP8ciZKM0PVvqBJ8KvOKUpKnTb5AHYRbIzTs8cMzR8tN1RVyZEDfvt5SWOvenO4Gqdqk2akVwOokLESUmLYxLU0mu5XHDz8Yw4PHV3+JnRxeo6pha1y/8RD/ER4u9Hiyq+BgMjGAdwmjzihPTACdLfVDnWH3QNihKJyilwYtIgjnYfHFnduw/1G6SonzrUTafUfxnMiK+BAk8//Jny91zzXlA+PtjUS5OMlcIVyecKk/3tjirBqcaOAJAZcJYFAQiY7oECDgRWcVdEz8y0oFCboVGotLHfKxtYx3mFeQQqr2lkIiHmskQr1/1gvZOpM5TTkus0fe7s9MCgtpaOonfY9HpAcTB4G9/QbI6vVR/fXvl+U4nU/giWONTP+TU2RVG2B3+xaSXaOYt7ixkX6rEiBcD37LU0JpFd9ajmM0iggHh/eE+KQO9ZLOt45rWQ7cl8NxrF2N1yoYVWNYEAxrcqiZL5NT1GTC+Wz2JqCmPKrS6jTCAuWqvyTrOBCNSTIk0/9wrjW+bWstCHlAuRPufoPTfhaRAlhvSZEqV0BtJv1OJVgwJOr1wXIjMrAq8jRM5Mqd35NFRl1czAjIbDYyyW79fWLkOmHIHMIMq9z0bkuJj+TWBycN0It1zRQDrC6eYmR4+cw0tNh4L4CN/Uri3tSkB6aGbp9jlxKqINvkNiPnyh7HCj6Ygh4vVRtlAb1ZGWP5mRtFdhmsfgCSUqjeIzHej4KsaoceB/NiLOx7vk89prdVvI1nF0tErUmFyzyIUXSuv9KXOoAzB38fEO173qqpdDCQrSNPhMzRlTG4v9UIQl5vI80gnwlsct/jua3lqwSLrQ+WQwGHh2GkkK14HCN4TynKSxGw4P7JKiDMJYlXYwAYyOnax5Dw5e519c/Svfb9q2o5s0L9QszgwlaOJPvX66q0oP8bgtRuW Ia1YVofR mhKIyOP2B7jwPvuuNjB3K7zqvDMuliNc5O3mUFamIJ5LwHlr72xYaUImFx81Asp6TdSC4Z/j6vf9GJ+fKJc28IQzDfPpiW3Oyp613wYqclYNEY9ddVYk8COR1Av6VtH99+YDkYGkO5Dmp5dlLSVLRkTzMC+QweSZS+X3EI4qSAwEB1CC8NW6UqJnmlhJOydNTO69ja21KCaY1vJRfGyEY7iqLJoELbKwV01JHd1lTCf+7jL9q4B8F/cVX6uwrCzB+K0UIaA81GdnZQeKmQrrU4G/92wXI2m6CV3Fc16caMzRQKxgg9VmvKTKbmfnOPZZGX0gaCQ1Kf4taNj+iXlnDNBlCUdL6wEQAaQhNagQEKzMG1cDvyPb3624KeJN57gX4CETrShoDQyD0EaZWU5pg9WrzKTqRtIBMIxKjj0ZBKCcuBSq8XTZ9Rsn0HUFVKzTld8xe1bEUK0a4WPoOplnENe0RANSjEfdCC6KzUhfZD3ps97KchAyy3fIBw44O/1SYRJ5d0ysFwXQSCZje5qHmUqhFjh9XD4d5geO1BZ3aA0hN6Pe+YEiVB6TkxYI8CmYCyTuCMLuDgAvTVOs= X-Bogosity: Ham, tests=bogofilter, spamicity=0.013273, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Sun, Feb 23, 2025 at 3:42=E2=80=AFPM Matthew Wilcox wrote: > > On Sat, Feb 22, 2025 at 11:59:53AM +0800, mawupeng wrote: > > > > > > On 2025/2/22 11:45, Matthew Wilcox wrote: > > > On Sat, Feb 22, 2025 at 10:46:17AM +0800, Wupeng Ma wrote: > > >> Digging into the source, we found that the swap entry is invalid due= to > > >> unknown reason, and this lead to invalid swap_info_struct. Excessive= log > > >> printing can fill up the prioritized log space, leading to the purgi= ng of > > >> originally valid logs and hindering problem troubleshooting. To make= this > > >> more robust, kill this task. > > > > > > this seems like a very bad way to fix this problem > > > > Sure, It's a bad way to fix this. Just a proper way to make it more rob= ust? > > Since it will produce lots of invalid and same log? > > We have a mechanism to prevent flooding the log: . > If you grep for 'ratelimit' in include, you'll see a number of > convenience functions exist; not sure whether you'll need to use the raw > ratelilmit stuff, or if you can just use one of the prepared ones. > IMHO, I really don=E2=80=99t think log flooding is the issue here; rather, = we=E2=80=99re dealing with an endless page fault. For servers, that might mean server is unrespon= sive , for phones, they could be quickly running out of battery. It=E2=80=99s certainly better to identify the root cause, but it could be d= ue to a bit-flip in DDR or memory corruption in the page table. Until we can properly fix it, t= he patch seems somewhat reasonable=E2=80=94the wrong application gets killed, = it at least has a chance to be restarted by systemd, Android init, etc. A PTE poi= nting to a non-existent swap file and never being enabled clearly indicates somet= hing has gone seriously wrong - either a hardware issue or a kernel bug. At the very least, it warrants a WARN_ON_ONCE(), even after we identify and= fix the root cause, as it still enhances the system's robustness. Gaoxu will certainly encounter the same problem if do_swap_page() executes earlier than swap_duplicate() where the PTE points to a non-existent swap file [1]. That means the phone will heat up quickly. [1] https://lore.kernel.org/linux-mm/e223b0e6ba2f4924984b1917cc717bd5@honor= .com/ Thanks Barry