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 A7C91C4345F for ; Thu, 18 Apr 2024 01:39:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 38EE46B0083; Wed, 17 Apr 2024 21:39:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 318286B008C; Wed, 17 Apr 2024 21:39:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 191856B0092; Wed, 17 Apr 2024 21:39:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id EBAC16B0083 for ; Wed, 17 Apr 2024 21:39:23 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 75F5BC1054 for ; Thu, 18 Apr 2024 01:39:23 +0000 (UTC) X-FDA: 82020945006.03.8723BBF Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf23.hostedemail.com (Postfix) with ESMTP id 8F9E1140005 for ; Thu, 18 Apr 2024 01:39:21 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=VbbiaDg1; spf=pass (imf23.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713404361; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=FmFzcHIDhodaRZf7iyyCLecUojTiVoweHmp7N2hAiSg=; b=5g4bBREOoo9LvkmBrHSeTE8B9atwNuFsBySLQq6NfayfozCtHl376BUA9ZVq1kEQvxewEV +oF1TwMImNXBmNX6mdKPiuDLDjlSwNuqvdD4eEtIPBFw31LvGxVOdGf7TjfnehU8jR9IfR 2nG0OfJRHqhY4CbhQFuJi81b3wbKr3A= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=VbbiaDg1; spf=pass (imf23.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713404361; a=rsa-sha256; cv=none; b=plA+zqq0e3jxrnReAqE38Puw76t0rWEmMcwajsfNgXk0g1gTtdDXVHem2+rmHBTdW1UhOe B2bVrRZ0ZeP/8Rd76OMbqpeaixsxjtzqJX1wzwUxWLmLcOPk8zAat5+1Iy2oIHSjE6vs5J HTYSa4poW+XLBy08bETisEPKiIprhU0= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1713404360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=FmFzcHIDhodaRZf7iyyCLecUojTiVoweHmp7N2hAiSg=; b=VbbiaDg18u/znvce30ipjDiz87gyIm5wtJUGwKbT5yeJAzPmHNErm+daD5ZMyPJ8PJgBqF DEILYqVfTzQYYPq6rBdTZYV9BxAycO9GmNqdu/cxHrxPXWbFXb4NEvU0+afN3pCAi0YTn6 9bNq0DAvtv2DClZ16woTj2OZMbYbWJI= Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-301-GO0wXnRvNEK5R-8lhI4A_Q-1; Wed, 17 Apr 2024 21:39:19 -0400 X-MC-Unique: GO0wXnRvNEK5R-8lhI4A_Q-1 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-69b147e856aso1072786d6.1 for ; Wed, 17 Apr 2024 18:39:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713404358; x=1714009158; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=FmFzcHIDhodaRZf7iyyCLecUojTiVoweHmp7N2hAiSg=; b=aXZQXuuSYlBizBw+jTSYF5OIgEbUQtWQQi7b17uyEKwgoiw3aE2GMb3v6rLlzl+bb1 NboHbOw5eTqThMYXcgXsGK8ZBe0WGIfE+bjVJ7bsnxZvURm3RW6NyHln9Luj63W0f+V8 xbkoYfpyIfWqxPIrpWUGOBJdS7HOjlGG5YVIIFTCTGkNu59wfJinGXmvfcT+jtDM4jV6 b5faaK/fjCAUs4Ft1aK1lfF94KEQZOVO3a8Li/Y1rr5+d7iCGAF2Js1vpfxOu8zw9PEa sFoxE0Tl3Ob5xjEACyIdfOhIYEqnpY2MZml28KczcEH83wlzxaEXuzfI30MWyhvUGB7x zyJg== X-Gm-Message-State: AOJu0YxhnaZ49g4Nv0qZOJz8BG0CJ0t1Y6tWt5qkA+HEJkqGcasJdIbJ mu+i1PQ5SW/gVMGO0+MCKz8N64Fll9h5sctFN7aDUdvjDcoVlRC/wxLth7u9t6UTTY+LIDtOiDa HaiyGuqJF2x+0Jt51wjV26NLq+65sRj9FHjcqVXuhmDTysPss X-Received: by 2002:a05:6214:23ce:b0:69b:1c5c:28fb with SMTP id hr14-20020a05621423ce00b0069b1c5c28fbmr1350872qvb.0.1713404358520; Wed, 17 Apr 2024 18:39:18 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEzst+VoT0qxzY7uHN9ZSAXS5GpsjpMHRaQwmEWQAr4SL6aYNGnbRO933Jy1Xs5umEQIbZ1Iw== X-Received: by 2002:a05:6214:23ce:b0:69b:1c5c:28fb with SMTP id hr14-20020a05621423ce00b0069b1c5c28fbmr1350854qvb.0.1713404357972; Wed, 17 Apr 2024 18:39:17 -0700 (PDT) Received: from x1n (pool-99-254-121-117.cpe.net.cable.rogers.com. [99.254.121.117]) by smtp.gmail.com with ESMTPSA id b10-20020a0cf04a000000b006986c3f3d21sm186936qvl.116.2024.04.17.18.39.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Apr 2024 18:39:17 -0700 (PDT) Date: Wed, 17 Apr 2024 21:39:15 -0400 From: Peter Xu To: Matthew Wilcox Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, David Hildenbrand , Mina Almasry , Andrew Morton , Muchun Song , David Rientjes Subject: Re: [PATCH 1/3] fixup! mm: always initialise folio->_deferred_list Message-ID: References: <20240417211836.2742593-1-peterx@redhat.com> <20240417211836.2742593-2-peterx@redhat.com> MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Queue-Id: 8F9E1140005 X-Stat-Signature: qmao8rsmqhabfkqqhxg5z11sesdryx5h X-Rspam-User: X-Rspamd-Server: rspam07 X-HE-Tag: 1713404361-516928 X-HE-Meta: U2FsdGVkX1/S5tdqk7FBzQDTGVhpcPKnSdBWkfE7KE//3XTaohZgjJGdqoGjrwTQNL70t5E3v/upbK6dVrabr6iyabuZeA8voCvXnGgbqn8Pb3PVU5yIu32TxrKJ5XCkca/ALWT9S1zzPSbA+UmSEeiyTTZvZzXxmRD9aI1HzXCxcHM1Pg5ILN7/kK8jaktT0UoSSH3YCodzH9RuRMaBlx9HT/O7/EggDNenQ1nD2TfOWeCi6UamlrxOQj4jZf/JFLdC8bGVdQlxnNT/TlHm+t3Chelny8aCxnqvHw8QNEQgME3vU4bw0DrCbEE4oDH/S0U2j6PuNSmFGFaRAuJ1UxiWXwKY+x/DKw2EN1zCC37CG+vp9pBGUFCREKZYpL8zadFoSrliywl0yEIiFu4tTlkhfrw2JXtTcOUTO+fSZke0JjIffCz+66FA9FGRriKfVUtMfqRqHZs9ujemFppZJ836aVSiwHbZBiuPPjhZm/cyiKvRl+yzoqYoEstvz6u3GElKroJRjeMd2HaAaATmjflWnhbtzahTsvRGMyLRSzDzQn4I7By9ABeF/G9CEwrjTlxF8ACdZZ89UXjUVPdxQIRnDBB/DiM6C/PVB8qE74ERkKdW8FWpRZz7a1vaTalkQbKg5Iwxh4C8YtObzl2+HP4893RFlMjq0REqsfroek2Wv7pQ6rzhTxvPg1WmF+/vTmV1gpOFxk/qXr+usoRX/i0lyJRiWSuviVWtcCcnAJdODT9RIVT/PWvQas/7XyDOX90VS+/ztuhv5HmL4JrfutAmt/8toHSBk2yAPg/RntQqF2kPyStapsQfFj0I3fTsPPuh/pewcv1YpX4U7JfwfH+78OQ65SXLCYnQdWGK7TL3k4RZpYHUognQb9QtOnOBF33RD1YuWUmJRWoL1n3XywUtixyVQ4tiWP5rjyeNXeqFej6fZRORcXsdJjGXo2GTGlPPcucz6xKffASnra0 g5ZrOu59 TNW/gOAfmmH7F4mN+pINa/Qak2bri+4G02tQX2OFgXfCABWsFUL371XbGAUc8qTk4TZaihGuLGb8HINfHhdW3ji+spWgMFLkmqqcC7rCgpoeFHXVCVs5Rk84joHGYqIrEm9141g+RuLkgQHkmtiC4NPZaOzFaUaSV2HYhWEv9UX62JB7Vf7RjmAfndg== 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 Thu, Apr 18, 2024 at 12:46:39AM +0100, Matthew Wilcox wrote: > On Wed, Apr 17, 2024 at 05:18:34PM -0400, Peter Xu wrote: > > Current mm-unstable will hit this when running test_hugetlb_memcg. This > > fixes the crash for me. [1] > > > > Signed-off-by: Peter Xu > > --- > > mm/memcontrol.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > > index 1840ba4c355d..7703ced535a3 100644 > > --- a/mm/memcontrol.c > > +++ b/mm/memcontrol.c > > @@ -7529,6 +7529,7 @@ static void uncharge_folio(struct folio *folio, struct uncharge_gather *ug) > > > > VM_BUG_ON_FOLIO(folio_test_lru(folio), folio); > > VM_BUG_ON_FOLIO(folio_order(folio) > 1 && > > + !folio_test_hugetlb(folio) && > > !list_empty(&folio->_deferred_list), folio); > > Hum. I thought we didn't get here for hugetlb folios. What > stacktrace did you get? A normal hugetlb free path iirc. You can try the test case, I mentioned the reproducer [1] above. It crashes constantly. > > I'm basing it on comments like this: > > /* hugetlb has its own memcg */ > if (folio_test_hugetlb(folio)) { > if (lruvec) { > unlock_page_lruvec_irqrestore(lruvec, flags); > lruvec = NULL; > } > free_huge_folio(folio); > continue; > } Hugetlb does have its own memcg but I guess now it's even more than that, see the patch merged months ago: https://lore.kernel.org/all/20231006184629.155543-4-nphamcs@gmail.com/ Especially: @@ -1902,6 +1902,7 @@ void free_huge_folio(struct folio *folio) pages_per_huge_page(h), folio); hugetlb_cgroup_uncharge_folio_rsvd(hstate_index(h), pages_per_huge_page(h), folio); + mem_cgroup_uncharge(folio); if (restore_reserve) h->resv_huge_pages++; The comment above looks a bit confusing to me, as memcg is not the only thing special for hugetlb pages. Explicitly mentioning it there made me feel like hugetlb can be freed like a normal compound page if memcg is not a problem, but looks like not yet? -- Peter Xu