Re: [PATCH 1/2] powerpc/vdso: Add a page for non-time data
From: Thomas Weißschuh <hidden>
Date: 2024-10-02 08:54:26
Also in:
lkml
Hi Christophe, On Wed, Oct 02, 2024 at 10:39:28AM GMT, Christophe Leroy wrote:
The page containing VDSO time data is swapped with the one containing TIME namespace data when a process uses a non-root time namespace. For other data like powerpc specific data and RNG data, it means tracking whether time namespace is the root one or not to know which page to use. Simplify the logic behind by moving time data out of first data page so that the first data page which contains everything else always remains the first page. Time data is in the second or third page depending on selected time namespace. While we are playing with get_datapage macro, directly take into account the data offset inside the macro instead of adding that offset afterwards.
FYI I am currently working on a series to unify the storage of the VDSO data for most architectures, including powerpc. This will also include a dedicated rng data page. That generic infrastructure would replace the need for Patch 1. Obviously, if your series gets applied, I can adapt mine for that. If you are about to also modify other architectures in a similar way, we may want to coordinate.
Signed-off-by: Christophe Leroy <redacted> --- arch/powerpc/include/asm/vdso_datapage.h | 24 +++++++----------------- arch/powerpc/kernel/vdso.c | 16 ++++++++++------ arch/powerpc/kernel/vdso/cacheflush.S | 2 +- arch/powerpc/kernel/vdso/datapage.S | 4 ++-- arch/powerpc/kernel/vdso/getrandom.S | 3 +-- arch/powerpc/kernel/vdso/gettimeofday.S | 5 ++--- arch/powerpc/kernel/vdso/vdso32.lds.S | 2 +- arch/powerpc/kernel/vdso/vdso64.lds.S | 2 +- 8 files changed, 25 insertions(+), 33 deletions(-)
Thomas