Bug 617310
Summary: | dbus_connection_send_with_reply_and_block() takes longer than expected in a virtualized environment | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Andrew Beekhof <abeekhof> |
Component: | dbus | Assignee: | David King <dking> |
Status: | CLOSED WONTFIX | QA Contact: | Desktop QE <desktop-qa-list> |
Severity: | medium | Docs Contact: | |
Priority: | low | ||
Version: | 6.0 | Keywords: | RHELNAK |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2017-12-06 11:51:42 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Andrew Beekhof
2010-07-22 18:44:04 UTC
This issue has been proposed when we are only considering blocker issues in the current Red Hat Enterprise Linux release. ** If you would still like this issue considered for the current release, ask your support representative to file as a blocker on your behalf. Otherwise ask that it be considered for the next Red Hat Enterprise Linux release. ** Sorry, I forgot to mention that /etc/cluster/cluster.conf needs to exist before executing step 6. Try pasting the following... [root@pcmk-4 ~]# cat /etc/cluster/cluster.conf <cluster config_version="12" name="blahblah"> <fence_daemon clean_start="0" post_fail_delay="1" post_join_delay="3"/> <clusternodes> <clusternode name="pcmk-2.beekhof.net" nodeid="1" votes="1"/> <clusternode name="pcmk-3.beekhof.net" nodeid="2" votes="1"/> </clusternodes> <cman expected_votes="1" two_node="1"/> <fencedevices> <fencedevice agent="fence_xvm" name="virt-fence"/> </fencedevices> <rm> <failoverdomains/> </rm> </cluster> First, don't call send_with_reply_and_block if you don't actually need the reply immediately. Instead do asynchronous calls with _send_with_reply, or if you don't need the reply at all, just don't request one and use _send. There's some unavoidable latency for round trips with dbus because it requires a few context switches (message sender, bus daemon, message receipient, bus daemon, message sender); in a virtualized environment this is likely to be magnified because the entire virtual OS needs to compete for scheduling with other OSes. But again, your dbus experience is going to be significantly better if you avoid blocking while waiting for a response and instead do as many requests in parallel as possible. For example, if you need to call a GetStatus() method on 15 objects, this should be obviously paralellizable. (In reply to comment #6) > First, don't call send_with_reply_and_block if you don't actually need the > reply immediately. But we do. There's no parallelism in the caller, its a single process with a single job to execute. > There's some unavoidable latency for round trips with dbus because it requires > a few context switches (message sender, bus daemon, message receipient, bus > daemon, message sender); in a virtualized environment this is likely to be > magnified because the entire virtual OS needs to compete for scheduling with > other OSes. This was on a 4 core machine with a single KVM guest running. > But again, your dbus experience is going to be significantly better if you > avoid blocking while waiting for a response and instead do as many requests in > parallel as possible. For example, if you need to call a GetStatus() method on > 15 objects, this should be obviously paralellizable. Not really relevant to our use-case I'm afraid. This request was evaluated by Red Hat Product Management for inclusion in the current release of Red Hat Enterprise Linux. Because the affected component is not scheduled to be updated in the current release, Red Hat is unfortunately unable to address this request at this time. Red Hat invites you to ask your support representative to propose this request, if appropriate and relevant, in the next release of Red Hat Enterprise Linux. If you would like it considered as an exception in the current release, please ask your support representative. Red Hat Enterprise Linux 6 is in the Production 3 Phase. During the Production 3 Phase, Critical impact Security Advisories (RHSAs) and selected Urgent Priority Bug Fix Advisories (RHBAs) may be released as they become available. The official life cycle policy can be reviewed here: http://redhat.com/rhel/lifecycle This issue does not meet the inclusion criteria for the Production 3 Phase and will be marked as CLOSED/WONTFIX. If this remains a critical requirement, please contact Red Hat Customer Support to request a re-evaluation of the issue, citing a clear business justification. Note that a strong business justification will be required for re-evaluation. Red Hat Customer Support can be contacted via the Red Hat Customer Portal at the following URL: https://access.redhat.com/ |