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 3DA3BC54E94 for ; Wed, 25 Jan 2023 22:09:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AD9846B0071; Wed, 25 Jan 2023 17:09:54 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A89726B0073; Wed, 25 Jan 2023 17:09:54 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 951826B0074; Wed, 25 Jan 2023 17:09:54 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 81C896B0071 for ; Wed, 25 Jan 2023 17:09:54 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 423F712069B for ; Wed, 25 Jan 2023 22:09:54 +0000 (UTC) X-FDA: 80394714708.24.1FAA608 Received: from mail-oi1-f174.google.com (mail-oi1-f174.google.com [209.85.167.174]) by imf24.hostedemail.com (Postfix) with ESMTP id 8F98718000F for ; Wed, 25 Jan 2023 22:09:52 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=bVaFXLYb; spf=pass (imf24.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.167.174 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674684592; 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=MH+uehTDV7kz/MTGcyymtgii9sBR2MngkUK+puzbRUo=; b=tg/kMD+zzpmnndXShJCQluDSHFcbUgWS/ERd8bCY62Kol6FPCSMjVk//1yFHCjMYlsG9iS X/COTAT6/cIJZVcpmuxMpFchmlwzcNgDje/xD94EPXzgbDdqA9UitnCfuuHCY7sPYmkPi3 SxOOM+CQ70b6Mq1R8mM5IZ0q0iun7E8= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=bVaFXLYb; spf=pass (imf24.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.167.174 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674684592; a=rsa-sha256; cv=none; b=NQ5LX0y7ZzG6sMfv9k3+Pf/N1qeGh7JDFnrUanpaiSoTyFw0bdcXptpM6WWIeCR9NbHrGU pKJA/HnYj8WSwMrnNiq+zL6c7lJKX3LRtlvugsgHtchjzdb7gFbDCrn6DXpZUNg0MhXkhA BxPDX6A3r3AXY2EEDckEodkRRGhXWw4= Received: by mail-oi1-f174.google.com with SMTP id i5so17578011oih.11 for ; Wed, 25 Jan 2023 14:09:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=MH+uehTDV7kz/MTGcyymtgii9sBR2MngkUK+puzbRUo=; b=bVaFXLYb0tT7c5CIHgg8Nyiv6dvz1JgsjQObGkP4vooWo/wiVUrsFkE8wD3uTVVnkP Vcb1Q6/idpM0WM0sCeW2wysod5Rf0L0XeqYD6QUeETKn5i2/K/tAMk9HNxsfX5DS7SOO lAXQmL2w+OxWaJnloZIyIV692hrMqy41t+2OsRSzcKpWXnxntTA9YduR2F7/YMRQh1LE CdWi0p0GqR1QZF10uZ7EnjG3P2VH3m4nPZ+tSw/1iJvpnryawiP69DJqEC+cLPHesyDR d8pCPfRpc6Cz0DDzb9lvpQeuyZogCLVtmapVbFxZ8NNseActPk583Ycom/osOCJvIxDX /KPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=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=MH+uehTDV7kz/MTGcyymtgii9sBR2MngkUK+puzbRUo=; b=ZsqokE7gcxFrA/kkjQVITZ85RjiTvIq6OlBb6nlNDVhmuzPucnI8nJR+FoVuNWglHa SrhQlyQO2I+CDxQQg4DHHqE7s8J3IjJEcVXlPruPrOTu8B2xj8sBGmIa6LI63HZ67UPf u1cu1O6H/nVj1Sv3TwmoPXO42nfpv9sMZh6bqcIKD0Ufq0K29tLPCH/vdHCycOZgbFcx dRs3hGSDbox0S/6UZs4HLKI6R8IbaUEqAlGeamMczjyA1/LNDvyx7MnMBuF0OM1r9/8y I+zTpHiN/35mfVEelKnnFRIydU+jBTp7sWJ+CXigH8WjEtaonr4bP3q+OL7ymlBoh4eD cIgg== X-Gm-Message-State: AO0yUKVamQ2mZSxM1EucBTs2rT0t3lyUjk9gKiHWI0rMS9XPzJ51bEfN 0D5/h9JB1PM48OpoEYTyx+HWM9YZWbSJc6vixfg= X-Google-Smtp-Source: AK7set9hc+RYBpFZVbWsJof+toQKzFpoBhxMc29uic0ru74K/P9h8ToMg0mTgQmo2iqKHbPzbcSOG4IjmisZ2J6DwvE= X-Received: by 2002:a05:6808:8e7:b0:36f:9df:9343 with SMTP id d7-20020a05680808e700b0036f09df9343mr282474oic.112.1674684591554; Wed, 25 Jan 2023 14:09:51 -0800 (PST) MIME-Version: 1.0 References: <20230124012210.13963-1-vishal.moola@gmail.com> <20230124012210.13963-2-vishal.moola@gmail.com> <477bbc1e-a60a-cfce-d31e-0b4bdd5f6429@redhat.com> <526e5156-6c4b-9f2c-1637-2f83c1dfea1e@redhat.com> <53d86764-d155-8d97-1a4d-7e701848c950@redhat.com> In-Reply-To: <53d86764-d155-8d97-1a4d-7e701848c950@redhat.com> From: Vishal Moola Date: Wed, 25 Jan 2023 14:09:40 -0800 Message-ID: Subject: Re: [PATCH mm-unstable v2 1/6] mm: Add folio_estimated_mapcount() To: David Hildenbrand Cc: linux-mm@kvack.org, akpm@linux-foundation.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 8F98718000F X-Stat-Signature: boc9nkr9tkhomcmhk3jpymigej5hibk4 X-HE-Tag: 1674684592-937508 X-HE-Meta: U2FsdGVkX1/qeskm6SG90kzNhXZPYJPgP5SyAhKrcDpahs0X1WLPvSeHEJGBg/raLWIDSFTV0RGmlRtNFHAxo6ClFuQED/8vnP8y73Niygv3KBAaPyg0uI2Fn711+2GztR9wpqouCA9AUoVYhG93F+3q0hdT3P6Is2AScop4sIglIVss/xyoN7J7c3eYXY6dN5L1QhfoIbuhL4emtL788vyM1TYvGm7kVtxXQ1Qzm/jU9wGtRIoyhl9a97/iOvMxIgr7yesM3pt1mYa6jiRiQiEob+OUvfZ1WUnl/nRUhWuRSG92pRbCVYVSF9tXLH93q7vbCK3JIp7uaUEj6Ij4LbmaNPCKmsbuMRziF5xirOekKp7qlfNcJ8DZOztKA7pBcdto2ESjzrVA0Nso6SqwjQMx64jtgxc8V5tiOgDTZk/0Kq4PURVg3KbeUM96/6zeuXHIqaNvtv40CjoZuQTVZerVwYONRS2/H+DeHWoW3nOFtoHY+ZisI1QkayaYOyoLJ0Qms9CMm8vkc+ofPVYjFD98mFy0hMvrWzg1Jfd9lQKfJL7ub7fvrqIXsjuPqATXZdcvWDrlHolNhKdJ9SL2a848qRfRquinjVKGy8Ock2VNFKkx434DjfkF+Vsm9W3rHZRajN6aFRjbNBU3vswUF1zRJelziF7e37W6CpdS7lzXGNp4zrWOhO4wQ3ZcE11wgcc8/szAX4aGsns9nAGHAH7MfCtji15NrVo/t7UBmLsBJ9tvsk2TrzmpDlWKrcPh5I9dftl9H0cGx7GQBse7wQjLl5JpU/AMFOn5r927tDf9jewMcNlisSABJ3WoRxywTLU0xfiPCSVVYLVXsybM5Yz/avZnjGwY6KBc/48sfrL9mAqQXiqMmP8f7gmndd7TfY7zFsXaMabp4mbSxzHte4bDoGV45tYFAXaeoULLvb+oNg54ZYgWKFygyrkBNw4yQOEoyaK9LbEEKpP/jtK +KEVycZH /Vb61AQWfIglamp6cCDHYpAUcxBCvCg8mIkZj/UdXThT5DNkNFIEJE2v4PuQ4KR1xdqk78tg7xh5AtpZLyH8ELTcnKE7efvfIdA7HIKLpqBT8DULfeLbW2N/8GGfVfocpwJyRlnOQ7n1CtwQPEu4NBGvcdM2XiauIx50UlhQzGv2bvBO3PxXjW/rbEPGZ3kQOkq2r+07B2nTAl9NeNgtovnsugZi31z1O2zT2mMrMV9U5ay6pLIpvDn0fNmCf1MVPSo3LwvSMB311a/x93+iWY5hGA3XQPT4GoVewsZH9Ad44DpqaaCZYI8LqyPjeBfiXXtjUQw+YL++5cwerbieJcrBBL2yy9PY5JlLM6A9ZG4okNQ46pZh8G1FBh1GNv10fypNN8RHWstT6Xyw8mmfm/z8Ap/jkxVJm/1/HUwLd89cjp3xjhsjx22Yh+Qbj5isx1yRCK7LPnpalhtVLOeVDkbMjLFXslRl0YbktxOtr5dNHsQk= 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: On Wed, Jan 25, 2023 at 1:29 PM David Hildenbrand wrote: > > On 25.01.23 11:24, David Hildenbrand wrote: > > On 25.01.23 11:20, David Hildenbrand wrote: > >> On 24.01.23 02:22, Vishal Moola (Oracle) wrote: > >>> folio_estimated_mapcount() takes in a folio and calls page_mapcount() on > >>> the first page of that folio. > >>> > >>> This is necessary for folio conversions where we only care about either the > >>> entire_mapcount of a large folio, or the mapcount of a not large folio. > >>> > >>> This is in contrast to folio_mapcount() which calculates the total > >>> number of the times a folio and its subpages are mapped. > >>> > >>> Signed-off-by: Vishal Moola (Oracle) > >>> --- > >>> include/linux/mm.h | 5 +++++ > >>> 1 file changed, 5 insertions(+) > >>> > >>> diff --git a/include/linux/mm.h b/include/linux/mm.h > >>> index c9db257f09b3..543c360f7ecc 100644 > >>> --- a/include/linux/mm.h > >>> +++ b/include/linux/mm.h > >>> @@ -875,6 +875,11 @@ static inline int page_mapcount(struct page *page) > >>> return mapcount; > >>> } > >>> > >>> +static inline int folio_estimated_mapcount(struct folio *folio) > >>> +{ > >>> + return page_mapcount(folio_page(folio, 0)); > >>> +} > >>> + > >>> int folio_total_mapcount(struct folio *folio); > >>> > >>> /** > >> > >> I'm sorry, but "estimated" as absolutely unclear semantics. You could > >> have a THP mapped into 9999 processes using THP and the estimation would > >> be "0". > > > > ... or would it be 9999 ? What about a PMD-mapped THP? What about a > > partially unmapped THP? > > > > What are we estimating? > > Thinking about mapcounts again, might not have been my smartest moment. > > What we return here is the precise number of times the first subpage is > mapped (via the large folio and directly). That's supposed to be an > estimate for the number of times any subpage part of the folio is mapped. > > I really don't know a better name, but folio_estimated_mapcount() does > not feel completely right to me and triggere dmy confusion in the first > place ... hm ... I can understand the confusion, but I can't think of a better name either myself. I'll go ahead and add a comment to make the purpose of this function more clear. Looks like I'll have to move it to get rid of the build warnings/errors anyway.