Thread (389 messages) 389 messages, 13 authors, 2021-08-21

Re: [PATCH v14 000/138] Memory folios

From: Mike Rapoport <rppt@kernel.org>
Date: 2021-07-20 15:57:56
Also in: linux-fsdevel, lkml

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:
quoted
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.
quoted
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help