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 342D0CF9C7F for ; Thu, 26 Sep 2024 12:58:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AD2936B009A; Thu, 26 Sep 2024 08:58:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A813C6B009B; Thu, 26 Sep 2024 08:58:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 921C56B009D; Thu, 26 Sep 2024 08:58:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 737466B009A for ; Thu, 26 Sep 2024 08:58:39 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 29B6041697 for ; Thu, 26 Sep 2024 12:58:39 +0000 (UTC) X-FDA: 82606893558.28.A6149F3 Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by imf29.hostedemail.com (Postfix) with ESMTP id 10827120018 for ; Thu, 26 Sep 2024 12:58:35 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=samsung.com header.s=mail20170921 header.b=VKJ1HVFn; spf=pass (imf29.hostedemail.com: domain of da.gomez@samsung.com designates 210.118.77.12 as permitted sender) smtp.mailfrom=da.gomez@samsung.com; dmarc=pass (policy=none) header.from=samsung.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727355479; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=da4ojY3FKYoZj4Metcz6gYoYuDUssygQUDpJ4V+FW2E=; b=Y2Mr0eQP3no8gedl242id8h9UXl0/WgxAtWfGPXKyXYmTeEW9BQ6C0I5ez+Bc/7IZOKXCc j2Ps4CM7O7BpKVKx23Dvr2tjmGBvVoAQKlR/xdxyA+mt2yTpJI9jcY/ixxtZNVZOi1eTMb Jc1gmY61dXzJduhVt2JFyoQt6X0OqVw= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=samsung.com header.s=mail20170921 header.b=VKJ1HVFn; spf=pass (imf29.hostedemail.com: domain of da.gomez@samsung.com designates 210.118.77.12 as permitted sender) smtp.mailfrom=da.gomez@samsung.com; dmarc=pass (policy=none) header.from=samsung.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727355479; a=rsa-sha256; cv=none; b=uiMPnzxrvPiiw738i5vtPIwnwe6Y1/EyZCA0VX6uZ0bjeQpov02QuqLDCfXHW39jJXn/SE dguchIIfPUiXyjckkud7tkSpI+e8z3XFxN9pLUCWyAaDx0VvTMwDj4RSSmaKhUhucNPOKB GuwZBNcRafOyeqr7G6oaW+IgvzzKa98= Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20240926125833euoutp02fa4c8c12efd61956082a8103737cb6ca~4zLAcRqCT1029710297euoutp02T for ; Thu, 26 Sep 2024 12:58:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20240926125833euoutp02fa4c8c12efd61956082a8103737cb6ca~4zLAcRqCT1029710297euoutp02T DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1727355513; bh=da4ojY3FKYoZj4Metcz6gYoYuDUssygQUDpJ4V+FW2E=; h=Date:Subject:To:CC:From:In-Reply-To:References:From; b=VKJ1HVFnPZeq8nQMYmyC+lMUhP8B1KnE8EWyHrSqLEuLnIWjA1Y1jgqGFtrelpsoJ tM2mErwTNcT+DPgRem2GWVl1CH7tTBaINNGNLFImbzIeB+ubF7gI+I4sChKu3/IoGD gqBFR1G2Iw4i9jGM+9lxS+dnIQmMdvqRbKfIcHJQ= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20240926125833eucas1p25553c8da37e5630ef564cb2acbd36260~4zLAMjar72928829288eucas1p2t; Thu, 26 Sep 2024 12:58:33 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id BE.1C.09624.97A55F66; Thu, 26 Sep 2024 13:58:33 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20240926125833eucas1p16d318f89b21db92af582be778eedde4c~4zK-rIBcH1657916579eucas1p1I; Thu, 26 Sep 2024 12:58:33 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20240926125833eusmtrp26c051f0c4eba6a7cea62b08023158779~4zK-pSTV31891318913eusmtrp2T; Thu, 26 Sep 2024 12:58:33 +0000 (GMT) X-AuditID: cbfec7f2-c11ff70000002598-d1-66f55a79a688 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id C7.90.14621.87A55F66; Thu, 26 Sep 2024 13:58:32 +0100 (BST) Received: from CAMSVWEXC02.scsc.local (unknown [106.1.227.72]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20240926125832eusmtip28fa82999f1ebdbf9b8ef66fbadcb8178~4zK-dGYMa0982809828eusmtip2c; Thu, 26 Sep 2024 12:58:32 +0000 (GMT) Received: from [106.110.32.87] (106.110.32.87) by CAMSVWEXC02.scsc.local (2002:6a01:e348::6a01:e348) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 26 Sep 2024 13:58:31 +0100 Message-ID: <18532bd8-08bd-4494-a3af-fe252a803380@samsung.com> Date: Thu, 26 Sep 2024 14:58:31 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH v2 1/2] mm: shmem: add large folio support to the write and fallocate paths Content-Language: en-GB To: Matthew Wilcox , Baolin Wang CC: , , , , <21cnbao@gmail.com>, , , , From: Daniel Gomez In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format="flowed" Content-Transfer-Encoding: 7bit X-Originating-IP: [106.110.32.87] X-ClientProxiedBy: CAMSVWEXC01.scsc.local (2002:6a01:e347::6a01:e347) To CAMSVWEXC02.scsc.local (2002:6a01:e348::6a01:e348) X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrGKsWRmVeSWpSXmKPExsWy7djPc7qVUV/TDP79kbH4fFfIYs76NWwW //ceY7T4uv4Xs8XTT30sFot+G1tc3jWHzeLemv+sFj27pzJaNH6+z2jx+8ccNgdujzXz1jB6 7Jx1l91jwaZSj5Yjb1k9Nq/Q8tj0aRK7x4kZv1k8dj609Hi/7yqbx+dNcgFcUVw2Kak5mWWp Rfp2CVwZTYdWsRY846xofH+DqYHxPXsXIyeHhICJxImFX1i7GLk4hARWMEp8u/qFBcL5wiix Z9UtNgjnM6PE1Ia7cC3Plv9igkgsZ5Q49XsHI1zVolcHoIbtZJTYPuUBG0gLr4CdREvrEbB2 FgFViYstS1kg4oISJ2c+AbNFBeQl7t+aAVYjLJAq8fLvfzCbWUBcounLSlYQW0QgXOLUkoVg BzILPGaUWP/6A1iCTUBTYt/JTWANnED3Td7wiLmLkQOoyEpi+glPiDnyEtvfzmGGeEFRYsbE lSwQdq3EqS23mCDs3ZwSc3cpQtguEtNmLYSKC0u8Or4F6n0Zif8750PF0yWWrJsFNadAYs/t WawgayUErCX6zuRAhB0l+tafZ4MI80nceCsIcQ2fxKRt05knMKrOQgqIWUgenoVw/ywk9y9g ZFnFKJ5aWpybnlpsmJdarlecmFtcmpeul5yfu4kRmNRO/zv+aQfj3Fcf9Q4xMnEwHmKU4GBW EuGddPNjmhBvSmJlVWpRfnxRaU5q8SFGaQ4WJXFe1RT5VCGB9MSS1OzU1ILUIpgsEwenVANT 3q73Zb9OcJ+KiJT0zRcr/5Pi9cN4xyNB009i8g+Le47P9xEXm5ea16y/96KruBZ75LTgm3cf SfRPVPvRu3B2itr8zfzCE1dNj/0RVuuzbvmhSon6zQebgrpq3TiP6exzkrgUpcRQkRC2XuTk b70EkzSXa//ZPS6J1JZyaQZ8FFx9lONg7a3Zguu+3PwRefT8N152M97rlWVzvQIXfU60CKqq 2xcQ1GEdNfVprubckNsOmrdnH2DX23i04GeOxGblTTG7844tjf/4TuRo9EI+q+OHQuQkW7br J38pflG/39nlYsDG8oRFxiu6Vb09zqjGHhZkOei50UHttqKZTVZ25Pv/Ort3XBKVX/lh4gUl luKMREMt5qLiRADymlZs2QMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrPIsWRmVeSWpSXmKPExsVy+t/xe7oVUV/TDF72W1h8vitkMWf9GjaL /3uPMVp8Xf+L2eLppz4Wi0W/jS0u75rDZnFvzX9Wi57dUxktGj/fZ7T4/WMOmwO3x5p5axg9 ds66y+6xYFOpR8uRt6wem1doeWz6NInd48SM3yweOx9aerzfd5XN4/MmuQCuKD2bovzSklSF jPziElulaEMLIz1DSws9IxNLPUNj81grI1MlfTublNSczLLUIn27BL2MpkOrWAuecVY0vr/B 1MD4nr2LkZNDQsBE4tnyX0xdjFwcQgJLGSW2z5/MBpGQkdj45SorhC0s8edaFxtE0UdGib2H TjFCODsZJW5d6WMEqeIVsJNoaT0CNpZFQFXiYstSFoi4oMTJmU/AbFEBeYn7t2aA1QgLpEq8 /PsfzGYWEJdo+rISbJuIQLjEqSULWUAWMAs8ZpRY//oDK8S2GUwSq5d+B9vGJqApse/kJrBu TqAnJm94xAwxyUJi8ZuDUFPlJba/ncMM8YOixIyJK1kg7FqJz3+fMU5gFJ2F5MBZSA6ZhWTU LCSjFjCyrGIUSS0tzk3PLTbUK07MLS7NS9dLzs/dxAhMCduO/dy8g3Heq496hxiZOBgPMUpw MCuJ8E66+TFNiDclsbIqtSg/vqg0J7X4EKMpMJQmMkuJJucDk1JeSbyhmYGpoYmZpYGppZmx kjiv2+XzaUIC6YklqdmpqQWpRTB9TBycUg1MzVXRXdu8QzVaDj0/3MLXu4yz1MBAQZf9kwbf 8anbOLX3nV0dw2XjxG0vd9V/673G+vAWrvdnvd8ui8gNroq2Sl7B3iCcstb85tzHXp8/rNy0 Ltkw6OjaXf+rYx0Pzvth/1SJWVr9ya3nURUJ2dFuxxfen8MorOh+8dILi8330ozUd/j1bzj2 teKS+z92x22556qyvfbereJ1W9J/7sShp73dBxZqN/6SXcOl9sLM625QWuuqYwtE/hXn5jjv PzPj8JGY/C6F1kdnyhgU2i3k738V9Gp7z7wo/uOjZds28h89lZs87bKFx/xA8YLFE+bP2P3g kN7GbFvjImG7lz56zovlY6R5rv36feZh8159JZbijERDLeai4kQAmuoMhJIDAAA= X-CMS-MailID: 20240926125833eucas1p16d318f89b21db92af582be778eedde4c X-Msg-Generator: CA X-RootMTR: 20240926121649eucas1p2aec9398cab6db6fee1251a1a61568857 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20240926121649eucas1p2aec9398cab6db6fee1251a1a61568857 References: X-Rspam-User: X-Stat-Signature: 7qnpqkhkrh6bnpxtf77dszgmh3e4r6dh X-Rspamd-Queue-Id: 10827120018 X-Rspamd-Server: rspam11 X-HE-Tag: 1727355515-456685 X-HE-Meta: U2FsdGVkX1/3FS+g4OXBh67KO1SwrLQbZsEzuDFcMY3R43DlD4h3HgZkrNB/8PGsP/dpfak0YxyKpeT6AZqjEm1EmIIgZXS5bFOGg8vR99SjWzoZftGtK/Enqzz/mKoiMuyzsD51UkcOwQdaT/YT58Urj25J8RzU0UYnZWOJFNLquf7s7VTmHQ3rmB8ReD+52/39i4Ltqzp8t6b/OT/Gul3DPgO+uiwrsTSxkqU1iHcdZ+3moTujwOv52IX8HVIzGBU4GgSEzHPtlCwdmgi+kHNfvlIcyxdLUELkftvPk3n8u/t3BwZsuNAJfxx6JDHQRljYHZeBefamvvQck4Mhd7xNyltSIs+2b4MWv+EeVPDIJZYUt34fgtYBnAIuKnOpaTLeGQCQ0YqZuw0R5bj7RqcXKfkEsu0geyX3zzWEx1QsfwlL0RLwYQpWOvERYenv9Hvh0zpodRCLvxkqstXYGZPtK2/8GBy0vgupc5TBDaLST9xbdEhoNlnJWd6OtPBGiqgBZNSBvBRp9ZsAgdo0iZ3kOA2bRpkN3A5mrs5P6nHMdEqICOxASvRskMyIOVWa3+mbVGCgKNSO7HL+7wph9OAqb9QEoMxqTz5Uk8D4BabXFMrMDoxqA9A3F8uePla18+tAbc9nN5KSg8GXNmpQYg6XSqdU/mimzC1/czcvwOHDhtmkFvFBGhKnXFdvvUTdBbOzMQ19m8raj8Rb2vFf69gdsADDGaHhw6m12ufBiUdFswEgsgvrrr25m/6Q7zDv1KdIXssjlUTeegAbmyO5jB5xZHgO7PrSrOle95VjMOA74pHnXaJk+rVOGsdf3fIzQTg9p5Q+IGvgowxJaDHwT5zS8ifyNZ2D2YToSQrD3Yx/cfjZkWACYDztOfH7nSpoB1mcuGd3jTNWlUi7YEWTHJo66bsLLK8frHrZd8PzjJgh0y6L6RiJnV2R2ZLLJHuF/LKXacmQy7XPPl8NcZW 1qhvi+TV qo1yQ0OAfMCKhr4j33pgGGhfkv/GDyVOTaANMTFDtnmB2jMjIxifJ8vEBgJzYEz9XH1V6u7h+2kMqwbYy9Eq1CPkdpJZjxGIjeFG5JeJzk9rUmV9vJUIqPrFG89+nZ1a1Us5gQOi2GQUBYhRtiIVDmsAoZDM05j9KKpJN 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 9/26/2024 2:16 PM, Matthew Wilcox wrote: > On Thu, Sep 26, 2024 at 04:27:26PM +0800, Baolin Wang wrote: >> +static inline unsigned int >> +shmem_mapping_size_order(struct address_space *mapping, pgoff_t index, size_t size) >> +{ >> + unsigned int order = get_order(max_t(size_t, size, PAGE_SIZE)); > > Why introduce the max_t() call here? Did nobody read the documentation > or implementation for get_order() before writing this patch? get_order() result is undefined if the size is 0. I've used max_t() here to avoid that case. Perhaps should we prevent that case before getting here? > > Besides, get_order() is wrong (at least relative to other filesystems). > get_order() rounds up instead of down, so what should we do for a write() > of size 512 * 1024 + 1 byte? Other filesystems allocate an order-8 folio > plus an order-0 folio. This code would have us allocate an order-9 folio. > I think that's a bad idea. > I think one of my earlier attemps was to use fgf_set_order + FGF_GET_ORDER() as in iomap. But the solution taken there was to share code between shmem and filemap and that wasn't considered a good idea. Shall we just replicate iomap_get_folio()? Or else, what do you suggest here? Daniel