diff options
author | Benjamin Berg <benjamin.berg@intel.com> | 2024-07-03 15:45:35 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2024-07-03 17:09:50 +0200 |
commit | 573a446fc8ea4ca9be60b1db2091297da48d0a0d (patch) | |
tree | e2354f08dc0a3372a49211304d2ce1a199e4b37b /arch/um/include | |
parent | ef714f15027ca6f72e90d9a198c72e93b855e2a8 (diff) | |
download | linux-stable-573a446fc8ea4ca9be60b1db2091297da48d0a0d.tar.gz linux-stable-573a446fc8ea4ca9be60b1db2091297da48d0a0d.tar.bz2 linux-stable-573a446fc8ea4ca9be60b1db2091297da48d0a0d.zip |
um: simplify and consolidate TLB updates
The HVC update was mostly used to compress consecutive calls into one.
This is mostly relevant for userspace where it is already handled by the
syscall stub code.
Simplify the whole logic and consolidate it for both kernel and
userspace. This does remove the sequential syscall compression for the
kernel, however that shouldn't be the main factor in most runs.
Signed-off-by: Benjamin Berg <benjamin.berg@intel.com>
Link: https://patch.msgid.link/20240703134536.1161108-12-benjamin@sipsolutions.net
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'arch/um/include')
-rw-r--r-- | arch/um/include/shared/os.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/um/include/shared/os.h b/arch/um/include/shared/os.h index 345b117aff0b..9a039d6f1f74 100644 --- a/arch/um/include/shared/os.h +++ b/arch/um/include/shared/os.h @@ -279,12 +279,12 @@ int syscall_stub_flush(struct mm_id *mm_idp); struct stub_syscall *syscall_stub_alloc(struct mm_id *mm_idp); void syscall_stub_dump_error(struct mm_id *mm_idp); -void map(struct mm_id *mm_idp, unsigned long virt, - unsigned long len, int prot, int phys_fd, - unsigned long long offset); -void unmap(struct mm_id *mm_idp, unsigned long addr, unsigned long len); -void protect(struct mm_id *mm_idp, unsigned long addr, - unsigned long len, unsigned int prot); +int map(struct mm_id *mm_idp, unsigned long virt, + unsigned long len, int prot, int phys_fd, + unsigned long long offset); +int unmap(struct mm_id *mm_idp, unsigned long addr, unsigned long len); +int protect(struct mm_id *mm_idp, unsigned long addr, + unsigned long len, unsigned int prot); /* skas/process.c */ extern int is_skas_winch(int pid, int fd, void *data); |