Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| aa26132525 | |||
| 13c7e925aa | |||
| a80c5e3597 | |||
| 149fd91bb2 | |||
| 362d3432be | |||
| f5ed5be89a | |||
| 5891aaec34 | |||
| 63e591d8a9 | |||
| d855afe7be | |||
| 34d701d1ac | |||
| 40fe66e33e | |||
| 1b7710c13c | |||
| 2f5fca8a1a | |||
| 8ba2c83746 | |||
| dff6b68bf5 |
@@ -81,8 +81,7 @@ $(BUILDDIR): $(SRCDIR)/README.md $(SRCDIR) debian
|
|||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(PACKAGE)-[0-9]*/
|
rm -rf *~ *.deb *.changes *.buildinfo *.build *.dsc *.orig.tar.* *.debian.tar.* $(ZFSDIR)
|
||||||
rm -f *~ *.deb *.changes *.buildinfo *.build *.dsc *.orig.tar.* *.debian.tar.*
|
|
||||||
|
|
||||||
.PHONY: distclean
|
.PHONY: distclean
|
||||||
distclean: clean
|
distclean: clean
|
||||||
|
|||||||
Vendored
-12
@@ -1,15 +1,3 @@
|
|||||||
zfs-linux (2.1.15-pve1) bullseye; urgency=medium
|
|
||||||
|
|
||||||
* update ZFS to 2.1.15
|
|
||||||
|
|
||||||
-- Proxmox Support Team <support@proxmox.com> Fri, 29 Mar 2024 15:18:31 +0100
|
|
||||||
|
|
||||||
zfs-linux (2.1.14-pve1) bullseye; urgency=medium
|
|
||||||
|
|
||||||
* update ZFS to 2.1.14
|
|
||||||
|
|
||||||
-- Proxmox Support Team <support@proxmox.com> Fri, 01 Dec 2023 13:47:16 +0100
|
|
||||||
|
|
||||||
zfs-linux (2.1.13-pve1) bookworm; urgency=medium
|
zfs-linux (2.1.13-pve1) bookworm; urgency=medium
|
||||||
|
|
||||||
* update ZFS to 2.1.13
|
* update ZFS to 2.1.13
|
||||||
|
|||||||
Vendored
-14
@@ -285,17 +285,3 @@ Description: Solaris Porting Layer user-space utilities for Linux (dummy)
|
|||||||
to Linux primitives.
|
to Linux primitives.
|
||||||
.
|
.
|
||||||
This is a transitional dummy package. It can safely be removed.
|
This is a transitional dummy package. It can safely be removed.
|
||||||
|
|
||||||
Package: zfs-dbg
|
|
||||||
Section: contrib/metapackages
|
|
||||||
Architecture: all
|
|
||||||
Suggests: libnvpair3linux-dbgsym,
|
|
||||||
libpam-zfs-dbgsym,
|
|
||||||
libuutil3linux-dbgsym,
|
|
||||||
libzfs4linux-dbgsym,
|
|
||||||
libzfsbootenv1linux-dbgsym,
|
|
||||||
libzpool5linux-dbgsym,
|
|
||||||
zfs-test-dbgsym,
|
|
||||||
zfsutils-linux-dbgsym,
|
|
||||||
zfs-zed-dbgsym,
|
|
||||||
Description: Transitional package. It can be safely removed.
|
|
||||||
|
|||||||
-87
@@ -1,87 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Rich Ercolani <214141+rincebrain@users.noreply.github.com>
|
|
||||||
Date: Sat, 26 Aug 2023 14:25:46 -0400
|
|
||||||
Subject: [PATCH] Avoid save/restoring AMX registers to avoid a SPR erratum
|
|
||||||
|
|
||||||
Intel SPR erratum SPR4 says that if you trip into a vmexit while
|
|
||||||
doing FPU save/restore, your AMX register state might misbehave...
|
|
||||||
and by misbehave, I mean save all zeroes incorrectly, leading to
|
|
||||||
explosions if you restore it.
|
|
||||||
|
|
||||||
Since we're not using AMX for anything, the simple way to avoid
|
|
||||||
this is to just not save/restore those when we do anything, since
|
|
||||||
we're killing preemption of any sort across our save/restores.
|
|
||||||
|
|
||||||
If we ever decide to use AMX, it's not clear that we have any
|
|
||||||
way to mitigate this, on Linux...but I am not an expert.
|
|
||||||
|
|
||||||
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
|
|
||||||
Signed-off-by: Rich Ercolani <rincebrain@gmail.com>
|
|
||||||
Closes #14989
|
|
||||||
Closes #15168
|
|
||||||
(cherry picked from commit 277f2e587b085d1eb8aa48b4ac0768a9ef5745ab)
|
|
||||||
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
|
||||||
---
|
|
||||||
include/os/linux/kernel/linux/simd_x86.h | 19 ++++++++++++++-----
|
|
||||||
1 file changed, 14 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/include/os/linux/kernel/linux/simd_x86.h b/include/os/linux/kernel/linux/simd_x86.h
|
|
||||||
index 660f0d42d..455167ac8 100644
|
|
||||||
--- a/include/os/linux/kernel/linux/simd_x86.h
|
|
||||||
+++ b/include/os/linux/kernel/linux/simd_x86.h
|
|
||||||
@@ -157,6 +157,15 @@
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#ifndef XFEATURE_MASK_XTILE
|
|
||||||
+/*
|
|
||||||
+ * For kernels where this doesn't exist yet, we still don't want to break
|
|
||||||
+ * by save/restoring this broken nonsense.
|
|
||||||
+ * See issue #14989 or Intel errata SPR4 for why
|
|
||||||
+ */
|
|
||||||
+#define XFEATURE_MASK_XTILE 0x60000
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#include <linux/mm.h>
|
|
||||||
#include <linux/slab.h>
|
|
||||||
|
|
||||||
@@ -319,18 +328,18 @@ kfpu_begin(void)
|
|
||||||
union fpregs_state *state = zfs_kfpu_fpregs[smp_processor_id()];
|
|
||||||
#if defined(HAVE_XSAVES)
|
|
||||||
if (static_cpu_has(X86_FEATURE_XSAVES)) {
|
|
||||||
- kfpu_do_xsave("xsaves", &state->xsave, ~0);
|
|
||||||
+ kfpu_do_xsave("xsaves", &state->xsave, ~XFEATURE_MASK_XTILE);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#if defined(HAVE_XSAVEOPT)
|
|
||||||
if (static_cpu_has(X86_FEATURE_XSAVEOPT)) {
|
|
||||||
- kfpu_do_xsave("xsaveopt", &state->xsave, ~0);
|
|
||||||
+ kfpu_do_xsave("xsaveopt", &state->xsave, ~XFEATURE_MASK_XTILE);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
if (static_cpu_has(X86_FEATURE_XSAVE)) {
|
|
||||||
- kfpu_do_xsave("xsave", &state->xsave, ~0);
|
|
||||||
+ kfpu_do_xsave("xsave", &state->xsave, ~XFEATURE_MASK_XTILE);
|
|
||||||
} else if (static_cpu_has(X86_FEATURE_FXSR)) {
|
|
||||||
kfpu_save_fxsr(&state->fxsave);
|
|
||||||
} else {
|
|
||||||
@@ -415,12 +424,12 @@ kfpu_end(void)
|
|
||||||
union fpregs_state *state = zfs_kfpu_fpregs[smp_processor_id()];
|
|
||||||
#if defined(HAVE_XSAVES)
|
|
||||||
if (static_cpu_has(X86_FEATURE_XSAVES)) {
|
|
||||||
- kfpu_do_xrstor("xrstors", &state->xsave, ~0);
|
|
||||||
+ kfpu_do_xrstor("xrstors", &state->xsave, ~XFEATURE_MASK_XTILE);
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
if (static_cpu_has(X86_FEATURE_XSAVE)) {
|
|
||||||
- kfpu_do_xrstor("xrstor", &state->xsave, ~0);
|
|
||||||
+ kfpu_do_xrstor("xrstor", &state->xsave, ~XFEATURE_MASK_XTILE);
|
|
||||||
} else if (static_cpu_has(X86_FEATURE_FXSR)) {
|
|
||||||
kfpu_restore_fxsr(&state->fxsave);
|
|
||||||
} else {
|
|
||||||
--
|
|
||||||
2.39.2
|
|
||||||
|
|
||||||
Vendored
-1
@@ -8,4 +8,3 @@
|
|||||||
0008-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
|
0008-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
|
||||||
0009-arcstat-Fix-integer-division-with-python3.patch
|
0009-arcstat-Fix-integer-division-with-python3.patch
|
||||||
0010-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch
|
0010-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch
|
||||||
0011-Avoid-save-restoring-AMX-registers-to-avoid-a-SPR-er.patch
|
|
||||||
|
|||||||
Vendored
-3
@@ -91,9 +91,6 @@ override_dh_python3:
|
|||||||
override_dh_makeshlibs:
|
override_dh_makeshlibs:
|
||||||
dh_makeshlibs -a -V
|
dh_makeshlibs -a -V
|
||||||
|
|
||||||
override_dh_strip:
|
|
||||||
dh_strip --dbgsym-migration='zfs-dbg (<< 2.0.4~)'
|
|
||||||
|
|
||||||
override_dh_auto_clean:
|
override_dh_auto_clean:
|
||||||
find . -name .gitignore -delete
|
find . -name .gitignore -delete
|
||||||
rm -rf zfs-$(DEB_VERSION_UPSTREAM)
|
rm -rf zfs-$(DEB_VERSION_UPSTREAM)
|
||||||
|
|||||||
Vendored
-2
@@ -31,7 +31,6 @@ sbin/zstream
|
|||||||
sbin/zstreamdump
|
sbin/zstreamdump
|
||||||
usr/bin/zvol_wait
|
usr/bin/zvol_wait
|
||||||
usr/lib/modules-load.d/ lib/
|
usr/lib/modules-load.d/ lib/
|
||||||
usr/lib/zfs-linux/zfs_prepare_disk
|
|
||||||
usr/lib/zfs-linux/zpool.d/
|
usr/lib/zfs-linux/zpool.d/
|
||||||
usr/lib/zfs-linux/zpool_influxdb
|
usr/lib/zfs-linux/zpool_influxdb
|
||||||
usr/sbin/arc_summary
|
usr/sbin/arc_summary
|
||||||
@@ -69,7 +68,6 @@ usr/share/man/man8/zfs-list.8
|
|||||||
usr/share/man/man8/zfs-load-key.8
|
usr/share/man/man8/zfs-load-key.8
|
||||||
usr/share/man/man8/zfs-mount-generator.8
|
usr/share/man/man8/zfs-mount-generator.8
|
||||||
usr/share/man/man8/zfs-mount.8
|
usr/share/man/man8/zfs-mount.8
|
||||||
usr/share/man/man8/zfs_prepare_disk.8
|
|
||||||
usr/share/man/man8/zfs-program.8
|
usr/share/man/man8/zfs-program.8
|
||||||
usr/share/man/man8/zfs-project.8
|
usr/share/man/man8/zfs-project.8
|
||||||
usr/share/man/man8/zfs-projectspace.8
|
usr/share/man/man8/zfs-projectspace.8
|
||||||
|
|||||||
+1
-1
Submodule upstream updated: fb6d532066...eb62221ff0
Reference in New Issue
Block a user