Re: [PATCH] vfs: keep inodes with page cache off the inode shrinker LRU

From: Catalin Marinas
Date: Mon Mar 09 2020 - 11:59:52 EST


On Sun, Mar 08, 2020 at 11:58:52AM +0100, Arnd Bergmann wrote:
> - revisit CONFIG_VMSPLIT_4G_4G for arm32 (and maybe mips32)
> to see if it can be done, and what the overhead is. This is probably
> more work than the others combined, but also the most promising
> as it allows the most user address space and physical ram to be used.

A rough outline of such support (and likely to miss some corner cases):

1. Kernel runs with its own ASID and non-global page tables.

2. Trampoline code on exception entry/exit to handle the TTBR0 switching
between user and kernel.

3. uaccess routines need to be reworked to pin the user pages in memory
(get_user_pages()) and access them via the kernel address space.

Point 3 is probably the ugliest and it would introduce a noticeable
slowdown in certain syscalls.

--
Catalin