Re: [PATCH] powerpc/vas: do not set uses_vas for kernel windows
From: Sukadev Bhattiprolu <hidden>
Date: 2018-02-10 04:57:32
Nicholas Piggin [npiggin@gmail.com] wrote:
cp_abort is only required or user windows, because kernel context must not be preempted between a copy/paste pair.
Yes, that is a good optimization.
Without this patch, the init task gets used_vas set when it runs the nx842_powernv_init initcall, which opens windows for kernel usage. used_vas is then never cleared anywhere, so it gets propagated into all other tasks. It's a property of the address space, so it should really be cleared when a new mm is created (or in dup_mmap if the mmaps are marked as VM_DONTCOPY). For now we seem to have no such driver, so leave that for another patch.
If the parent process has the paste address mapped, the child inherits those mappings - so we can't clear the ->used_vas in a process until it has unmapped all the send windows right? If VM_DONCOPY is set, then we can clear it.
Cc: Sukadev Bhattiprolu <redacted> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Sukadev Bhattiprolu <redacted>