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