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 X-Spam-Level: X-Spam-Status: No, score=-7.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B9104C07E9B for ; Tue, 20 Jul 2021 15:17:35 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 6FE7B611F2 for ; Tue, 20 Jul 2021 15:17:35 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6FE7B611F2 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id F0E0D6B0036; Tue, 20 Jul 2021 11:17:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EBE026B005D; Tue, 20 Jul 2021 11:17:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D5E816B006C; Tue, 20 Jul 2021 11:17:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0007.hostedemail.com [216.40.44.7]) by kanga.kvack.org (Postfix) with ESMTP id AC7166B0036 for ; Tue, 20 Jul 2021 11:17:35 -0400 (EDT) Received: from smtpin31.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 2C3FA289CE for ; Tue, 20 Jul 2021 15:17:34 +0000 (UTC) X-FDA: 78383320428.31.CB83033 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf10.hostedemail.com (Postfix) with ESMTP id A5C1260019A6 for ; Tue, 20 Jul 2021 15:17:33 +0000 (UTC) Received: by mail.kernel.org (Postfix) with ESMTPSA id 160BC60BBB; Tue, 20 Jul 2021 15:17:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1626794252; bh=LtjPryF5wQ+xbt8V4dRvkcVmj+HVQ3+YnBKjwD6ZnZc=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Ej0xHGEHA2478zU7X6ZJ6wQtMml81/PK3gzs2kynQQbFxwA4cRIYlr5JoLwHFq61N kL6nNiKsbUvN2RkvRPPiKppvpu9YNJsW28LzfwgduA87qbRnWHPMUG40PvSdvnxO2o 4PRE51ENn5DrcS5asbNlvG5H3wW6q8d9ucu2wBe0zJmqorMpd37QkaJOt5G35rrog2 qIzpu47nfzNUQhXBiYpvrX+jLwXyl6sRMBUdt1KlLO8D6o5oMwCG3ehnvEkAeISnQm vrhBkCvECcc3RbfsMAwuDCCzLj7sCOEhrZlZ/Tk/Rtt6tMmJKgO8uFExcuq7Cw+ERI jctuzM8Vw77+Q== Date: Tue, 20 Jul 2021 18:17:26 +0300 From: Mike Rapoport To: Matthew Wilcox Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org Subject: Re: [PATCH v14 000/138] Memory folios Message-ID: References: <20210715033704.692967-1-willy@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: A5C1260019A6 X-Stat-Signature: byfwfzfzmr7hjkeb3cbepe8jg8nynu9c Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Ej0xHGEH; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf10.hostedemail.com: domain of rppt@kernel.org designates 198.145.29.99 as permitted sender) smtp.mailfrom=rppt@kernel.org X-HE-Tag: 1626794253-850210 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 Tue, Jul 20, 2021 at 01:41:15PM +0100, Matthew Wilcox wrote: > On Tue, Jul 20, 2021 at 01:54:38PM +0300, Mike Rapoport wrote: > > Most of the changelogs (at least at the first patches) mention reduction of > > the kernel size for your configuration on x86. I wonder, what happens if > > you build the kernel with "non-distro" configuration, e.g. defconfig or > > tiny.config? > > I did an allnoconfig build and that reduced in size by ~2KiB. > > > Also, what is the difference on !x86 builds? > > I don't generally do non-x86 builds ... feel free to compare for > yourself! I did allnoconfig and defconfig for arm64 and powerpc. All execpt arm64::defconfig show decrease by ~1KiB, while arm64::defconfig was actually increased by ~500 bytes. I didn't dig into objdumps yet. I also tried to build arm but it failed with: CC fs/remap_range.o fs/remap_range.c: In function 'vfs_dedupe_file_range_compare': fs/remap_range.c:250:3: error: implicit declaration of function 'flush_dcache_folio'; did you mean 'flush_cache_louis'? [-Werror=implicit-function-declaration] 250 | flush_dcache_folio(src_folio); | ^~~~~~~~~~~~~~~~~~ | flush_cache_louis cc1: some warnings being treated as errors > I imagine it'll be 2-4 instructions per call to > compound_head(). ie something like: > > load page into reg S > load reg S + 8 into reg T > test bottom bit of reg T > cond-move reg T - 1 to reg S > becomes > load folio into reg S > > the exact spelling of those instructions will vary from architecture to > architecture; some will take more instructions than others. Possibly it > means we end up using one fewer register and so reducing the number of > registers spilled to the stack. Probably not, though. -- Sincerely yours, Mike.