Bug 524970 - Guest single-cpu IPI leads to a global IPI on host
Summary: Guest single-cpu IPI leads to a global IPI on host
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kvm
Version: 5.5
Hardware: x86_64
OS: Linux
Target Milestone: ---
: ---
Assignee: Eduardo Habkost
QA Contact: Lawrence Lim
Depends On:
TreeView+ depends on / blocked
Reported: 2009-09-22 20:03 UTC by Avi Kivity
Modified: 2014-03-26 01:02 UTC (History)
6 users (show)

Fixed In Version: kvm-83-119.el5
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2010-03-30 07:54:36 UTC

Attachments (Terms of Use)
systemtap script to check for IPIs (340 bytes, text/plain)
2009-10-26 22:33 UTC, Eduardo Habkost
no flags Details

System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0271 normal SHIPPED_LIVE Important: kvm security, bug fix and enhancement update 2010-03-29 13:19:48 UTC

Description Avi Kivity 2009-09-22 20:03:56 UTC
Description of problem:

When a guest issues an IPI (or when kvm needs to signal another processor for another reason), all host processors are interrupted, not just the ones requested by the guest or kvm.  This leads to increased host load and wastes resources.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Start a 2-vcpu guest on a larger host
2. Run an IPI-intensive workload (pipetest with processes pinned to vcpus) 
3. watch /proc/interrupts
Actual results:
Tons of IPIs everywhere

Expected results:
Tons of IPIs on just two cpus

Additional info:

Cause: kvm's smp_call_function_single() is translated to 2.6.18's smp_call_function() instead of smp_call_function_single() (since it used not to be exported).

Comment 7 Eduardo Habkost 2009-10-26 22:33:24 UTC
Created attachment 366168 [details]
systemtap script to check for IPIs

Comment 13 errata-xmlrpc 2010-03-30 07:54:36 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.


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