Bug 54615 - libvirt lacks NUMA support - patch error
libvirt lacks NUMA support - patch error
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Virtualization - KVM
UCS 4.4
Other Linux
: P5 normal (vote)
: UCS 4.4-8-errata
Assigned To: Philipp Hahn
Erik Damrose
:
Depends on: 49548
Blocks:
  Show dependency treegraph
 
Reported: 2022-03-29 17:00 CEST by Philipp Hahn
Modified: 2022-04-06 17:06 CEST (History)
3 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 5: Major Usability: Impairs usability in key scenarios
Who will be affected by this bug?: 1: Will affect a very few installed domains
How will those affected feel about the bug?: 5: Blocking further progress on the daily work
User Pain: 0.143
Enterprise Customer affected?: Yes
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number: 2018052521000327
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp Hahn univentionstaff 2022-03-29 17:00:48 CEST
At Bug #49548 I re-enabled NUMA support for UCS 4.3-4 Erratum, which only changed

> 25.05.19 r18583 libvirt/4.3-0-0-ucs/3.0.0-4+deb9u3-errata4.3-4

Shortly before that UCS 4.4-0 was forked, which missed that change:

> 07.05.19 r18563 ibvirt/4.4-0-0-ucs/3.0.0-4+deb9u3-errata4.4-0

Shortly after the patch a Debian update "u4" was imported for UCS 4.4-0:

> 24.06.19 r18601 libvirt/4.4-0-0-ucs/3.0.0-4+deb9u4-errata4.4-0/:

That version was then cherry-picked back to UCS 4.3-4 Erratum, undoing the change from Bug #49548:

> 24.06.19 18602 libvirt/4.3-0-0-ucs/3.0.0-4+deb9u4-errata4.3-4


$ grep -c numa 4.[34]-0-0-ucs/*/*Remove-UCS-dependencies*
4.3-0-0-ucs/3.0.0-4+deb9u1/0001-Bug-35768-Bug-39685-Remove-UCS-dependencies.patch:6
4.3-0-0-ucs/3.0.0-4+deb9u2-errata4.3-0/0001-Bug-35768-Bug-39685-Remove-UCS-dependencies.patch:6
4.3-0-0-ucs/3.0.0-4+deb9u3-errata4.3-0/0001-Bug-35768-Bug-39685-Remove-UCS-dependencies.patch:6
4.3-0-0-ucs/3.0.0-4+deb9u3-errata4.3-2/0001-Bug-35768-Bug-39685-Remove-UCS-dependencies.patch:6
4.3-0-0-ucs/3.0.0-4+deb9u3-errata4.3-3/0001-Bug-35768-Bug-39685-Remove-UCS-dependencies.patch:6
4.3-0-0-ucs/3.0.0-4+deb9u3-errata4.3-4/0001-Bug-35768-Bug-39685-Remove-UCS-dependencies.patch:0 <==
4.3-0-0-ucs/3.0.0-4+deb9u4-errata4.3-4/0001-Bug-35768-Bug-39685-Remove-UCS-dependencies.patch:6
4.4-0-0-ucs/3.0.0-4+deb9u3-errata4.4-0/0001-Bug-35768-Bug-39685-Remove-UCS-dependencies.patch:6
4.4-0-0-ucs/3.0.0-4+deb9u4-errata4.4-0/0001-Bug-35768-Bug-39685-Remove-UCS-dependencies.patch:6
4.4-0-0-ucs/3.0.0-4+deb9u5-errata4.4-6/0001-Bug-35768-Bug-39685-Remove-UCS-dependencies.patch:6

This again disabled NUMA support:
$ virsh nodeinfo
…
> NUMA cell(s):        4
$ virsh capabilities
…
> <capabilities>
>   <host>
>     <topology>
>       <cells num='1'>
>         <cell id='0'>
>           <memory unit='KiB'>41197736</memory>
>           <cpus num='16'>
>             <cpu id='0' socket_id='0' core_id='0' siblings='0'/>
>             <cpu id='1' socket_id='0' core_id='1' siblings='1'/>
>             <cpu id='2' socket_id='0' core_id='2' siblings='2'/>
>             <cpu id='3' socket_id='0' core_id='3' siblings='3'/>
>             <cpu id='0'/>
>             <cpu id='0'/>
>             <cpu id='0'/>
>             <cpu id='0'/>
>             <cpu id='0'/>
>             <cpu id='0'/>
>             <cpu id='0'/>
>             <cpu id='0'/>
>             <cpu id='0'/>
>             <cpu id='0'/>
>             <cpu id='0'/>
>             <cpu id='0'/>
>           </cpus>
>         </cell>
>       </cells>
>     </topology>

Please note that only ¼ of the CPU on that 4 socket NUMA system are reported correctly; the others are reported incomplete because libvirt was compiled "--without-numactl --without-numad" according to /var/univention/buildsystem2/logs/ucs_4.4-0-errata4.4-6/libvirt_3.0.0-4+deb9u5A~4.4.6.202010050915.log.bz2

Because of that libvirt is not aware of NUMA and does not talk to numad, which is used to automatically advise libvirt of the best placement.

+++ This bug was initially created as a clone of Bug #49548 +++
Comment 1 Philipp Hahn univentionstaff 2022-03-29 18:32:05 CEST
r19558 | Bug #54615: libvirt +NUMA

Package: libvirt
Version: 3.0.0-4+deb9u5A~4.4.8.202203291813
Branch: ucs_4.4-0
Scope: errata4.4-8

[4.4-8] 7deff24784 Bug #54615: libvirt 3.0.0-4+deb9u5A~4.4.8.202203291813
 doc/errata/staging/libvirt.yaml | 11 +++++++++++
 1 file changed, 11 insertions(+)
Comment 2 Erik Damrose univentionstaff 2022-04-06 16:44:34 CEST
OK: Added missing patches
OK: libvirt 3.0.0-4+deb9u5A~4.4.8.202203291813
OK: NUMA support works fine in our internal environment for several days
OK: yaml
Verified