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 79D53C25B79 for ; Tue, 14 May 2024 21:28:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D56C18D0050; Tue, 14 May 2024 17:28:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D06628D000D; Tue, 14 May 2024 17:28:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BCDAD8D0050; Tue, 14 May 2024 17:28:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id A04DC8D004F for ; Tue, 14 May 2024 17:28:28 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 3870F80141 for ; Tue, 14 May 2024 21:28:28 +0000 (UTC) X-FDA: 82118290296.08.ABB43BB Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) by imf04.hostedemail.com (Postfix) with ESMTP id 5C1024000B for ; Tue, 14 May 2024 21:28:26 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=l02LjReo; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf04.hostedemail.com: domain of shy828301@gmail.com designates 209.85.208.46 as permitted sender) smtp.mailfrom=shy828301@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715722106; 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=eS2rhGpY5r3pjUZRE//h/6PnRia7SX4QGvgiH8032Rs=; b=1RF+unrq+HRRmj/qbReaTFYhW+d79p9Y5u8q3l4FMJJGdSRHLOV1Gldl3EUPy8AyLPHuqt chouT4Lhs/fem/zDyUd9qzc9NyL5AkCRqBQyWkdTcwDYTDYlIhX3LjGxnl9yW7eUGNEGZ5 Cuh6fopKQo5KclE2tytezS1ASxKSnPg= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=l02LjReo; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf04.hostedemail.com: domain of shy828301@gmail.com designates 209.85.208.46 as permitted sender) smtp.mailfrom=shy828301@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715722106; a=rsa-sha256; cv=none; b=Lj8RlB5/bW0yVJdbS47V8tfxoMZ8B6ZGI4TCgzTqp+1xzKHDDqAHDndHIRJsV8oOoL2xUK 20DaolcqDFhCYjokrRTM5oD8VKpfIUZWUbw8BZRwq0HgE1mo3zdtVA73ksdAS+1zI0xmYH PLWum6vj1LsXamXn/iniPp809MRs5Yg= Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-571be483ccaso824885a12.2 for ; Tue, 14 May 2024 14:28:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715722105; x=1716326905; 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=eS2rhGpY5r3pjUZRE//h/6PnRia7SX4QGvgiH8032Rs=; b=l02LjReo1m3CY2i3fanYsYi6rmpxcuJndRH2Umk9HXNQ8JFCVl8raKw2Qc84CBtFGG 4iwRhXQKy5J2Uuivuysl6lSUGqgfyOZMGy9v1sRvRowaNTTd2qNY1OjwO0n0juoDPaTA wc+diKIvdLoqNE6cw2ed4G2kU/UFuXqKC5Vals1UUBkFfIRvunHfMFA2tOa7Bnd98eFj aldm9e8a+kvM8Bq2ADXWF8MAI8MqyTN9/qjNsA/x63a29/ZvAzkjIFsoqlMGD8rPDOwi luSvDpuw6bcUL+vb9SrUdjaiKl04R0QzK/y0LqI0YwnrcEzNc4asrusjGkM9Mw0CzF+Q fmsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715722105; x=1716326905; 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=eS2rhGpY5r3pjUZRE//h/6PnRia7SX4QGvgiH8032Rs=; b=WH1zgJR78ycT9wipNmD5AAcysuucjzcL4fNzW8ZakMBDqwPknKxVc5sLkxRt6VQqY7 fon4rlTrzXqP9inghQH1xxAynBO78Q3/MyOQX4g3agNLhU9ami6lCtIp+vRMabCSKrgh wQhyEsilVYHnHkOj2b5ajrXLtRs5pSM8fYsNrzsWcHbLuHvPCj3GuI5mh/0+2p/+QQaF dlu2fwuf/y9Sk1B0tZhQDf+4zplkCrh/HLPdOx9JMfjuSu3eUIauN6yrWZc0tF7ryNds fFjo7Dm8cbYR4ojtds2jjXl7JYy8Yc9dYkRg6Bs/c3IebLUZR6YUgBf79HC2uOIQ1CeM Ehsw== X-Forwarded-Encrypted: i=1; AJvYcCXOB6zDezswyI7Jsd8v/dVuozUcc1jyq69wTLoT0k7yeA7At675g75j3Yp35kD+j87IIfP8BfiIZ3SOcvNQ1qSf0ZY= X-Gm-Message-State: AOJu0YwKNZzehHP9/FmExEbRJoSNPmF6p2ZXeJYgW7QmALXlqv8hqQLN 0ir7whjGccPHbomCocpdR2tVfu+nXz/ZzFUYEMEOnkaKdNXDn5cT1qOWvLUo4gea9bMtyA3kh1b IccSdyDxuS0rL3nZgsTjVS01lzoc= X-Google-Smtp-Source: AGHT+IFJ4Hbx5jNuAI876QYUFP8wMd6M526tTNZKhnNeAWEpQY2GtrlLOSk2WZPmg5O+fdDOFb47pNOjaQYwYarHfyI= X-Received: by 2002:a50:c30b:0:b0:574:eb80:3305 with SMTP id 4fb4d7f45d1cf-574eb80345fmr1518586a12.11.1715722104503; Tue, 14 May 2024 14:28:24 -0700 (PDT) MIME-Version: 1.0 References: <20240511035435.1477004-1-linmiaohe@huawei.com> <20240514141439.55fba39c81c1af55c9a100e1@linux-foundation.org> In-Reply-To: <20240514141439.55fba39c81c1af55c9a100e1@linux-foundation.org> From: Yang Shi Date: Tue, 14 May 2024 15:28:12 -0600 Message-ID: Subject: Re: [PATCH -rc7] mm/huge_memory: mark huge_zero_page reserved To: Andrew Morton Cc: Miaohe Lin , nao.horiguchi@gmail.com, xuyu@linux.alibaba.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 5C1024000B X-Stat-Signature: so9cwfrij9mozkzjisq5j387odc8r3pb X-Rspam-User: X-Rspamd-Server: rspam04 X-HE-Tag: 1715722106-56632 X-HE-Meta: U2FsdGVkX1+6XNrKqQdg582aHPPg5+Tmn52N5kcHOo3pJ8CAcIqPGlhx1cPZBhBzwSGZ9wSrpo3BODYqtBJoZFy4RzpfL/P35dmSYx8p1X82RsEGy9VZ/hIyyQQgrVkJjjHQWTDY3LOjQMBuOf2ehXsYD7o0nINcz5VPkEeLV3twVm1ydEugVPXC1/w1w+YuyODwKSbTLZc5UF8CPnJbtdFFacdOs2je44I3KTGAt8hQ7RQMXgSMViTAKY8pKhlIKfPxAEvyXJxA7h3jxHwVQFGXhVD0U5+scWtsNIXrVDqkyv3PJ83mLgDMAp/M0iV8SRydnp25eDZw75QIt8R9DtzKF6AKbDc2DhKW02iZLaE8zQlDvAxuItV3B+p8mWLkOv8cROrZzzncoc35FcVyagSG78ORJd49HWrXzcAJboxBquJCnfn4yNCMajNh9i2SHfw8GtCCNgloCEQY6IhQMxpe9Yum+yf2kAJw70Ch3I5mddnk5nfNdBHtCp9VCLtJWayz0ISSJ0MkL1JPO1i8EOMzCZx0OeNn30TWUGhq1roWocqlhNBtn9qNsSJ0yRJcTzl9e8pYYvcdyrlAx2IcIBvTQmptTKMUAJCPy49KXEhHdah2lmVSm5py9uCyEgFZSQuhFFkLsXfQzv4hgrSgKACGd9H5057zwU5LDcfm5Hxk+aiv7kbtuwkIS670dm02BEJQpRiKTQLYnp5maEL+7cJ9Tcbna69bdRoser6LddGGfhuTcttHBRkIjxCjuDl4OaCPi3Sk07PP7cif1RQL3MUwQlO/Kbt0nKBluRvXZa8bJMqCArJTjskwRusHIRLoKiWeMEJ+jPQCYXNd0hHffpLgMGWqdCV0H27RHvzgUc4NjqcHUgryz/kBRynqV+gtGzSa/RtUr+cOhY1luhuC7cYQuVj8MdmVUZSaDcTBzBvylSIXEABPvUcdfQkdcbqTUUvvYFLQq6Bq+UQRKiW AcAuVYgi R9cnqVm+wIVCBf/8bMi60F2ExBm9Q+PqI+4PhxkWIE7mm6WX3zoGVFNAtX+6vTj/SdA8aipSy37feQxiiF9IGaGvP78hVNCBqUKygsTik5Exd+MBOPICiQHw5l4Mjz2w5N0VEiU1lUzQV2MQOX4AMUUafccxTWBKyvvQNBNhxIkH+2GSsfYXXyWcgzC4PihoT3imHtYagaZjswnY3Xmcv/yQvhyGet3R1pfZhEASB9ApVasE5G2sDCngMOFYuvXfmiAb54V8vDtWnKPGMmSJc1kJ9tKGBAydZiNgD5TKbsiES2KxEGvzrYgJr4z0nXHDCYw+HD5Zx8VFJo6KXwbthZ3mwuMkx7buL9ocykcW8SSeq+hcq+9DqnfmU/Ix6RUwYvk0P2+jSnv3eIXZqjWa3xLpcG+YbUv0wg92SOkU0macyPkZFrwpanQmsYrIrCKYJIPH0rYKji2wc4mMJPwJzkSKOBS2PSZU6Dv2J9xdQq1i7LzI0B7DbLDO+3jyEVJh+65LZMXm48Caq6UDrV3SeEJJptviMaSU+lXGt5gqL4F8e+usYwEp4zg+IU8mIBTj3YxMkGN7XSRuzXe3Z7WSc4zS8dPRHOjiK9TetQtWM2WrQ9Gt8rELDhbkvjl5OgMZBPx+FcMwE61d9D8F5lexU9bskhliE/b1eCu3XLaYero0vvDYpHKi9ie7ciq284m76pKBo7bLq/JN6EEkCZ8Gw7aDC/nyDRRPooiJN1M+kOqmgVRI= 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: On Tue, May 14, 2024 at 3:14=E2=80=AFPM Andrew Morton wrote: > > On Sat, 11 May 2024 11:54:35 +0800 Miaohe Lin wrot= e: > > > When I did memory failure tests recently, below panic occurs: > > > > kernel BUG at include/linux/mm.h:1135! > > invalid opcode: 0000 [#1] PREEMPT SMP NOPTI > > CPU: 9 PID: 137 Comm: kswapd1 Not tainted 6.9.0-rc4-00491-gd5ce28f156f= e-dirty #14 > > > > ... > > > > --- a/mm/huge_memory.c > > +++ b/mm/huge_memory.c > > @@ -208,6 +208,7 @@ static bool get_huge_zero_page(void) > > __free_pages(zero_page, compound_order(zero_page)); > > goto retry; > > } > > + __SetPageReserved(zero_page); > > WRITE_ONCE(huge_zero_pfn, page_to_pfn(zero_page)); > > > > /* We take additional reference here. It will be put back by shri= nker */ > > @@ -260,6 +261,7 @@ static unsigned long shrink_huge_zero_page_scan(str= uct shrinker *shrink, > > struct page *zero_page =3D xchg(&huge_zero_page, NULL); > > BUG_ON(zero_page =3D=3D NULL); > > WRITE_ONCE(huge_zero_pfn, ~0UL); > > + __ClearPageReserved(zero_page); > > __free_pages(zero_page, compound_order(zero_page)); > > return HPAGE_PMD_NR; > > } > > This causes a bit of a mess when staged ahead of mm-stable. So to > avoid disruption I staged it behind mm-stable. This means that when > the -stable maintainers try to merge it, they will ask for a fixed up > version for older kernels so you can please just send them this > version. Can you please drop this from mm-unstable since both I and David nack'ed a similar patch in another thread. https://lore.kernel.org/linux-mm/20240511032801.1295023-1-linmiaohe@huawei.= com/ Both patches actually do the same thing, just this one uses page, the other one uses folio. > > To facilitate this I added the below adjustment: > > (btw, shouldn't get_huge_zero_page() and shrink_huge_zero_page_scan() > be renamed to *_folio_*?) > > > From: Andrew Morton > Subject: mm-huge_memory-mark-huge_zero_page-reserved-fix > Date: Tue May 14 01:53:37 PM PDT 2024 > > Update it for 5691753d73a2 ("mm: convert huge_zero_page to huge_zero_foli= o") > > Cc: Matthew Wilcox (Oracle) > Cc: David Hildenbrand > Cc: Miaohe Lin > Cc: Naoya Horiguchi > Cc: Xu Yu > Cc: Yang Shi > Signed-off-by: Andrew Morton > --- > > mm/huge_memory.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > --- a/mm/huge_memory.c~mm-huge_memory-mark-huge_zero_page-reserved-fix > +++ a/mm/huge_memory.c > @@ -212,7 +212,7 @@ retry: > folio_put(zero_folio); > goto retry; > } > - __SetPageReserved(zero_page); > + __folio_set_reserved(zero_folio); > WRITE_ONCE(huge_zero_pfn, folio_pfn(zero_folio)); > > /* We take additional reference here. It will be put back by shri= nker */ > @@ -265,7 +265,7 @@ static unsigned long shrink_huge_zero_pa > struct folio *zero_folio =3D xchg(&huge_zero_folio, NULL)= ; > BUG_ON(zero_folio =3D=3D NULL); > WRITE_ONCE(huge_zero_pfn, ~0UL); > - __ClearPageReserved(zero_page); > + __folio_clear_reserved(zero_folio); > folio_put(zero_folio); > return HPAGE_PMD_NR; > } > _ >