Re: [PATCH v14 000/138] Memory folios

Matthew Wilcox
2021-07-20T15:46:13Z

On Tue, Jul 20, 2021 at 06:17:26PM +0300, Mike Rapoport wrote:
> 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.

Which patch did you go up to for that? If you're going past patch 50 or
so, then you're starting to add functionality (ie support for arbitrary
order pages), so a certain amount of extra code size might be expected.
I measured 6KB at patch 32 or so, then between patch 32 & 50 was pretty
much a wash.

> 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

Already complained about by the build bot; already fixed. You should
maybe look at the git tree if you're doing more than code review.