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 8EDB6EE498B for ; Fri, 18 Aug 2023 18:09:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 08548940070; Fri, 18 Aug 2023 14:09:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0357B940012; Fri, 18 Aug 2023 14:09:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E3FC3940070; Fri, 18 Aug 2023 14:09:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id D28C8940012 for ; Fri, 18 Aug 2023 14:09:43 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id A25B74038D for ; Fri, 18 Aug 2023 18:09:43 +0000 (UTC) X-FDA: 81138013446.05.50BEA4C Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf28.hostedemail.com (Postfix) with ESMTP id 97B31C0018 for ; Fri, 18 Aug 2023 18:09:41 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Va9jaw8I; dmarc=none; spf=none (imf28.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=1692382181; 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=VRDqbKuqBMb+gqInip+OmxdZgkD0IFs70avkREn6tD0=; b=3C4zcBu8ylcrtiLxdemh5GGZkeCsPPyeeyHnyWAoZE9X5FWokVVm0U1Qe8VuVfFYM7lQru 2WAaYG23uFviLWLyhuXk7tV2nNjdbD5xgx3eYpY4jOnpnhTANuTAdpEQFlIbC0JQXUFDBV JPRZQvsOjqfEn+v+BlhnpOBCwE9YW3o= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Va9jaw8I; dmarc=none; spf=none (imf28.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=1692382181; a=rsa-sha256; cv=none; b=7YrDX7r5DQV9ODnpIFRnVihquxassUtOR6m+NND4hNXUlM0xJT8mLcMc7yG/uTx2HdgYrX APM+z9tYBEGt3qkzOpA966s0PfgXt2fbeVqE4Hf+zwwsTKg7WF8TENqyBPVvU7XAXajlkh uC3lN91nywG0AKgKkA8aqvsTHHqUFrA= 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=VRDqbKuqBMb+gqInip+OmxdZgkD0IFs70avkREn6tD0=; b=Va9jaw8IWo48unCr5H2SXvXnG7 zLewaTKZQnZSKRn5CV43gSbB52dnfgtZQrZIxOvv50CCkfrMiWMUskSlRJDjDWBqPEq1LCKPAi2Lz TPEJRZ7CRxR6TymnJez4fgF5LVLrxv6Wi19lJxguO286EX/iv+BalcBq2DoPaACyb2mlr+znCGS3j H8Gqq8eE5oX/a2JXRiePTkZsMfS4fOMoECP6Ncs2dekZSckwVCRPreJW+R2jHn7o+6YWNth9kNPZD X+5jN9xBFw48jebwuFMaFvfCieD7U1k0aUA3qQ8Xb+Sk42HwkUOCfvLoDVkEN9THfKC09/ibgAB88 AnqB8gpg==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qX3uf-00AtC0-WE; Fri, 18 Aug 2023 18:09:34 +0000 Date: Fri, 18 Aug 2023 19:09:33 +0100 From: Matthew Wilcox To: Andrew Morton Cc: Sidhartha Kumar , linux-kernel@vger.kernel.org, linux-mm@kvack.org, songmuchun@bytedance.com, mike.kravetz@oracle.com Subject: Re: [PATCH v6] mm/filemap: remove hugetlb special casing in filemap.c Message-ID: References: <20230817181836.103744-1-sidhartha.kumar@oracle.com> <20230818110309.e9debd8b988cb8ca4a1019be@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230818110309.e9debd8b988cb8ca4a1019be@linux-foundation.org> X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 97B31C0018 X-Stat-Signature: ewnk5btb6hbojr9are4pd1rmmpms44hi X-HE-Tag: 1692382181-808318 X-HE-Meta: U2FsdGVkX18SN8M9AubV8JUINvWO9eMQaL5eGGjFS1TEJ06bngyYpn0Jb/V2I0tg0hDSBgBA9YRc4zTwZ8E5W/I9XPW1RC7neg397zg5BN0DgT8lC6UAmzBKRQyczo19cTJPNxme+xgpKue1sP2rsC8fUEFlJ5xHAlang9hr1hRJE6ByboFQDo1iURNw/eSV8oNZudp3Y648QNi3nLdCTqC0yR/jp83PF1j3ABc8P1tcYd/dAzPXCLAflvNNCsMa90Lvb7IG/bqdKMKvZOrV9F7aOcNdW/m5mhdN9z59fppdL5SP52YV0raTDW/x7ujTyypnIOKqnUPBvmggD23Y4pkfMZ9eaY8RpTqGQF9nVuP5q3lDSY5pSyRwWvsNLnMvVSK1+33lhEyZzbbqIb45vxpa0jpYBp4uZr2ufyjROXg22jGQdFFNgxY0a3X5GDJ1ilVN9XFEby7hNjmRQXBXOC+JME0PIf/NxBU/wFS5lS+EH58OyvJRldIs1R+6QAQIVowME4e1OcpPhnYOSLqA0uLo9ivEvSSU2Pe3rCQoEMeUchTkxAzuKbsYpmcG3C+S2sjJZb72ebHG5pz5Jemz9hAANK+pxgwRbheG9B0Pv4fAGqroNZYC7g/Zbd976v8/Zck7PIs6pCRFc9zzxEx0ju4ubPRatKs6qOXoEaOWH14EnzIuRczieMFHFrD8iQoCzMRM/M6sZF6cT2QTPAlAtkIt43ktVAjC9bA6z7WC1+wmElsvM8PzwEgGw6iqJ3yNtkeqYj+WmHDy4YLjfiF08zdKuRSyrlLGC4utxw2SssuadYa1O7pvke1CkHCCZ+vOQTtRJcy0zCSPO3eoIB0+xrdorOcLdOVj7nLqhHbqPpcFQY+TGeEmUzHxvYrMPuqU3XUOYFazwVO7sEkZgH/myFF9/KSRchNB5gI8Xpqr7yL3bv42rB1owSP5/ivDMqAzC7RXNVp9DgR6qRGFdzv 3iNp1mc5 bLKIGspVyIpkNNNuE2qxANVb0nzN38E15l6d4PGfyrGiHAPpUcxGYeHCOi2PQvz2hzh0reDfswatSWdy5pQGOw7gNbbvU1o0QWwZeIPT7w1tMs6puqTPuoj4rocgUi0lYEEHDY7XMGi1yfKkidJ8KyDU81Rm+v5IPkA7I 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 Fri, Aug 18, 2023 at 11:03:09AM -0700, Andrew Morton wrote: > On Thu, 17 Aug 2023 11:18:36 -0700 Sidhartha Kumar wrote: > > > Perf was used to check the performance differences after the patch. Overall > > the performance is similar to mainline with a very small larger overhead that > > occurs in __filemap_add_folio() and hugetlb_add_to_page_cache(). This is because > > of the larger overhead that occurs in xa_load() and xa_store() as the > > xarray is now using more entries to store hugetlb folios in the page cache. > > So... why merge the patch? To save 40 lines of code? > > I mean, if a patch which added 40 lines yielded a "very small" > reduction in overhead, we'd probably merge it! > > Or is there some wider reason for this which the changelog omitted? Sidhartha's benchmarks are for hugetlbfs which is where we're likely to see performance regressions. What's not shown are any performance numbers for !hugetlbfs. The functions where this patch removes code are used on _every_ page cache lookup, so given the typical difference in number of lookups performed against hugetlb vs non-hugetlb files, even saving 0.1% performance on non-hugetlb files will lead to fewer instructions executed overall. There's also a conceptual reduction in complexity. We no longer need to think about whether the inode is hugetlb or not before doing the lookup and scaling the byte offset differently.