[pve-devel] applied: [PATCH pve-ceph] fix compatibility with CPUs not supporting SSE 4.1 instructions

Thomas Lamprecht t.lamprecht at proxmox.com
Tue Oct 31 10:52:12 CET 2023


On 18/09/2023 17:46, Stefan Hanreich wrote:
> One of our users ran into issues with running Ceph on older CPU
> architectures [1]. This is apparently due to a bug in gcc-12 that
> leads to SSE 4.1 instructions always being executed rather than
> dynamically dispatching functions using those instructions. Those
> binaries then break on older CPUs that do not support this instruction
> set.
> 
> I've ran some benchmarks with `rados bench` against our last release
> (18.2.0-pve2) and this new version. The commands were taken from our
> latest Ceph benchmarking paper [2]. The results showed that this patch
> does not lead to performance regressions on newer hardware.
> 
>                   18.2.0-pve2    this patch
> Read EC           4574.28        4651.95
> Write EC          3739.59        3773.87
> Read Replicated   5345.34        5568.41
> Write Replicated  4123.28        4066.19
> (numbers correspond to bandwidth in MB/s)
> 
> [1] https://forum.proxmox.com/threads/proxmox-8-ceph-quincy-monitor-no-longer-working-on-amd-opteron-2427.129613
> [2] https://www.proxmox.com/en/downloads/proxmox-virtual-environment/documentation/proxmox-ve-ceph-benchmark-2020-09
> 
> Signed-off-by: Stefan Hanreich <s.hanreich at proxmox.com>
> ---
>  ...y-with-CPUs-not-supporting-SSE-4.1-i.patch | 32 +++++++++++++++++++
>  patches/series                                |  1 +
>  2 files changed, 33 insertions(+)
>  create mode 100644 patches/0015-fix-compatibility-with-CPUs-not-supporting-SSE-4.1-i.patch
> 
>

applied, with a reworded commit message, shifting the blame to the
combination of gf-complete and gcc-12, as the former does some rather
funky stuff too, thanks!

Having this reported to the GCC and/or gf-complete people, ideally
with a reduced example (compiling ceph is a bit overkill ;-)

Using elfx86exts [0] as mentioned in the debian bug [1] should be
enough to ensure your reduced example is still affected and contains
SSE 4.1 instructions.

[0]: https://github.com/pkgw/elfx86exts
[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1012935#10





More information about the pve-devel mailing list