New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linux 5.0: _kernel_fpu{begin,end} no longer exported #8259
Comments
|
The underlying issue comes from kernel commit 12209993e98c5fa1855c467f22a24e3d5b8be205 ("x86/fpu: Don't export _kernel_fpu{begin,end}()"), which unexports __kernel_fpu_begin(), and causes the configure tests not to define HAVE_FPU_API_H. Changing the header locations will just lead to another failure later because kernel_fpu_begin/end() are exported GPL, and can't be used directly from the zfs module. See the thread on LKML starting here: https://marc.info/?l=linux-kernel&m=154689892914091 Marc |
|
@mdionne thanks for bringing this to our attention. Hopefully they change their minds and |
|
https://marc.info/?l=linux-kernel&m=154714516832389&w=2 Gotta love the replies. Greg K-H:
|
This comment has been minimized.
This comment has been minimized.
|
I think we need to operate under the assumption that they're not going to export the functions, and just disable the vectorized versions of the checksums if |
The 5.0 kernel no longer exports the functions we need to vector (SSE/SSE2/SSE3/AVX...) instructions. Disable vector-based checksum algorithms when building against those kernels. Signed-off-by: Tony Hutter <hutter2@llnl.gov> Fixes: openzfs#8259
The 5.0 kernel no longer exports the functions we need to vector (SSE/SSE2/SSE3/AVX...) instructions. Disable vector-based checksum algorithms when building against those kernels. Signed-off-by: Tony Hutter <hutter2@llnl.gov> Fixes: openzfs#8259
The 5.0 kernel no longer exports the functions we need to do vector (SSE/SSE2/SSE3/AVX...) instructions. Disable vector-based checksum algorithms when building against those kernels. Signed-off-by: Tony Hutter <hutter2@llnl.gov> Fixes: openzfs#8259
The 5.0 kernel no longer exports the functions we need to do vector (SSE/SSE2/SSE3/AVX...) instructions. Disable vector-based checksum algorithms when building against those kernels. Signed-off-by: Tony Hutter <hutter2@llnl.gov> Fixes: openzfs#8259
The 5.0 kernel no longer exports the functions we need to do vector (SSE/SSE2/SSE3/AVX...) instructions. Disable vector-based checksum algorithms when building against those kernels. Signed-off-by: Tony Hutter <hutter2@llnl.gov> Fixes: openzfs#8259
The 5.0 kernel no longer exports the functions we need to do vector (SSE/SSE2/SSE3/AVX...) instructions. Disable vector-based checksum algorithms when building against those kernels. Signed-off-by: Tony Hutter <hutter2@llnl.gov> Fixes: openzfs#8259
The 5.0 kernel no longer exports the functions we need to do vector (SSE/SSE2/SSE3/AVX...) instructions. Disable vector-based checksum algorithms when building against those kernels. Signed-off-by: Tony Hutter <hutter2@llnl.gov> Fixes: openzfs#8259
The 5.0 kernel no longer exports the functions we need to do vector (SSE/SSE2/SSE3/AVX...) instructions. Disable vector-based checksum algorithms when building against those kernels. Signed-off-by: Tony Hutter <hutter2@llnl.gov> Fixes: openzfs#8259
The 5.0 kernel no longer exports the functions we need to do vector (SSE/SSE2/SSE3/AVX...) instructions. Disable vector-based checksum algorithms when building against those kernels. Signed-off-by: Tony Hutter <hutter2@llnl.gov> Fixes: openzfs#8259
The 5.0 kernel no longer exports the functions we need to do vector (SSE/SSE2/SSE3/AVX...) instructions. Disable vector-based checksum algorithms when building against those kernels. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes openzfs#8259
This patch fixes a few issues when detecting which kernel_fpu functions are available. - Use kernel_fpu_begin() if it's exported on newer kernels. - Use ZFS_LINUX_TRY_COMPILE_SYMBOL() to choose the right kernel_fpu function when using --enable-linux-builtin. Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes: openzfs#8259
This patch fixes a few issues when detecting which kernel_fpu functions are available. - Use kernel_fpu_begin() if it's exported on newer kernels. - Use ZFS_LINUX_TRY_COMPILE_SYMBOL() to choose the right kernel_fpu function when using --enable-linux-builtin. Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes: openzfs#8259
The 5.0 kernel no longer exports the functions we need to do vector (SSE/SSE2/SSE3/AVX...) instructions. Disable vector-based checksum algorithms when building against those kernels. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes openzfs#8259
The 5.0 kernel no longer exports the functions we need to do vector (SSE/SSE2/SSE3/AVX...) instructions. Disable vector-based checksum algorithms when building against those kernels. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes #8259
This patch fixes a few issues when detecting which kernel_fpu functions are available. - Use kernel_fpu_begin() if it's exported on newer kernels. - Use ZFS_LINUX_TRY_COMPILE_SYMBOL() to choose the right kernel_fpu function when using --enable-linux-builtin. Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes: openzfs#8259
This patch fixes a few issues when detecting which kernel_fpu functions are available. - Use kernel_fpu_begin() if it's exported on newer kernels. - Use ZFS_LINUX_TRY_COMPILE_SYMBOL() to choose the right kernel_fpu function when using --enable-linux-builtin. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Tony Hutter <hutter2@llnl.gov> Closes #8259 Closes #8363
|
Looks like the kernel people may have backported their patch to older kernels:
|
System information
Describe the problem you're observing
The 4.2 kernel refractored the FPU code: https://lwn.net/Articles/643235/ It seems the latest kernels removed the old compatibility headers.
We need to rename our #includes
<asm/i387.h> -> <asm/fpu/api.h>and<asm/xcr.h> -> <asm/fpu/internal.h>on newer kernels.Describe how to reproduce the problem
makeon rawhide with ZFS masterInclude any warning/errors/backtraces from the system logs
The text was updated successfully, but these errors were encountered: