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 2F287CF9C69 for ; Tue, 24 Sep 2024 21:24:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9AB426B00A7; Tue, 24 Sep 2024 17:24:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 95B4A6B00AA; Tue, 24 Sep 2024 17:24:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 823086B00AB; Tue, 24 Sep 2024 17:24:07 -0400 (EDT) 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 64D426B00A7 for ; Tue, 24 Sep 2024 17:24:07 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id E50B01403F9 for ; Tue, 24 Sep 2024 21:24:06 +0000 (UTC) X-FDA: 82600909692.16.4D3EDFB Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf01.hostedemail.com (Postfix) with ESMTP id 1275140027 for ; Tue, 24 Sep 2024 21:24:03 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Ye3C+TBq; spf=pass (imf01.hostedemail.com: domain of chrisl@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=chrisl@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727212924; 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=cH43rXmZhVk7xUxypO5bMRAMnr7dDoiOyujxTwxmV2A=; b=HINf4K1UUfz4sWJ60xzxK7+5qL8rs5yJ2WO6MgVWpElTijihuudImaeRTkcnrALXFmejmg G3U8yU7nGmJVsDPP+nN8tQ7EMWGnAm8iQkXiTMaWIUkhn10sqP8x1lbEZvQmPgmkhH/qdb p+LfTeE2QUbQmUiOwR7O/dLc6kp0X58= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727212924; a=rsa-sha256; cv=none; b=Xn3B8QCbZhCZEZIhleixKH0hAm54eQ9vNXndbMkqw5KHLdf3Ynfie/JVS7tt/5rUc1YfCP nZ5kgL1TzxSe0zQo1tpKwqNXOYnmtql7Xhle//f9t0N0J2qJdmr0FY8eIoqpAcR4OzPPme 8l4/ng5qaBxKhXssYIHvgaOYUikjl2M= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Ye3C+TBq; spf=pass (imf01.hostedemail.com: domain of chrisl@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=chrisl@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 3A13BA43909 for ; Tue, 24 Sep 2024 21:23:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E71A7C4CED0 for ; Tue, 24 Sep 2024 21:24:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1727213042; bh=VpaCwH0tvpXrXrqkogXmPmUbk2lTJRh3kdaMbA97Y8M=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Ye3C+TBqO2z28f9G+01yXiwDWDNezz/i3gR0S7qXDKT+HUckDoPLS7QkWOp3Kg+vA LbK6pb7/cJYtC5R45U6KsDj8Rwu07zkYYxMEl+3sYj4ZOHTHKDlLmwXfcL850OJ1JM XUE4ROHnfCSOChjWjcYGp3wb8p6y9rene/s8tthh+fIdqUv8YyWpNgKX0yn2NAvYfg 0yA9w1AlvrcbG8l84opfdWTQmgalYQxQ0NarhAMIwHkm61UWQe+xvuf4M53iuN10JM 5Ih831YA7bIApjTiB1YglwVbZbl6JTs+4rckrCGfE6K+fiTlmPsVX9kBkWJoCS0lQJ PRmPV20boLRNQ== Received: by mail-yw1-f176.google.com with SMTP id 00721157ae682-6b747f2e2b7so48123117b3.3 for ; Tue, 24 Sep 2024 14:24:02 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCX2cOoLK5fnvKaxeGX7+CKo4cW+H6OYh6bTgL6AcuitXgd4WKblqQVClqf7Xnl0r6qlQ9tGMobaEw==@kvack.org X-Gm-Message-State: AOJu0YxWIpxYmqudQtar4/RVAaTII9QUFRQXtCjObf7iulHCpmAepH0T MC9W8TdYNyH1iCLHf6Tsv2zmAPyO26lGG/d5RPvEpOw4gXKenayOcLMxiu3/+h8HkMGig8IglAS 0ja6x1G9hgfID5dDyc7nzzPcXiaqTJvYJUiqa7g== X-Google-Smtp-Source: AGHT+IG+4wSBU/xx18St6qUUR5v1Snuoo4O4LMphOaTpEffHhcTiiuv0BSr6OU9e4wyoFlnXXYJtKNh0D27cNf0+7/k= X-Received: by 2002:a05:690c:f8f:b0:6dd:f9ea:895f with SMTP id 00721157ae682-6e21d70072amr8708607b3.12.1727213042128; Tue, 24 Sep 2024 14:24:02 -0700 (PDT) MIME-Version: 1.0 References: <20240905-lru-flag-v2-1-8a2d9046c594@kernel.org> In-Reply-To: <20240905-lru-flag-v2-1-8a2d9046c594@kernel.org> From: Chris Li Date: Tue, 24 Sep 2024 14:23:51 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2] mm: vmscan.c: fix OOM on swap stress test To: Andrew Morton , yangge Cc: Yu Zhao , David Hildenbrand , Hugh Dickins , baolin.wang@linux.alibaba.com, Kairui Song , linux-mm@kvack.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: 8tyqdwsp9g473tos6grtkdtsbfchzrkz X-Rspamd-Queue-Id: 1275140027 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1727213043-461882 X-HE-Meta: U2FsdGVkX18IJolBIz4XmKNpsV93palEqtPO3XWtjvwyeqOti8KIf3iZ8+fRiAvfyxTGBBWISgOQbQZxbfoysVHz9plDo6eo/CZbJ65mWKju8v9IaXA15mQTH1CSyFbKY9tXACob8YU/sXKtouOZWbRrTX2X9VQ1EfzIQC/wQufkvOXKY6hJIyLpfu7ZgbcIyZMnf9gl1Jq971GFPuGBF9AMZlJ46UAAVXdnFEmfIfq/NRJiQJk93GHUr0L1pGuc/3gI52NzTHN+E1wGMlV3/nrj1AouV3Xax12iVyxVYBr8WLG3l7meQbB/vplV2Pe/qGUTXcAS7UUNu2X+poNB8Q5w3CwdjHndKe2/j8gbqaY5jiViNCWKSzfIOInWKMc7PIegT2d99Iq4WWAyRTdJYuKPkwUuTXyxvuCdX3IxTV1g3DDYbGeuhYjUUmvS/KyU4slCZtZ/lNKSJuuX6nEYvZ4PYISqMulcSsBMupJOt9GyLDz9lj4qqVyUS+NkMQRp/m2WEDiC0NJkddcwqH+Lv+B/zaFZNQ8oOTx0oF+HcuAMm8MM/Unzu7GCLIFsVV+IJX2Ik/xC1JE2dYUFBd2LHQGgRkM8a1bRjayaBenBTlDDXalUk+bN4Qgujjo5Uure89Y4l4v1Wx4yEu6/yVKsygScD5/y9ceKL74m082BSyYOAf7O65eVvePnRhCo6r4sgb9HWm+qsgvJjBL1fvLwO49KcC+u+N2pqts3ZsSMfiajfskp7pYGKuwo+pvwCYbHcETC3TQqEvcoY5dCNUB0y9S4Oxa/UmfNaXfjGQxLPdxRjo6r+7/XWojhmeafiEBZC/os1AIYU0W8mABlqDaGeSxrEHvVvn41GCwbeQpPyJvSfCar8FYEt0uych7ZiScM1vJhhegtgHkJ8PsWegL4xWEjo+CiaYJN5tRDm5rKtXhH21AQSaFUOwKuqTOFprm86zbdv8ypzAHdgIuSCgg 7cWVyd7l 9le3bmRphKhBpYDwDDxrf0BkhC1exlttIXMoUZ50f8AF6HZXJEuNIS3aLZI0KHfDToVBLDkf2KN7//qji3O2sM9FqVwQITfoL46/Aj0GI3L+LOB80nIb5XDl/ROeiJUWn6aGqJE4AeCa4Z2fm5mDSFF3pPGElvvFSMPDAAtSBINGRlElsd0T0M6Ol3ZiHD4lFfvnU0CVINcI49SjEkXnpde6fRSXGnTk1PPyzKty2QflNm/WOT001gVY2jVYtaVA+6862uExbuKF0ESwLd8ib6j3ca2dEDfyvoD4uZsMKWWu0BNluioLVowZlQOXJIQBzQ0Zy4S1gzShZXgNznCampthYkLYfk8TRGITC X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: I forgot to CC stable on this fix. Chris On Thu, Sep 5, 2024 at 1:08=E2=80=AFAM Chris Li wrote: > > I found a regression on mm-unstable during my swap stress test, > using tmpfs to compile linux. The test OOM very soon after > the make spawns many cc processes. > > It bisects down to this change: 33dfe9204f29b415bbc0abb1a50642d1ba94f5e9 > (mm/gup: clear the LRU flag of a page before adding to LRU batch) > > Yu Zhao propose the fix: "I think this is one of the potential side > effects -- Huge mentioned earlier about isolate_lru_folios():" > > I test that with it the swap stress test no longer OOM. > > Link: https://lore.kernel.org/r/CAOUHufYi9h0kz5uW3LHHS3ZrVwEq-kKp8S6N-MZU= mErNAXoXmw@mail.gmail.com/ > Fixes: 33dfe9204f29 ("mm/gup: clear the LRU flag of a page before adding = to LRU batch") > Suggested-by: Yu Zhao > Suggested-by: Hugh Dickins > Tested-by: Chris Li > Closes: https://lore.kernel.org/all/CAF8kJuNP5iTj2p07QgHSGOJsiUfYpJ2f4R1Q= 5-3BN9JiD9W_KA@mail.gmail.com/ > Signed-off-by: Chris Li > --- > Changes in v2: > - Add Closes tag suggested by Yu and Thorsten. > - Link to v1: https://lore.kernel.org/r/20240904-lru-flag-v1-1-36638d6a52= 4c@kernel.org > --- > mm/vmscan.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index a9b6a8196f95..96abf4a52382 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -4323,7 +4323,7 @@ static bool sort_folio(struct lruvec *lruvec, struc= t folio *folio, struct scan_c > } > > /* ineligible */ > - if (zone > sc->reclaim_idx) { > + if (!folio_test_lru(folio) || zone > sc->reclaim_idx) { > gen =3D folio_inc_gen(lruvec, folio, false); > list_move_tail(&folio->lru, &lrugen->folios[gen][type][zo= ne]); > return true; > > --- > base-commit: 756ca36d643324d028b325a170e73e392b9590cd > change-id: 20240904-lru-flag-2af2f955740e > > Best regards, > -- > Chris Li >