[PATCH v2] AArch64: Check kernel version for SVE ifuncs
Szabolcs Nagy
Szabolcs.Nagy@arm.com
Wed Mar 20 16:13:29 GMT 2024
The 03/20/2024 16:39, Florian Weimer wrote:
> * Szabolcs Nagy:
>
> > The 03/18/2024 14:14, Wilco Dijkstra wrote:
> >>
> >> v2: Add __LINUX_KERNEL_VERSION #ifdefs, improve parser, use 8:8:8 format.
> >>
> >> Old Linux kernels disable SVE after every system call. Calling the
> >> SVE-optimized memcpy afterwards will then cause a trap to reenable SVE.
> >> As a result, applications with a high use of syscalls may run slower with
> >> the SVE memcpy. This is true for kernels between 4.15.0 and before 6.2.0,
> >> except for 5.14.0 which was patched. Avoid this by checking the kernel
> >> version and selecting the SVE ifunc on modern kernels.
> >>
> >> Parse the kernel version reported by uname() into a 24-bit kernel.major.minor
> >> value without calling any library functions. If uname() is not supported or
> >> if the version format is not recognized, assume the kernel is modern.
> >>
> >> Passes regress, OK for commit?
> >
> > OK to commit. (clearly a hack but what can we do..)
> >
> > Reviewed-by: Szabolcs Nagy <szabolcs.nagy@arm.com>
>
> I have not had a chance to test this yet with the el9 kernel.
>
> I will try to do this tomorrow.
>
> Do we need to include other distribution LTS kernels in the version
> check?
i checked some (suse,ubuntu,debian) and they didn't have the
SVE backport (maybe we should request those backports, but
today the version check looks ok)
>
> Thanks,
> Florian
>
More information about the Libc-alpha
mailing list