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 C5639C35FE7 for ; Sun, 15 Sep 2024 10:40:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 250706B007B; Sun, 15 Sep 2024 06:40:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 200BE6B0082; Sun, 15 Sep 2024 06:40:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0C9096B0083; Sun, 15 Sep 2024 06:40:42 -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 E29926B007B for ; Sun, 15 Sep 2024 06:40:41 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 99D16808BB for ; Sun, 15 Sep 2024 10:40:41 +0000 (UTC) X-FDA: 82566629082.01.AF308B3 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf21.hostedemail.com (Postfix) with ESMTP id 849D01C000B for ; Sun, 15 Sep 2024 10:40:38 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=BER7eFtq; dmarc=none; spf=none (imf21.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1726396810; a=rsa-sha256; cv=none; b=74pkw5g8VvLQqqQNjX2+ARh7TBkdd4q2rd8Fu0ea1EykwSrtCSR40B90FOOFvfc1LtVwOZ PAGHoc1gmXWOtnPCXdmaLmUST64FdXayajkVAkXx2hHX3TDSdCnQOYf9pXw/TA4txG2+bZ Il4Nqc1W/6L8Nzwv+IGVk1ZQb1/Kkrs= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=BER7eFtq; dmarc=none; spf=none (imf21.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1726396810; 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=9oWw0L1ve3FphXzm1P4wGPdSmqZQ4QHpKd0CSh+cF+o=; b=v1wTRL08tJL36k0rSKErD9SJ+4zEhXRrRN05BcnIpikRbqvn9HgpVQwDFqa6EdQ0Z7o2HX QyYKJ6d4dL9w/e0JGtuIs7X+/1YxqI/54kIexdDIQegEcxLm/IUpoCgyGCAoEhhN/KTKsA 62XtjYO0sRMr+yHXa0WxhhRVDegiAII= 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=9oWw0L1ve3FphXzm1P4wGPdSmqZQ4QHpKd0CSh+cF+o=; b=BER7eFtqKn/4nRL8rffmzWMRsc 7OtdjUGN2UxKyOYIE80lPA5dS/Hh0njm3o2wZBK6WjnaI/LHO6xn1XJAQ5ULNJzUVtOh/qRSXZ7eS 4J5CbStQZZ3lLZEFlLijhWK560U06nKZwGM7qBRyEOTYMwh/LgGep6tGsx3DIsOcv5m2MIJkUK+J3 +PGR6Z3VQ5bfGkfuA1EuS8Yy+b6n/pXya47otbPv9LlYqnoDKjlw3nbwKK3OIgra5tD4PlZM9RxxL tAczbaf79XReaxMA/pipgW3Vz6XOVzm9spTpF+6r3QuqU4lSagCi4fjIrgtojVFdwsVfjhbDcoNLG OrD5ynMQ==; Received: from willy by casper.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1spmg4-00000000kfB-2sL1; Sun, 15 Sep 2024 10:40:24 +0000 Date: Sun, 15 Sep 2024 11:40:24 +0100 From: Matthew Wilcox To: Kefeng Wang Cc: Andrew Morton , Hugh Dickins , Alexander Viro , Christian Brauner , Jan Kara , Anna Schumaker , linux-fsdevel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH -next] tmpfs: fault in smaller chunks if large folio allocation not allowed Message-ID: References: <20240914140613.2334139-1-wangkefeng.wang@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240914140613.2334139-1-wangkefeng.wang@huawei.com> X-Rspam-User: X-Rspamd-Queue-Id: 849D01C000B X-Rspamd-Server: rspam01 X-Stat-Signature: r5dx6778hb5ythjqd993durb4r5z1c5y X-HE-Tag: 1726396838-225306 X-HE-Meta: U2FsdGVkX19majEFPYxb0QRCEmJb8miOr55jgXCJt/Paj1suDv5tMKp2PitcSU7aMH0ccbHH72rWALmBTNnxIZCCHY7+r/vEvrhJsRcnITdKe2dBoszZi11ls1FqOmwvUZGt/dVrkWvOzYFs8bujaqWbNKzWzXtF/WUcHYE8Xz8OsOd15FsfboN24Cq8x7P5BcmPDwGCLCE+sogfpdJn+Ny4dpbuXjsN3xsCJpGb0yU4nD6+tZzqNTHtZ8wvewgkISIVnFbQwkDo0xH/pwLw9QerWRamk0sOA+aeQ0FN36jOHm5qpnNH3FojAdzK5xoIlxT9ZrX0IehtmLzWMVymowZ6dl0tk2B0zfAcfquQ3Rq5PlhNyBiAfELAz1tzx8y2e5c2DiQ+Dp2ZLnyHt0/nAiDxj4Or6xoz6xGCfXH7PPbzJ2bcnTFoghhPP9wvGXpP5kaMRjsqck0FBoD5rCAoc56HUBB4fq7jVM27QpyNv+IQF0ZsvrqvCs4XhWHlKGFJfVhOjdihXD9Mnn1Ck4ks7MJcZLVh90BG/fHbOGT7evOg4M/k4goUZ1hO3AjnVm2MlJvVnZj5AhrJ6DD3XHrwAWFh8eVU0AZVSIBJMBHZuWwEkJ798Pqp/myBVhcNeHR4+AwK+Y1ZvX1L3HgSEnXI2UX8GziVRsRwtge94EVQ5D4r2lLGIHrgQ9aXjOyDICkSzt7CTQyQg7SnRqONCLn+vbZTG/8pY4uxtbmumWDWLR8QTgEb1OP60uZOlsJrvcmAkoYxKg8invzoswVy62rPPgWWIpv5gih8/wqV8KQXlqR4vjLrndxlVsJ6Ej3foeIs75G/LHooj0ybV5NO4TfHwRMzagjbNZ45iqm77yJo4PrIeu7rZmj86hHCoRY6dXoX4xLl5TukYvz63nEeojzIZu5XAk4gAtOgA5LAPRzBsF2DwLJUdGr484Rc504IpcGVhey7h1EROyxiZ7IuOOB v/s+RLBD xQLc4i1aqwY8TYgxMMl8ofow7nrLaW5vI/++YqteKLm6jewM2X9uc3Dr/iYwRTGNg+FbypMLk66r0gPpXHnEWAbT8YhTQ+0/NXvqVBR+fNeYzBlZHlF2B8fhjxt5Za4AXIivoROwhaR9d1Tg1brxn7Mxf0b0vVGQqYiUa1Q4CJats1e1o0ObHcp5KQhZ6Glkeg2AynowhQ211iys= 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 Sat, Sep 14, 2024 at 10:06:13PM +0800, Kefeng Wang wrote: > +++ b/mm/shmem.c > @@ -3228,6 +3228,7 @@ static ssize_t shmem_file_write_iter(struct kiocb *iocb, struct iov_iter *from) > { > struct file *file = iocb->ki_filp; > struct inode *inode = file->f_mapping->host; > + pgoff_t index = iocb->ki_pos >> PAGE_SHIFT; > ssize_t ret; > > inode_lock(inode); > @@ -3240,6 +3241,10 @@ static ssize_t shmem_file_write_iter(struct kiocb *iocb, struct iov_iter *from) > ret = file_update_time(file); > if (ret) > goto unlock; > + > + if (!shmem_allowable_huge_orders(inode, NULL, index, 0, false)) > + iocb->ki_flags |= IOCB_NO_LARGE_CHUNK; Wouldn't it be better to call mapping_set_folio_order_range() so we don't need this IOCB flag?