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 E22CBC52D7C for ; Wed, 14 Aug 2024 03:15:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 642C66B0082; Tue, 13 Aug 2024 23:15:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5CC0A6B0083; Tue, 13 Aug 2024 23:15:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 46D096B0085; Tue, 13 Aug 2024 23:15:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 226FE6B0082 for ; Tue, 13 Aug 2024 23:15:32 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id CF913A0BEB for ; Wed, 14 Aug 2024 03:15:31 +0000 (UTC) X-FDA: 82449385662.28.7CDE223 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf12.hostedemail.com (Postfix) with ESMTP id 2F50840011 for ; Wed, 14 Aug 2024 03:15:29 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=o0Hlwt6E; spf=none (imf12.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723605295; 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=MoKYSZv+a4N+6lqWmJoBN1PfALomrn5/jhpwfJ2j9hY=; b=bo8KooZwztu+k+YDWo05kw8QnQYpMEK0BjvJPCrOArWZsJS+iVxwFReKvE8pv0A9VyxU8U SUoL3t9WdKgJWFZwcFaBCUKDh4mXW9orBg/i4UmrvYgZo1L/lM6+IsLTpYCG05ApT3MI5h LsiRrpHmn00DSYzQyry5oColnuPNkJ8= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=o0Hlwt6E; spf=none (imf12.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723605295; a=rsa-sha256; cv=none; b=VR6vm//8xFWXBuCKxktssVNYaHA2XDEUyhiyZaVV8XSBXmFAxQaTyvdablNHF517z3VojH CGsjGJC6c2R2hqfocY+EEHJ9wA1t1w6jnozMvpbbq5vHuM4DbFH/qaGWEcQpz4QYRdL67Z Ge5/7LSZ28xOyGpW5+caaL2ETNmXF6w= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=MoKYSZv+a4N+6lqWmJoBN1PfALomrn5/jhpwfJ2j9hY=; b=o0Hlwt6E11JDmKZBV5TGhDnjfu Vit6C0V//YDchciKzUeXNkciLETs1P+OSUP46VrtyD1N58QKLkBahNniA9lcGvrniJ+Bw2NrKr3OK Iplj8z/89Yid491CvMH/ju/hmT2MhBz7K1iN9P/gojxlLUaoF/PQmf5xTjR+MXeE170hJ94OXZ04F us77quRrZW4jlyEk706FrYpTQNO0mrUBzvT3XmaEGxEnoCtyqFDGzJ1+Q+UEgDJN0uoxyiw5LuwBp tr20zxudH81U7sIEKx4KM4vUv88uU7bADwq/yviFlBpEGzyFFEqqPSU2RKcaF+QdrwHk62OplnnpH fQzY8TKQ==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1se4Tt-0000000HRbw-3G7c; Wed, 14 Aug 2024 03:15:25 +0000 Date: Wed, 14 Aug 2024 04:15:25 +0100 From: Matthew Wilcox To: Shakeel Butt Cc: Boris Burkov , linux-mm@kvack.org, linmiaohe@huawei.com Subject: Re: [PATCH RFC] mm: fix refcount check in mapping_evict_folio Message-ID: References: <5qxfn7y43mf6vkkk6adfgenilahe5uykscz7muxq7tjmjijxg3@dpshd4mrcxgn> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5qxfn7y43mf6vkkk6adfgenilahe5uykscz7muxq7tjmjijxg3@dpshd4mrcxgn> X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 2F50840011 X-Stat-Signature: jq59dfq1ywu3xfrzyiipdt61oy1ifdyj X-HE-Tag: 1723605329-242107 X-HE-Meta: U2FsdGVkX184ndBfBQKKB7g44kWSBDibLqWx4bG4n7IbjhkxSE3T+EPhuaWqvc6taT1QEMhoV+wbyCMC89Cy+CDvX9IYgKquTcykq9L46k8FEjyRNi/81OnwuITjL8Z/+aXtLN4rPqGRX0T6tL7PgDj9BAPbezBoEDw0rfSO9bqv+lP9dV5xfKjCHues8H/vgiyjyPXiqt1kKJqyrCm1yVXRdFWUW4zPo+xUefjeb0yLx4skuUPgLoemtlY06MO2XgN8EEwxMZLf8UU3mj7FxPe19G8W8a0o6CsbWI5G/jpqKGTvjm8EsTt4AXLgEsnqeIN4Se8pfEqdnaQqEF8iOR46ZxepZVR3ZHy8AVqRZKtooiftMxAy1alGFvXX0QU3z8mAX+6X4cPcfPLrLWuJ7h1LgNqFhaFZg1CaVHuIyWjhuAy0vMDncMQwLtUGYk8dCFQyVQLjlSCC7i2MRVjA6W9uetbPIKexvHVNTi4qi+NRuLApvg47hj9UjgC3RuKDa5ptr4aryjhcbCuQCx7dOv2PJ3tBrdVNv8Hwk66rvd/73C+JA9FVW/4p+y8gLWNGCah+bKovkvarLciq0R5Wm+6xfFK8hTiSpwNvZ8tlcL9zby6a77QxVepWE+UqtK5/PWAUMN83PYVIXVIcAUNf1uvkeXT2bkw7Pa5hM/+c7jgIJv9eFY+arY7h+3XIYwg5cmZNCuARL1ehPzGNi6APXZq84mBhJ4di8WORLjg3HG4nbM5PaURgFWP90ARDczTIEKyJXZ6sYWjjf5eMxgV1qkHxcuGdn7jJ/Zgv8ZyaVJZsgvThXfOZds5nmfqqNokBUJ3JKm87+UiYYx9Ht6r9/WZ1Z2skW8xYEjnXuJVo/HKKZNkjpXhk02ZvpS2Jv8WhSy/Xc0KsbIkB5msG2Vo8tQjw6I0kaY84ekbtufA8yafsrI7KjpBlON3y7DCLnHfqbpKWKwWAEIaN9U/nDcK K/Cc4Qr+ Dn/8Onc9komEDvNvbUrQ/gzACedw0X0H5v44vacbie1JR0ijDxeO37hzwe7NmX03OHwiXgPShS8X/BzNGT+I/AxQ9M81uXS1V1SxWHh/kyg+9T/DfV6w6tef0ZVfsZz+ISYKt4ud8+19Ld5NSpN0ZkUGqtAlFl2GRReXGDbmH0jJocKUh3BT9hDj0Cbq1usX+YwoQvCgFkzW4d5b6lkxqtd3zg4L9UM3FdvmnW97qXup0XAMUh1A2267NTv2OKa04NIia 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, Aug 13, 2024 at 12:58:09PM -0700, Shakeel Butt wrote: > > + /* > > + * The refcount will be elevated if any page in the folio is mapped. > > + * > > + * The refcounts break down as follows: > > + * 1 per mapped page > > + * 1 from folio_attach_private, if private is set > > + * 1 from allocating the page in the first place > > + * 1 from the caller > > + */ > > I think the above explanation is correct at least from my code > inspection. Most of the callers are related to memory failure. I would > reword the "1 per mapped page" to "1 per page in page cache" or > something as mapped here might mean mapped in page tables. It's not though. The "1 from allocating the page in the first place" is donated to the page cache. It's late here and I don't have the ability to work through what's really going on here.