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 302D9C369A2 for ; Wed, 9 Apr 2025 20:25:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BB94D2800A1; Wed, 9 Apr 2025 16:25:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B683B28009B; Wed, 9 Apr 2025 16:25:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A0A792800A1; Wed, 9 Apr 2025 16:25:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 81B5228009B for ; Wed, 9 Apr 2025 16:25:24 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id A0CA61CCF47 for ; Wed, 9 Apr 2025 20:25:25 +0000 (UTC) X-FDA: 83315635410.01.3C73F63 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf03.hostedemail.com (Postfix) with ESMTP id 4A5BA2000D for ; Wed, 9 Apr 2025 20:25:23 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=SsJ2hwSW; spf=pass (imf03.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744230323; 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=dEQLXEYc0ubNhBaFSh5idrW5M9ySDyOt2jhBtoy2pio=; b=w3fq4ZncV76pgLfLacgqmPXfzyERO0HwtGYyp5qMzdXB9tJdwsT1PU42YNh7E9qR5apAEE iYdRmCSo4SbRASfa2VGLQP4omuWMEVNihImeTPXeiiO9LVA/rdgdJwmRlyftXUuH44Wy5t seiUrAD/VxBf+CF4FeN5kRVxsZ2j+sQ= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=SsJ2hwSW; spf=pass (imf03.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744230323; a=rsa-sha256; cv=none; b=Vq64CbQaU0D3W3aayVX76Qk55rCQHDLXOWlcy2dqyeFJJk0k8v7bklH+f1s1dy26UQzH50 7xBr4+TYpar1YRXfbz2V2iudUeiH+c3DpfMIyWh+59SDPxTKiQJRrNgMwX5n0mxf4KhCTw gQbnSCgw2vfT5lMZMfSMskdKjS+M8QE= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1744230322; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=dEQLXEYc0ubNhBaFSh5idrW5M9ySDyOt2jhBtoy2pio=; b=SsJ2hwSWmpJSZOWTzMepAmsqnrcj8BnmmMe9IxEOrzqYr96JVcZ4ek674dTtXK+S9lub7g 0tvomUTaD6AnDO/luEPsbIIGW6ORxTOfAxAcuVBiYeB7atT2lN23xRHM78TT2Fy1UcAXWo FS8Gqy+fGjKYobQuT7dhNqcDUrsh2co= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-655-CRIcdm9UOS-bHNcRgOJYMA-1; Wed, 09 Apr 2025 16:25:21 -0400 X-MC-Unique: CRIcdm9UOS-bHNcRgOJYMA-1 X-Mimecast-MFC-AGG-ID: CRIcdm9UOS-bHNcRgOJYMA_1744230320 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-43ea256f039so1044005e9.0 for ; Wed, 09 Apr 2025 13:25:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744230320; x=1744835120; h=content-transfer-encoding:in-reply-to:organization:autocrypt :content-language:from:references:cc:to:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=dEQLXEYc0ubNhBaFSh5idrW5M9ySDyOt2jhBtoy2pio=; b=q/TmBhI0hQGpFx9CivDgte3rcvn+UUsTy+mqT/sKFTT1BCQ9O+g7BCUCmXNdQGhq99 6zYM6TGTZoKQ4NCVrwrKVRj/72RNp0/dK6rPgof3sKw6E6SeJI/mLEQNkbEU+Wtm0hN6 p7LfsFHjRBo377OTABYat4/ILw/fFn9YTs/jldoyX8+mrL2v0Y7oT2p5jz4QAQzMxfZt eu0o6okXG0DkpzTmaNw49eqGzRisncj9DGwJBFoie6f9NgKYGRVPjQXyOM3D/dt9hx4A rn1O2a96r8hnl38qkjUQNARCU4nCjNTTWa83bt+lDcg4UB81r+YGXwkvEg3TN+QxoACP kw3Q== X-Gm-Message-State: AOJu0Yy2yJkbyfXNrPqoDj5zhx7/mAuJ1Zd57Vy3ZVOwvOTL05Ty6n1k idGxKF0Pcy60hcf/6cKAXZnluer9igktgtoGRS5vEEp8eYxHBp2cT9BnX2s67n2IyF4CEDf4y/N MEZnCifSByDKyZx4zHYzz6tGjOgz4Sy0YvAlROBBWnQb+1wEb X-Gm-Gg: ASbGncsWAi614yMBzOoY5cQ91rdLEQYLwoajEViMWEN4Q5atCUFCI0AoDcRlaGUNeZF 2MmcU0u7aGsxt638OTiYbsTLXtOnuPfd0377eoPrqkn7Z35PdxlFtUoKaz3R0sLrOhTf0GyWHO5 fnBPE9NVpmtl2w6zhEJvSa+0LIx8eG/4SmZ6dxqsHkBtjcOy21RtlV8mDyfU1SLuOQ7xXbOs0Yv Bh68eAK9ejukibD4iKR4ZY7hCCgOVctETGNrfEMDwie8h9sGeEbx+98M4Xk3pk/YtemErxY4TJW wGNY0VdecPISk47pBJkIPAnjNrwiAofpZFlD8Img9eX1fHQ9JOCtltiH/mF7h474h7vzuzM3ORY 77tlYjDkUVa+NNoUNfeL0F0zZ/HGpI5wMXQ== X-Received: by 2002:a5d:64ee:0:b0:391:1923:5a91 with SMTP id ffacd0b85a97d-39d8f4fcca5mr89534f8f.55.1744230319965; Wed, 09 Apr 2025 13:25:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGwb7aa0vGZfYphUXGrT7UzBVhYPY67/ggKAkxF3k7fCu+SMUy5RtKfga0GRh+ctdIq464Lvg== X-Received: by 2002:a5d:64ee:0:b0:391:1923:5a91 with SMTP id ffacd0b85a97d-39d8f4fcca5mr89524f8f.55.1744230319532; Wed, 09 Apr 2025 13:25:19 -0700 (PDT) Received: from ?IPV6:2003:cb:c70d:8400:ed9b:a3a:88e5:c6a? (p200300cbc70d8400ed9b0a3a88e50c6a.dip0.t-ipconnect.de. [2003:cb:c70d:8400:ed9b:a3a:88e5:c6a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39d893630fbsm2611442f8f.15.2025.04.09.13.25.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 09 Apr 2025 13:25:19 -0700 (PDT) Message-ID: Date: Wed, 9 Apr 2025 22:25:18 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [BUG Report] 6.15-rc1 RIP: 0010:__lruvec_stat_mod_folio+0x7e/0x250 To: Dan Williams , Alison Schofield , Alistair Popple Cc: linux-mm@kvack.org, nvdimm@lists.linux.dev References: <322e93d6-3fe2-48e9-84a9-c387cef41013@redhat.com> <89c869fe-6552-4c7b-ae32-f8179628cade@redhat.com> <67f6d3a52f77e_71fe294f0@dwillia2-xfh.jf.intel.com.notmuch> From: David Hildenbrand Autocrypt: addr=david@redhat.com; keydata= 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 WNyWQQ== Organization: Red Hat In-Reply-To: <67f6d3a52f77e_71fe294f0@dwillia2-xfh.jf.intel.com.notmuch> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 2HEHO81c6AQ9g8w5m_1B-ftcPa6n3Mic1i5mhzBXzDo_1744230320 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 4A5BA2000D X-Stat-Signature: f4b5yk5td1onn7foxxxs5bhr6p5h9f9h X-HE-Tag: 1744230323-164340 X-HE-Meta: U2FsdGVkX1+GnIPyrvPdC5Bb7kjwQZMAQd5VzEY/adMwMG/+KUzBupFiXhw75AOaoYTBJmdP+YnkB0zv05ZO47CfUPEkSJWhv38p2+uHuXeqtyVCzycRzXwRRSOuKK3y3NuhRooUkC+3XEj1BmX3oJsEj6chNIpo5NFc8nD8t5jJn6JaANAjBLRrgOL79kriPIIBpse1naYkkRjDoAe/YECMmnG5wStya7Jw+2iNL32xFp9/XqyrYfzPB8/AuR47mFOpoXKa9H6Frv4td6bAtPkVU7OAJemZJFcVIkSFK3WozRJCmI/INKXV0DqKoHJSszd+3NIqm1lbMfr5Z+WOL2zC6wQxmRkAbGEDigi/5hW3Cp78z/V9LKrcOsuPQ/cIvia45DzxqU08axs0g6hd2SjWV50w4ZGd2OMMW4Wh0TSi080wNAj3BK4tiQZ6u7MJ8xPel6EdtVjYdT1KbNr6+WSoOaHRaSHzrf/gM8UqL8mkPit/zqdbafT87jkcJojCXjA4vpTO1sYFaLeEayqvyzXsZR7ZcVsDfTGa8xYEoeMy/BEreQ4QX0V803rwQUN8tKuGZIs+Y/4l1Wnk0VPQ6i3Q9x90x6JFNuOa9kBSf/XCBAF6OpIE59906Le755kpaPGN7kFjvQN5mt8FUrfYzb8McDx8k0yvR/hpSF97XNQjOdrfbE9fd99drh/xg4c4t2kZZ/Mn409gAd2soi5WyU7xtoINrZ05sZAQNiwOPHPTgcX5QRWt90Buj5MaQDn6gXshzfSVV8utTrrji9dSH01FlcnuYrtFaMPdMT/YCBNpPG7337Km4ldu2sVGQerowixNCTev9EmUhmB9fxMz32/yUWPtAEOo1i38Njlt8bMZzqiwsyN8r6Yv51B7/ommynjsS90PqcAKhl0KrVokL2LxReuLeCyqujIga2EtlMW4cr7j6b68Zl7LMUrtLcvS3rblwpg2OFL8F9pSTtn BdY4ZuV6 D7brWbfOjqDtki73HNOhYlno29Y+yQD4po5aFeCdfLV32m3rLU1TZEkyFtBgA70cIPBntbjv/1qVWpwkAX22cz3gVtmRNPbj0aSPz/cd0rrmIUjZ5COufoiE/zL8AjrzvQJLSf+HhBskL3st6wp28c9HGkxgnB1oH2Uv+JFkKBxwSP/QQHe1cb6AEn58OCwzETl3zJdyLcIp89JOV3ilMaknTYwXinxQQaCRc0GiSsNumHgk/oTGThT4D+90sp3bZ/K7hseA8X+LDKFXz7vLX4kVen0wjyM7SaQHVXT83ufP0fWM4wncpkJSgfDgnb1oRL9EdJcs/LIf5FP+f0S7nPU8IBKpHL5exXZdxn8KveSlpjKZD0HQqNbm3rPYWGkYXCdWrJqrKe1miBWG8GLxGM4tT3VfiibYe8iWeqqzvaJH/t30a0NqubY5NtPp01qDenHZi 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 09.04.25 22:08, Dan Williams wrote: > David Hildenbrand wrote: > [..] >>> Maybe there is something missing in ZONE_DEVICE freeing/splitting code >>> of large folios, where we should do the same, to make sure that all >>> page->memcg_data is actually 0? >>> >>> I assume so. Let me dig. >>> >> >> I suspect this should do the trick: >> >> diff --git a/fs/dax.c b/fs/dax.c >> index af5045b0f476e..8dffffef70d21 100644 >> --- a/fs/dax.c >> +++ b/fs/dax.c >> @@ -397,6 +397,10 @@ static inline unsigned long dax_folio_put(struct folio *folio) >> if (!order) >> return 0; >> >> +#ifdef NR_PAGES_IN_LARGE_FOLIO >> + folio->_nr_pages = 0; >> +#endif > > I assume this new fs/dax.c instance of this pattern motivates a > folio_set_nr_pages() helper to hide the ifdef? Hm, not sure. We do have folio_set_order() but we WARN on order=0" for good reasons. ... and having folio_set_nr_pages() that doesn't set the order is also weird ... In the THP case we handle it now by propagating the folio->memcg_data to all new_folio->memcg_data. Maybe we should simply allow setting order=0 for folio_set_order(), adding a comment that it is for reset-before split. Let me think about that. > > While it is concerning that fs/dax.c misses common expectations like > this, but I think that is the nature of bypassing the page allocator to > get folios(). It was a bit unfortunate that Alistair's work and my work went into mm-unstable and upstream shortly after each other. > > However, raises the question if fixing it here is sufficient for other > ZONE_DEVICE folio cases. I did not immediately find a place where other > ZONE_DEVICE users might be calling prep_compound_page() and leaving > stale tail page metadata lying around. Alistair? We only have to consider this when splitting folios (putting buddy freeing aside). clear_compound_head() is what to search for. We don't need it in mm/hugetlb.c because we'll only demote large folios to smaller-large folios and effectively reset the order/nr_pages for all involved folios. Let me send an official patch tomorrow; maybe Alison can comment until then if that fixes the issue. >> diff --git a/fs/dax.c b/fs/dax.c >> index af5045b0f476e..a1e354b748522 100644 >> --- a/fs/dax.c >> +++ b/fs/dax.c >> @@ -412,6 +412,9 @@ static inline unsigned long dax_folio_put(struct folio *folio) >> */ >> new_folio->pgmap = pgmap; >> new_folio->share = 0; >> +#ifdef CONFIG_MEMCG >> + new_folio->memcg_data = 0; >> +#endif > > This looks correct, but I like the first option because I would never > expect a dax-page to need to worry about being part of a memcg. Right. -- Cheers, David / dhildenb