RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1344494 - [RFE] SLIT table in KVM differs from Host SLIT table - libvirt
Summary: [RFE] SLIT table in KVM differs from Host SLIT table - libvirt
Keywords:
Status: CLOSED DUPLICATE of bug 1454889
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libvirt
Version: 7.2
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: rc
: 7.6
Assignee: Michal Privoznik
QA Contact: Luyao Huang
URL:
Whiteboard:
Depends On: 1344450
Blocks: 1344497
TreeView+ depends on / blocked
 
Reported: 2016-06-09 19:39 UTC by Karen Noel
Modified: 2018-02-27 14:07 UTC (History)
17 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of: 1344450
: 1344497 (view as bug list)
Environment:
Last Closed: 2018-02-27 14:07:15 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Karen Noel 2016-06-09 19:39:54 UTC
+++ This bug was initially created as a clone of Bug #1344450 +++

Description of problem:
Partner uses information in the SLIT table to make NUMA placement decisions in their application.  Without accurate information, performance can be impacted.

Passing the correct SLIT table information from the host to the guest seems to make sense as long as the CPUs are pinned in a 1-to-1 fashion between the host and guest.  If the guest consumes all the numa nodes, then the whole table could be passed.  In the case of a guest using only a subset of nodes, the appropriate section (or sections) of the host SLIT table could be used.

The following example is from an 8-socket SGI system (this is not unique to this system however):

Host> numactl -H
…

node   0   1   2   3   4   5   6   7
  0:  10  16  19  16  50  50  50  50
  1:  16  10  16  19  50  50  50  50
  2:  19  16  10  16  50  50  50  50
  3:  16  19  16  10  50  50  50  50
  4:  50  50  50  50  10  16  19  16
  5:  50  50  50  50  16  10  16  19
  6:  50  50  50  50  19  16  10  16
  7:  50  50  50  50  16  19  16  10
 
-------------------------------------------------


Guest> numactl -H
…

node   0   1   2   3   4   5   6   7
  0:  10  20  20  20  20  20  20  20
  1:  20  10  20  20  20  20  20  20
  2:  20  20  10  20  20  20  20  20
  3:  20  20  20  10  20  20  20  20
  4:  20  20  20  20  10  20  20  20
  5:  20  20  20  20  20  10  20  20
  6:  20  20  20  20  20  20  10  20
  7:  20  20  20  20  20  20  20  10


Version-Release number of selected component (if applicable):
Host and guest - RHEL 7.2
qemu-kvm-rhev  10:2.3.0-31

How reproducible:


Steps to Reproduce:
1. Create a guest, pin host and guest CPUs on a 1-to-1 basis
2. Run numactl -H command on host and guest and compare


Actual results:
SLIT tables are different between host and guest

Expected results:
Whole SLIT table or appropriate section of SLIT table in guest and host are the same

Additional info:

--- Additional comment from Karen Noel on 2016-06-09 15:25:14 EDT ---

The NUMA topology is set up by libvirt, while the slit table lives in the guest firmware. 

Should the slit table change after live migration if the destination host is different? I think so, but guests may not expect a dynamic slit table. Application may have to modified to take migration into account.

Comment 1 Daniel Berrangé 2016-08-18 15:11:36 UTC
Libvirt should provide a mechanism in the XML to let us configure SLIT table distances when  setting up NUMA nodes. Applications can then use that as needed - whether the apps lie or tell the truth wrt host SLIT info is a policy decision for the application.

Comment 7 Michal Privoznik 2017-11-14 14:48:21 UTC
Patches proposed on the upstream list:

https://www.redhat.com/archives/libvir-list/2017-November/msg00502.html

Comment 8 Michal Privoznik 2018-02-27 14:07:15 UTC
This is a duplicate of bug 1454889.

Just to make sure we are on the same page - while it makes some sense to set the NUMA distances at domain startup time, they become obsolete once the domain is migrated to a different host (with possibly different distances table). We can't change the table on migration because it is guest ABI. Having said that, it makes sense to set distances only if domain is not going to be migrated.

*** This bug has been marked as a duplicate of bug 1454889 ***


Note You need to log in before you can comment on or make changes to this bug.