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 <christophe.le...@csgroup.eu> > --- > 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