linux/arch
Linus Torvalds 6a31ffdfed Merge branch 'word-at-a-time'
Merge minor word-at-a-time instruction choice improvements for x86 and
arm64.

This is the second of four branches that came out of me looking at the
code generation for path lookup on arm64.

The word-at-a-time infrastructure is used to do string operations in
chunks of one word both when copying the pathname from user space (in
strncpy_from_user()), and when parsing and hashing the individual path
components (in link_path_walk()).

In particular, the "find the first zero byte" uses various bit tricks to
figure out the end of the string or path component, and get the length
without having to do things one byte at a time.  Both x86-64 and arm64
had less than optimal code choices for that.

The commit message for the arm64 change in particular tries to explain
the exact code flow for the zero byte finding for people who care.  It's
made a bit more complicated by the fact that we support big-endian
hardware too, and so we have some extra abstraction layers to allow
different models for finding the zero byte, quite apart from the issue
of picking specialized instructions.

* word-at-a-time:
  arm64: word-at-a-time: improve byte count calculations for LE
  x86-64: word-at-a-time: improve byte count calculations
2024-07-15 08:55:10 -07:00
..
alpha mseal: wire up mseal syscall 2024-05-23 19:40:26 -07:00
arc bpf-for-netdev 2024-05-27 16:26:30 -07:00
arm ARM: davinci: Convert comma to semicolon 2024-07-10 15:22:08 +02:00
arm64 Merge branch 'word-at-a-time' 2024-07-15 08:55:10 -07:00
csky syscalls: mmap(): use unsigned offset type consistently 2024-06-25 15:57:38 +02:00
hexagon hexagon: fix fadvise64_64 calling conventions 2024-06-25 15:57:37 +02:00
loongarch syscalls: mmap(): use unsigned offset type consistently 2024-06-25 15:57:38 +02:00
m68k mseal: wire up mseal syscall 2024-05-23 19:40:26 -07:00
microblaze syscalls: mmap(): use unsigned offset type consistently 2024-06-25 15:57:38 +02:00
mips syscalls: fix compat_sys_io_pgetevents_time64 usage 2024-06-25 15:57:20 +02:00
nios2 Kbuild updates for v6.10 2024-05-18 12:39:20 -07:00
openrisc
parisc parisc: use generic sys_fanotify_mark implementation 2024-06-25 15:57:25 +02:00
powerpc powerpc fixes for 6.10 #4 2024-07-06 18:31:24 -07:00
riscv RISC-V Fixes for 6.10-rc7 2024-07-05 12:22:51 -07:00
s390 s390/mm: Add NULL pointer check to crst_table_free() base_crst_free() 2024-07-09 07:38:39 -07:00
sh sh: rework sync_file_range ABI 2024-06-25 15:57:26 +02:00
sparc sparc: fix compat recv/recvfrom syscalls 2024-06-25 15:57:25 +02:00
um This pull request contains the following changes for UML: 2024-05-25 13:17:48 -07:00
x86 Merge branch 'word-at-a-time' 2024-07-15 08:55:10 -07:00
xtensa arch/xtensa: always_inline get_current() and current_thread_info() 2024-07-09 15:41:10 -07:00
.gitignore
Kconfig Revert "mm: mmap: allow for the maximum number of bits for randomizing mmap_base by default" 2024-06-17 12:57:03 -07:00