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 68BA3CDE00D for ; Thu, 26 Sep 2024 14:58:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D2BAD6B0082; Thu, 26 Sep 2024 10:58:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CDBC76B0088; Thu, 26 Sep 2024 10:58:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BA36E6B0093; Thu, 26 Sep 2024 10:58:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 9C9BF6B0082 for ; Thu, 26 Sep 2024 10:58:25 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 4D9001C72B8 for ; Thu, 26 Sep 2024 14:58:25 +0000 (UTC) X-FDA: 82607195370.18.DA21193 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf12.hostedemail.com (Postfix) with ESMTP id 0C02A40014 for ; Thu, 26 Sep 2024 14:58:22 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=R3aab9ax; 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=1727362667; 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=ifm+nIfno/WcCSPpO4Pf5285I2KcitoTGt2NJ3FYDZ0=; b=fyvIL0AZDfAGKbmIx4zW2io7VbyszcE5KxxoYOi5SXVmqtjzwLnoDvSDNZla4EK0MXgwuC 0MTxoIVaGWXmoqzHOt6E0scAkGF2fEf+bO0KGkOMStmKmNI4vt8PFQRlR4vYZGuGrSyCKP IPRqQzObxBXESWGt4YgsoavklfiXUdk= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=R3aab9ax; 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=1727362667; a=rsa-sha256; cv=none; b=wVdFmHn4XzQWi93xFh6eLLHoR0+mh/ZnkdZ9ig56gCBZCkAbJX4QW7qSkGwAJjDPsFY5sU ELjx/eD41uBDoYzDNXhSvV3rBaVcroC0gFQlT20bUukm5hxbXTNq+2DXQDO0cLL6AWth2j N3YkojWtthOG9yzSl5FJxIya9CTCays= 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=ifm+nIfno/WcCSPpO4Pf5285I2KcitoTGt2NJ3FYDZ0=; b=R3aab9ax70t5xQbc/HAFBCVf1x vD+Tf2QRdfLpEw3qRdUFi8ySVXASR58bN4Anj1H44RI5MVGmEmMAGWDIpWvWooQU/XGqmYx6cWjqy n9PUJuG+pOebXN7g1f5czJoYoNoPYj8x8lR8qfdzkhAsozZzYfOuMHkgyK6pgKpE5cI+MG3l8pN/w xok6WtAhWUanTQloY1bkl93u0ZLml5mTxgTJF5YgL4QRZJH8KSxbrjRyjl7X45DL8F+reQ9eLAIXK KLLbD/qBZekfTbBGj6Mskvfn5w3qgiUopIp7YZOdA3U85hlowJN7+/Kx1j6defVU5a6hnQHyJCZAZ GnjTY5qQ==; Received: from willy by casper.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1stpwS-00000006uCg-44sy; Thu, 26 Sep 2024 14:58:05 +0000 Date: Thu, 26 Sep 2024 15:58:04 +0100 From: Matthew Wilcox To: Kefeng Wang Cc: "Pankaj Raghav (Samsung)" , Andrew Morton , Hugh Dickins , Alexander Viro , Christian Brauner , Jan Kara , Anna Schumaker , linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Baolin Wang Subject: Re: [PATCH v2] tmpfs: fault in smaller chunks if large folio allocation not allowed Message-ID: References: <20240914140613.2334139-1-wangkefeng.wang@huawei.com> <20240920143654.1008756-1-wangkefeng.wang@huawei.com> <1d4f98aa-f57d-4801-8510-5c44e027c4e4@huawei.com> <9a420cea-b0c0-4c25-8c31-0eb2e2f33549@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9a420cea-b0c0-4c25-8c31-0eb2e2f33549@huawei.com> X-Rspam-User: X-Stat-Signature: 1ocp73oaompckrx1by3dmgp5sg4cxw6d X-Rspamd-Queue-Id: 0C02A40014 X-Rspamd-Server: rspam11 X-HE-Tag: 1727362702-135613 X-HE-Meta: U2FsdGVkX1+oFzvk/Zsgy4wrHnzhAMHqosgcl9BTUGrUxOpK69UUBclPjxxKYdZF+5iIFq/fkO/RXszkzbnd5IW1Deka0GPyTeXxSebmh6+DktxbdPQPTWLvaUcOWE8Xl7CnGoPy1hAsVzln6fsfNVWLPO4sYt24Xs1RdynKkyMBQJkEhnkbhIMVrdyh3NP816TA2m9JEk0coq2wnP7qek9IwC8y5cauR+mwfk3J0xMT38kfWvX6XjjXWa0/wuy/lNNu3qlz8wXOH3BIEXeCbEjePhxTmNv47/CGKH7KPN2qQJvGzihRRSREz9lI/jWcUNl4aNDE2pB+a/zvg2DgB/VpQigl5sqHGwiEgRTIlUletkXJ/rW220MV68ck2vcH7o+gQ0QBAvb0jFmDj4Kb7vdJs8y95nOrb9Zr8ZTH8n4UW3VSEohhy6zUWzlJrHlTfYf+uxiTje80VGDGzBqO5Vtc1fG/dozpBlmfWR6FRuVpdEbTfPbKvDEMzzW2K66ceRdcwgwWvb8VrJDAxtNR7m+mhwojq0nLxGsAqCJgk67uMKDpvTEk3WueGb4DkzfFHJXWQN3hEGWm9RE1oZSk/P3RLad/2jftn1Q/CDkzFVIygLvqCswYOE3wsJ64vpxeeZBa8S9qd6BKzvLorqAp93moMRpNFFZ1MNiyDKwTTwaP5cIPqrN7dvYyRW80yv5WV7m1kehu1AdB+xNI/Yr/Y7HEhkabn5/pM2dFKQ60HRExebxI8qACyZyJ49guldEPrM7O1tUsgamiXGT53hHcOsJIr9MZu+EYF2ZRswkI+5/4jB2EQf9dkbs67cem3ksDy/6rXy70B7JqrczpmVE0sLCZsHXJyygyGcS8J0EJD6PbOmbSK+f2FCnQ3WAjs/Ar6cGlpIyjXO+U0+5NjScY6RhZgQXzfAfnAw1IjHbk8Pip2ptT2R2QgPqdVoIuazQnp9cbRcF89HjxYBL+8I0 2jVA6OtZ zx7qdlHCWCr6m9tExhzT0fFSlBUZnW/ffTCWRYF0B3oJdM/M+rlMSJA7qFLf7rMmBjLyb/e/9AzQWuRTVZ4yoGKfTLgF79aQ9iEzmsYKoRyV/cq4SgWy5LIH/Gu80uK1DrINWWo3NykBnY9rfiM8YpJEIk0d8Lc+KWk+/BV+eUQr5rbJhrh6vynPG0foHHc5OHI8v5UkxwieAOTKJ7GdfklOZPx9w7xGCJyYIcEsShulEpOo= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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, Sep 26, 2024 at 10:20:54PM +0800, Kefeng Wang wrote: > On 2024/9/26 21:52, Matthew Wilcox wrote: > > On Thu, Sep 26, 2024 at 10:38:34AM +0200, Pankaj Raghav (Samsung) wrote: > > > > So this is why I don't use mapping_set_folio_order_range() here, but > > > > correct me if I am wrong. > > > > > > Yeah, the inode is active here as the max folio size is decided based on > > > the write size, so probably mapping_set_folio_order_range() will not be > > > a safe option. > > > > You really are all making too much of this. Here's the patch I think we > > need: > > > > - mapping_set_large_folios(inode->i_mapping); > > + if (sbinfo->huge) > > + mapping_set_large_folios(inode->i_mapping); > > But it can't solve all issue, eg, > mount with huge = SHMEM_HUGE_WITHIN_SIZE, or The page cache will not create folios which overhang the end of the file by more than the minimum folio size for that mapping. So this is wrong. > mount with SHMEM_HUGE_ALWAYS + runtime SHMEM_HUGE_DENY That's a tweak to this patch, not a fundamental problem with it. > and the above change will break > mount with SHMEM_HUGE_NEVER + runtime SHMEM_HUGE_FORCE Likewise.