From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: habanero@linux.vnet.ibm.com
Cc: "H. Peter Anvin" <hpa@zytor.com>,
Thomas Gleixner <tglx@linutronix.de>,
Marcelo Tosatti <mtosatti@redhat.com>,
Ingo Molnar <mingo@redhat.com>, Avi Kivity <avi@redhat.com>,
Rik van Riel <riel@redhat.com>, S390 <linux-s390@vger.kernel.org>,
Carsten Otte <cotte@de.ibm.com>,
Christian Borntraeger <borntraeger@de.ibm.com>,
KVM <kvm@vger.kernel.org>, chegu vinod <chegu_vinod@hp.com>,
LKML <linux-kernel@vger.kernel.org>, X86 <x86@kernel.org>,
Gleb Natapov <gleb@redhat.com>,
linux390@de.ibm.com,
Srivatsa Vaddagiri <srivatsa.vaddagiri@gmail.com>,
Joerg Roedel <joerg.roedel@amd.com>,
Raghavendra <raghavendra.kt@linux.vnet.ibm.com>
Subject: Re: [PATCH RFC 0/2] kvm: Improving directed yield in PLE handler : detailed result
Date: Tue, 10 Jul 2012 15:37:01 +0530 [thread overview]
Message-ID: <4FFBFEC5.2050800@linux.vnet.ibm.com> (raw)
In-Reply-To: <1341870457.2909.27.camel@oc2024037011.ibm.com>
On 07/10/2012 03:17 AM, Andrew Theurer wrote:
> On Mon, 2012-07-09 at 11:50 +0530, Raghavendra K T wrote:
>> Currently Pause Looop Exit (PLE) handler is doing directed yield to a
>> random VCPU on PL exit. Though we already have filtering while choosing
>> the candidate to yield_to, we can do better.
>
[...]
> Honestly, I not confident addressing this problem will improve the
> ebizzy score. That workload is so erratic for me, that I do not trust
> the results at all. I have however seen consistent improvements in
> disabling PLE for a http guest workload and a very high IOPS guest
> workload, both with much time spent in host in the double runqueue lock
> for yield_to(), so that's why I still gravitate toward that issue.
>
Deatiled result
Base + Rik patch
ebizzy
=========
overcommit 1 x
1160 records/s
real 60.00 s
user 6.28 s
sys 1078.69 s
1130 records/s
real 60.00 s
user 5.15 s
sys 1080.51 s
1073 records/s
real 60.00 s
user 5.02 s
sys 1030.21 s
1151 records/s
real 60.00 s
user 5.51 s
sys 1097.63 s
1145 records/s
real 60.00 s
user 5.21 s
sys 1093.56 s
1149 records/s
real 60.00 s
user 5.32 s
sys 1097.30 s
1111 records/s
real 60.00 s
user 5.16 s
sys 1061.77 s
1115 records/s
real 60.00 s
user 5.16 s
sys 1066.99 s
overcommit 2 x
1818 records/s
real 60.00 s
user 11.67 s
sys 843.84 s
1809 records/s
real 60.00 s
user 11.77 s
sys 845.68 s
1865 records/s
real 60.00 s
user 11.94 s
sys 866.69 s
1822 records/s
real 60.00 s
user 12.81 s
sys 843.05 s
1928 records/s
real 60.00 s
user 14.02 s
sys 887.86 s
1915 records/s
real 60.00 s
user 11.55 s
sys 888.68 s
1997 records/s
real 60.00 s
user 11.34 s
sys 923.54 s
1985 records/s
real 60.00 s
user 11.41 s
sys 923.44 s
kernbench
===============
overcommit 1 x
Elapsed Time 49.2367 (33.6921)
User Time 243.313 (343.965)
System Time 385.21 (125.151)
Percent CPU 1243.33 (79.5257)
Context Switches 58450.7 (31603.6)
Sleeps 73987 (41782.5)
--
Elapsed Time 47.8367 (37.2156)
User Time 244.79 (349.112)
System Time 338.553 (141.732)
Percent CPU 1181 (81.074)
Context Switches 56194.3 (36421.6)
Sleeps 74355.3 (40263.5)
--
Elapsed Time 49.6067 (34.7325)
User Time 250.117 (354.008)
System Time 341.277 (57.5594)
Percent CPU 1197 (46.3573)
Context Switches 55520.3 (27748.1)
Sleeps 72673 (38997.4)
--
Elapsed Time 50.24 (36.6571)
User Time 247.873 (352.427)
System Time 349.11 (79.4226)
Percent CPU 1193.67 (50.362)
Context Switches 55153.3 (27926.2)
Sleeps 73128 (39532.4)
overcommit 2 x
Elapsed Time 91.9233 (96.6304)
User Time 278.347 (371.217)
System Time 222.447 (181.378)
Percent CPU 521.667 (46.1988)
Context Switches 49597 (35766.4)
Sleeps 77939.7 (36840.1)
--
Elapsed Time 89.48 (92.7224)
User Time 275.223 (364.737)
System Time 202.473 (172.233)
Percent CPU 497.333 (53.0031)
Context Switches 44117 (30001)
Sleeps 77196 (35746.2)
--
Elapsed Time 93.6133 (95.7924)
User Time 294.767 (379.39)
System Time 235.487 (207.567)
Percent CPU 529.667 (58.2866)
Context Switches 50588 (36669.4)
Sleeps 79323.7 (38285.8)
--
Elapsed Time 92.7267 (100.928)
User Time 286.537 (384.253)
System Time 232.983 (192.233)
Percent CPU 552 (76.961)
Context Switches 51071 (35090)
Sleeps 79059 (36466.4)
sysbench
==============
overcommit 1 x
total time: 12.1229s
total number of events: 100041
total time taken by event execution: 772.8819
--
total time: 12.0775s
total number of events: 100013
total time taken by event execution: 769.5969
--
total time: 12.1671s
total number of events: 100011
total time taken by event execution: 775.5967
--
total time: 12.2695s
total number of events: 100003
total time taken by event execution: 782.3780
--
total time: 12.1526s
total number of events: 100014
total time taken by event execution: 773.9802
--
total time: 12.3350s
total number of events: 100069
total time taken by event execution: 786.2091
--
total time: 12.1019s
total number of events: 100013
total time taken by event execution: 771.5163
--
total time: 12.0716s
total number of events: 100010
total time taken by event execution: 769.8809
overcommit 2 x
total time: 13.6532s
total number of events: 100011
total time taken by event execution: 870.0869
--
total time: 15.8572s
total number of events: 100010
total time taken by event execution: 910.6689
--
total time: 13.6100s
total number of events: 100008
total time taken by event execution: 867.1782
--
total time: 15.4295s
total number of events: 100008
total time taken by event execution: 917.8441
--
total time: 13.8994s
total number of events: 100004
total time taken by event execution: 885.6729
--
total time: 14.2006s
total number of events: 100005
total time taken by event execution: 887.0262
--
total time: 13.8869s
total number of events: 100011
total time taken by event execution: 885.3583
--
total time: 13.9183s
total number of events: 100007
total time taken by event execution: 880.4344
With Rik + PLE handler optimization patch
===========================================
ebizzy
==========
overcommit 1 x
2249 records/s
real 60.00 s
user 9.87 s
sys 1529.54 s
2316 records/s
real 60.00 s
user 10.51 s
sys 1550.33 s
2353 records/s
real 60.00 s
user 10.82 s
sys 1565.10 s
2365 records/s
real 60.00 s
user 10.88 s
sys 1569.00 s
2282 records/s
real 60.00 s
user 10.77 s
sys 1540.03 s
2292 records/s
real 60.00 s
user 10.60 s
sys 1553.76 s
2272 records/s
real 60.00 s
user 10.44 s
sys 1510.90 s
2404 records/s
real 60.00 s
user 10.96 s
sys 1563.49 s
overcommit 2 x
2454 records/s
real 60.00 s
user 14.66 s
sys 880.17 s
2192 records/s
real 60.00 s
user 15.56 s
sys 881.12 s
2329 records/s
real 60.00 s
user 17.56 s
sys 933.03 s
2281 records/s
real 60.00 s
user 16.22 s
sys 925.34 s
2286 records/s
real 60.00 s
user 16.93 s
sys 902.04 s
2289 records/s
real 60.00 s
user 15.53 s
sys 909.78 s
2586 records/s
real 60.00 s
user 15.38 s
sys 857.22 s
2675 records/s
real 60.00 s
user 15.93 s
sys 842.40 s
kernbench
=============
overcommit 1 x
Elapsed Time 36.6633 (33.6422)
User Time 248.303 (359.64)
System Time 123.003 (67.1702)
Percent CPU 864 (242.52)
Context Switches 44936.3 (28799.8)
Sleeps 76076.7 (41142.1)
--
Elapsed Time 37.9167 (37.3285)
User Time 247.517 (358.659)
System Time 118.883 (86.7824)
Percent CPU 807.333 (245.133)
Context Switches 44219.3 (29480.9)
Sleeps 77137.3 (42685.4)
--
Elapsed Time 39.65 (39.0432)
User Time 248.07 (357.765)
System Time 100.76 (58.7603)
Percent CPU 748.333 (199.803)
Context Switches 42332.3 (27183.7)
Sleeps 75248.7 (41084.4)
--
Elapsed Time 39.2867 (39.8316)
User Time 245.903 (356.194)
System Time 101.783 (60.4971)
Percent CPU 762.667 (186.827)
Context Switches 42289.3 (24882.1)
Sleeps 74964.7 (38139.1)
overcommit 2 x
Elapsed Time 85.6567 (92.092)
User Time 274.607 (370.598)
System Time 172.12 (134.705)
Percent CPU 496.667 (34.2977)
Context Switches 45715.7 (29180.4)
Sleeps 76054 (34844.5)
--
Elapsed Time 86.8667 (92.72)
User Time 278.767 (365.877)
System Time 193.277 (142.811)
Percent CPU 538.667 (36.5558)
Context Switches 48035.3 (32107.3)
Sleeps 78004.7 (37835.6)
--
Elapsed Time 87.38 (91.6723)
User Time 269.133 (374.608)
System Time 165.283 (122.423)
Percent CPU 465.667 (119.068)
Context Switches 45107.3 (29571.6)
Sleeps 76942.7 (33102.4)
--
Elapsed Time 83.6333 (96.6314)
User Time 267.97 (374.691)
System Time 156.843 (123.183)
Percent CPU 503 (28.5832)
Context Switches 44406.7 (30002.8)
Sleeps 78975.7 (40787.4)
sysbench
=================
overcommit 1 x
total time: 11.7338s
total number of events: 100021
total time taken by event execution: 747.8628
--
total time: 11.9323s
total number of events: 100006
total time taken by event execution: 760.7567
--
total time: 12.0282s
total number of events: 100068
total time taken by event execution: 766.2259
--
total time: 12.0065s
total number of events: 100010
total time taken by event execution: 765.0691
--
total time: 12.2033s
total number of events: 100016
total time taken by event execution: 777.9971
--
total time: 12.2472s
total number of events: 100041
total time taken by event execution: 780.9914
--
total time: 12.4853s
total number of events: 100015
total time taken by event execution: 795.9082
--
total time: 12.7028s
total number of events: 100015
total time taken by event execution: 810.4563
overcommit 2 x
total time: 13.7335s
total number of events: 100005
total time taken by event execution: 872.0665
--
total time: 14.0005s
total number of events: 100010
total time taken by event execution: 892.4587
--
total time: 13.8066s
total number of events: 100008
total time taken by event execution: 880.2714
--
total time: 14.6350s
total number of events: 100006
total time taken by event execution: 875.3052
--
total time: 13.8536s
total number of events: 100007
total time taken by event execution: 877.8040
--
total time: 15.7213s
total number of events: 100007
total time taken by event execution: 896.5455
--
total time: 13.9135s
total number of events: 100007
total time taken by event execution: 882.0964
--
total time: 13.8390s
total number of events: 100009
total time taken by event execution: 881.8267
next prev parent reply other threads:[~2012-07-10 10:09 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-09 6:20 [PATCH RFC 0/2] kvm: Improving directed yield in PLE handler Raghavendra K T
2012-07-09 6:20 ` [PATCH RFC 1/2] kvm vcpu: Note down pause loop exit Raghavendra K T
2012-07-09 6:33 ` Raghavendra K T
2012-07-09 6:33 ` Raghavendra K T
2012-07-09 22:39 ` Rik van Riel
2012-07-10 11:22 ` Raghavendra K T
2012-07-11 8:53 ` Avi Kivity
2012-07-11 10:52 ` Raghavendra K T
2012-07-11 11:18 ` Avi Kivity
2012-07-11 11:56 ` Raghavendra K T
2012-07-11 12:41 ` Andrew Jones
2012-07-12 10:58 ` Nikunj A Dadhania
2012-07-12 11:02 ` Raghavendra K T
2012-07-09 6:20 ` [PATCH RFC 2/2] kvm PLE handler: Choose better candidate for directed yield Raghavendra K T
2012-07-09 22:30 ` Rik van Riel
2012-07-10 11:46 ` Raghavendra K T
2012-07-09 7:55 ` [PATCH RFC 0/2] kvm: Improving directed yield in PLE handler Christian Borntraeger
2012-07-10 8:27 ` Raghavendra K T
2012-07-11 9:06 ` Avi Kivity
2012-07-11 10:17 ` Christian Borntraeger
2012-07-11 11:04 ` Avi Kivity
2012-07-11 11:16 ` Alexander Graf
2012-07-11 11:23 ` Avi Kivity
2012-07-11 11:52 ` Alexander Graf
2012-07-11 12:48 ` Avi Kivity
2012-07-12 2:19 ` Benjamin Herrenschmidt
2012-07-11 11:18 ` Christian Borntraeger
2012-07-11 11:39 ` Avi Kivity
2012-07-12 5:11 ` Raghavendra K T
2012-07-12 8:11 ` Avi Kivity
2012-07-12 8:32 ` Raghavendra K T
2012-07-12 2:17 ` Benjamin Herrenschmidt
2012-07-12 8:12 ` Avi Kivity
2012-07-12 11:24 ` Benjamin Herrenschmidt
2012-07-12 10:38 ` Nikunj A Dadhania
2012-07-11 11:51 ` Raghavendra K T
2012-07-11 11:55 ` Christian Borntraeger
2012-07-11 12:04 ` Raghavendra K T
2012-07-11 13:04 ` Raghavendra K T
2012-07-09 21:47 ` Andrew Theurer
2012-07-09 21:47 ` Andrew Theurer
2012-07-10 9:26 ` Raghavendra K T
2012-07-10 10:07 ` Raghavendra K T [this message]
2012-07-10 11:54 ` Raghavendra K T
2012-07-10 13:27 ` Andrew Theurer
2012-07-11 9:00 ` Avi Kivity
2012-07-11 13:59 ` Raghavendra K T
2012-07-11 14:01 ` Raghavendra K T
2012-07-12 8:15 ` Avi Kivity
2012-07-12 8:25 ` Raghavendra K T
2012-07-12 12:31 ` Avi Kivity
2012-07-09 22:28 ` Rik van Riel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FFBFEC5.2050800@linux.vnet.ibm.com \
--to=raghavendra.kt@linux.vnet.ibm.com \
--cc=avi@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=chegu_vinod@hp.com \
--cc=cotte@de.ibm.com \
--cc=gleb@redhat.com \
--cc=habanero@linux.vnet.ibm.com \
--cc=hpa@zytor.com \
--cc=joerg.roedel@amd.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux390@de.ibm.com \
--cc=mingo@redhat.com \
--cc=mtosatti@redhat.com \
--cc=riel@redhat.com \
--cc=srivatsa.vaddagiri@gmail.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.