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 86636C4332F for ; Mon, 6 Nov 2023 19:33:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0EE8D6B0284; Mon, 6 Nov 2023 14:33:19 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 09E5D6B0285; Mon, 6 Nov 2023 14:33:19 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ECF016B0286; Mon, 6 Nov 2023 14:33:18 -0500 (EST) 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 DCF916B0284 for ; Mon, 6 Nov 2023 14:33:18 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id B752EA0833 for ; Mon, 6 Nov 2023 19:33:18 +0000 (UTC) X-FDA: 81428528076.04.E234765 Received: from mail-qv1-f44.google.com (mail-qv1-f44.google.com [209.85.219.44]) by imf26.hostedemail.com (Postfix) with ESMTP id E6CF614002A for ; Mon, 6 Nov 2023 19:33:16 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=XSRiMqAg; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf26.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.44 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1699299196; 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=coUY4R4bHV6GlqkmIzcmtT/lwGgqLzFx1u4qLz1y+oQ=; b=bkGuBfiyyv0rq/n9ijs4kVXdgPhCvQAO/xmyX+mtjcLPD5wpNyJdCRrPdJCBp1JdCQqe4T 8v5p9cR2XnEtQBgye2MP29Bi3gJzpcly59c5MHOl6s46ZdJVlITUgHm5xirN7gQ9VBLmE9 ooV4qpHOLDQh0pfhn+a2NlE7ENCzD0M= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=cmpxchg-org.20230601.gappssmtp.com header.s=20230601 header.b=XSRiMqAg; dmarc=pass (policy=none) header.from=cmpxchg.org; spf=pass (imf26.hostedemail.com: domain of hannes@cmpxchg.org designates 209.85.219.44 as permitted sender) smtp.mailfrom=hannes@cmpxchg.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699299196; a=rsa-sha256; cv=none; b=BsMI7AfPTuzvO2g5ACaF6AKMFiTUQrIdGTes76jnoVY7jlEOD8iEkaJ63ppMhP3df6VZ60 ux9HQXg6dOKAyOzVzjm+CWSvuS8UO40C4GlZAgPbkLEG6ueYK2NK0utsC+301s0YuoBoFt NY7onGcybI2mLXQbOEFgn4v51NjRkO8= Received: by mail-qv1-f44.google.com with SMTP id 6a1803df08f44-66d134a019cso34297286d6.3 for ; Mon, 06 Nov 2023 11:33:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cmpxchg-org.20230601.gappssmtp.com; s=20230601; t=1699299196; x=1699903996; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=coUY4R4bHV6GlqkmIzcmtT/lwGgqLzFx1u4qLz1y+oQ=; b=XSRiMqAgLCcPdDQnTGb/citx7txORJjV+H1H6g0Vw8Vr8SMcnXlnBJX32nBKJiOmmF bZlH7N8WaA6jAQmD33lgw94G1fkJliR3gVQvaQ9O9V2OM3TCLTg4iuUGQRnGpFkgLzgN TFo96MDNgHjRKaI5D5prrNl2jt+NQMMtFjpDv892h3We/uYWURSyXSx00mt2JX7dDS6a qFPVDlHftspJEf74pqZ39E/GedUObPnPWYEwNoMgZc37YdCtqQlxr2oO+Nb8jThcuTEW URVKsNP6oA1QKpt0ukOQgI/4i+vjkv0kMFK3P5ElP6yc0Vn+TiVbQJGuaKlo/W0rfjrK bOUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699299196; x=1699903996; 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=coUY4R4bHV6GlqkmIzcmtT/lwGgqLzFx1u4qLz1y+oQ=; b=ZmZCNKZU/gHuav2k4MqBNL1v8gBK9HREV1QFspiPH+m/P+mhbMv13DlajUlJO9C6FP 403fSD7tARuYbqbms/uH7/Nz42OemU8JoZa1mVaMnvdHeEUVi7bscSYERFGI52ogm4U7 H8om6b8zjnsfQq11o8W8+dFpcJPu5McRQjdRWFqm7FOoni/aR2RW8dDtsLqcJltc5L3H NLc0htZbIb9jMNw9Ak70wvo0a2lR6jgV9ZlzOfhwdQlehoU7WLHxNnGWbWBF+wtPjj6G gF6v8JVIi65DrSMRLC6tth6W9cOS+F0RWO+UU9D4x78QukFkMCZ/sPA24/nXhf67DsJL OCuw== X-Gm-Message-State: AOJu0Yx1JndVrZmLdblK4vGL9ntkb2YwGKSHE40Rwt100hGqSbQYTAv2 6rFp1lI/ViQNAxC6IDeMrXPhKA== X-Google-Smtp-Source: AGHT+IFB4ynFNenu6NMKO6W41ABUIn46Q9P4fziPyO/xQ3FY9qzDVqjEw+VHQZZ3P4pw7Eq4GLK1ow== X-Received: by 2002:ad4:5c4c:0:b0:66d:113e:5374 with SMTP id a12-20020ad45c4c000000b0066d113e5374mr37727312qva.25.1699299196147; Mon, 06 Nov 2023 11:33:16 -0800 (PST) Received: from localhost ([2620:10d:c091:400::5:86b7]) by smtp.gmail.com with ESMTPSA id i3-20020a0cfcc3000000b0066d02f0af01sm3708077qvq.72.2023.11.06.11.33.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Nov 2023 11:33:15 -0800 (PST) Date: Mon, 6 Nov 2023 14:33:15 -0500 From: Johannes Weiner To: Matthew Wilcox Cc: Stefan Roesch , kernel-team@fb.com, akpm@linux-foundation.org, riel@surriel.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v1] mm: Fix for negative counter: nr_file_hugepages Message-ID: <20231106193315.GB3661273@cmpxchg.org> References: <20231106181918.1091043-1-shr@devkernel.io> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: E6CF614002A X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: goyrc7q3ebkd6bddf3he171ep9rbehfm X-HE-Tag: 1699299196-449382 X-HE-Meta: U2FsdGVkX1+87pDZTficD4gwIuRQpsZbdW9ic8xA2v3b0x0PCpOoQhdLFebolcXMfk7s3afVUjWJqm+QigoxHzN0Wp8dJl2H+CvP98MV3x1jhMICqREvJxOqp4YBm/hksOE42hH8h7Pkh3vsvSktXn/C3xBibP9gi0SAfztF3fe7jc5rtdWBCUYdmf8AY2SxpGE+1z83v6O7/ZeSrpx6zuDk4lgSf4o2t9fAR/qS9FCduMPkPc2lySH3gGGtZqKRsEqrXVXR9b2hIIUmlAhjtKfcxw3mn1XP2CFaEaFSd1zhT242aYomMhPq/ns4JgNc50WjHqdcfzqI3hJn8C2CleIB8bKpS8JCavYDuxR8x2WN5vQDJ/kriZiAIcpgGkI2VUowgLW6lCsjAcTBt27iHHs9kRTBjuqNQ0r8YDZpgVi7FZIYWtSXmcnAasoaG8LRm66iFmcPAKzZGs1KRLBbyYoU8jpWtODTMK/86DktDIsv4m21X9unxFf9EK5jKc/MgTn3Z0v1ADnK65x5VaAuFiqqlm0Sv9MJMqb9NQ5QUamIG7yUF8tQCNeLDPGwTdsGlvB+bKUJPKiS+GuRwxasPBkqKcmEY8fwTma57kQjjFhdRoFHNmf1VmOvO5EHGx7Pyy0SG9l2dftCxtzHxxucj7vaT8P10HKobN/bOx8K3bEltYkl2uA542M1B4UDw+3jyQXvuV3Jw8D7o64K9O4H4dKBS258f16WBxwAQWrshmT0WhMpeUqDzF20L2DCMTfTKSfkEEHCHkgF5C1cbWyBNRYqQ/mJKF6l8nMPWQhgsjR+Z4PWtl9xHPwopEgLhhkgfoUbcPwynOp8nTXZy0/eb49XgI90Y/S69lZm7Ckphace8TcoF/LvQJeNc9VpOn4iDs11NCnG9suA+Y+yc0S8vOfft1HQwCvNLAsQs8LdlMZHnruOhVX/7Zs1n8hJkAUDcJuBAyRZr7qpX7VT6qS m4nlYp9O J1zskcIXSbfdEHtQsPdqSjTQog3MOWVkNC6jYEaZ7obXhwgrsaHbzC8K2KgMG7haOz/6Hl7hXfEP3lMcuSImYsvuYYyNRBaCKQE6Wy7Jp2AyUKnJ7GTxupmlAQcNQE16RgMovd3LY21C1UfDhhxKfFCvW9IUjRI70qGKkje4UohoG0wPpeCrRXeIbwE4uuy2XztgDnDIMn7srrcXOzLigzixYhS/VZ9vN6G8+FL1dKv1axE4dtjXzATdbQQ57ApzEkeCyNPPyYEEuK/7fx0VU027lk2qeOzl+q8tk84XWW0sKpFDJLlvZyBNPGygr1vFqyihJWQ4Up1bdjg59ZJQF/0PrmOBLlEWALQdMXOts5dKTGKfKDjDp31jhdInMME6RHHhwXtfAuSVL+/4jpt3gX8bRHuZGBQ9MNmPfkpjVu7BcGASk7sAlFtlVIgfsaMo7c/QgbtnWKLvMJwsiuPt/fjHcjQ== 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 Mon, Nov 06, 2023 at 06:59:55PM +0000, Matthew Wilcox wrote: > On Mon, Nov 06, 2023 at 10:19:18AM -0800, Stefan Roesch wrote: > > +++ b/mm/huge_memory.c > > @@ -2740,7 +2740,8 @@ int split_huge_page_to_list(struct page *page, struct list_head *list) > > if (folio_test_swapbacked(folio)) { > > __lruvec_stat_mod_folio(folio, NR_SHMEM_THPS, > > -nr); > > - } else { > > + } else if (folio_test_pmd_mappable(folio)) { > > + > > __lruvec_stat_mod_folio(folio, NR_FILE_THPS, > > -nr); > > filemap_nr_thps_dec(mapping); > > Good catch. Two things: > > 1. No blank line after the 'else if'. > > 2. We're leaving a bit of a landmine for shmem when it gets support for > arbitrary folio sizes. Really all of this should be under a > test_pmd_mappable. I was wondering if we want to keep NR_FILE_THPS permanently for original flavor 512 basepage THPs, or whether they should account large folios as well? Same for NR_ANON_THPS and NR_SHMEM_THPS. If so, then I agree this should all be conditional on pmdmapped. I suppose the same in filemap_unaccount_folio().