v2->v1:
Add patch "Refactor asm/vdso.h" to avoid vdso.lds syntax error if
CONFIG_GENERIC_TIME_VSYSCALL=n.
1) Refactor the asm/vdso.h to avoid vdso.lds syntax error.
2) Move vdso data page up front and introduce enum vvar_pages, To pave the
way for the subsequent support of TIME_NS, the support of TIME_NS will be
issued in the later patch.
3) In arch_setup_additional_pages(), make Wait for the lock in the
killable mode and return with EINTR if the task got killed while waiting.
Tong Tiangen (3):
riscv/vdso: Refactor asm/vdso.h
riscv/vdso: Move vdso data page up front
riscv/vdso: make arch_setup_additional_pages wait for mmap_sem for
write killable
arch/riscv/include/asm/syscall.h | 1 +
arch/riscv/include/asm/vdso.h | 10 ++----
arch/riscv/kernel/syscall_table.c | 1 -
arch/riscv/kernel/vdso.c | 53 +++++++++++++++++++------------
arch/riscv/kernel/vdso/vdso.lds.S | 3 +-
5 files changed, 39 insertions(+), 29 deletions(-)
--
2.18.0.huawei.25
On 2021/8/20 20:50, Tong Tiangen wrote:
> v2->v1:
> Add patch "Refactor asm/vdso.h" to avoid vdso.lds syntax error if
> CONFIG_GENERIC_TIME_VSYSCALL=n.
This is better than v1.
>
> 1) Refactor the asm/vdso.h to avoid vdso.lds syntax error.
>
> 2) Move vdso data page up front
MoveĀ vdso data page before code page could save the problem which the
.text
section could be bigger than PAGE_SIZE.
> and introduce enum vvar_pages, To pave the
> way for the subsequent support of TIME_NS, the support of TIME_NS will be
> issued in the later patch.
This makes it easier to introduce new features TIME_NS.
>
> 3) In arch_setup_additional_pages(), make Wait for the lock in the
> killable mode and return with EINTR if the task got killed while waiting.
For series,
Reviewed-by: Kefeng Wang <[email protected]>
> Tong Tiangen (3):
> riscv/vdso: Refactor asm/vdso.h
> riscv/vdso: Move vdso data page up front
> riscv/vdso: make arch_setup_additional_pages wait for mmap_sem for
> write killable
>
> arch/riscv/include/asm/syscall.h | 1 +
> arch/riscv/include/asm/vdso.h | 10 ++----
> arch/riscv/kernel/syscall_table.c | 1 -
> arch/riscv/kernel/vdso.c | 53 +++++++++++++++++++------------
> arch/riscv/kernel/vdso/vdso.lds.S | 3 +-
> 5 files changed, 39 insertions(+), 29 deletions(-)
>