* Re: system call time increase when turning on CONFIG_PARAVIRT
[not found] <1172866274.4898.14.camel@localhost.localdomain>
@ 2007-03-02 21:54 ` Jeremy Fitzhardinge
2007-03-02 23:11 ` Tim Chen
0 siblings, 1 reply; 6+ messages in thread
From: Jeremy Fitzhardinge @ 2007-03-02 21:54 UTC (permalink / raw)
To: tim.c.chen; +Cc: Virtualization Mailing List, linux-kernel
Tim Chen wrote:
> With CONFIG_PARAVIRT turned on, I've found that time invoking
> system_call jumped up quite a lot. Using TCP streaming test as a
> workload and running on 32-bit 2.6.20 kernel, system_call goes up from
> 0.00025% all the way to 1.6% in the oprofile data. There is a drop of
> about 4% in overall throughput for this particular workload.
>
> With lmbench's null system call test, the call time goes up from 0.10
> usec to 0.225 usec.
>
> I'm testing on dual socket Intel core 2 processor running at 2.67 GHz
> with 4 GB RAM.
[ I assume you're talking about running on native hardware. ]
In the current paravirt changes in the kernel, many of the
paravirtualized operations are implemented as (expensive) indirect calls
via paravirt_ops. Among the changes in the paravirt patches I posted
yesterday is an enhanced patching mechanism which inlines a lot of the
common operations, and converts the rest into direct calls.
I haven't done any detailed measurements on what effect this will have,
but it does bring the actual executed instruction stream much closer to
the !CONFIG_PARAVIRT case, and so I would hope it would recover most or
all of the performance loss you've noticed.
J
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: system call time increase when turning on CONFIG_PARAVIRT
2007-03-02 21:54 ` system call time increase when turning on CONFIG_PARAVIRT Jeremy Fitzhardinge
@ 2007-03-02 23:11 ` Tim Chen
2007-03-03 0:16 ` Jeremy Fitzhardinge
0 siblings, 1 reply; 6+ messages in thread
From: Tim Chen @ 2007-03-02 23:11 UTC (permalink / raw)
To: Jeremy Fitzhardinge; +Cc: linux-kernel, Virtualization Mailing List
On Fri, 2007-03-02 at 13:54 -0800, Jeremy Fitzhardinge wrote:
> [ I assume you're talking about running on native hardware. ]
>
That's correct.
> I haven't done any detailed measurements on what effect this will have,
> but it does bring the actual executed instruction stream much closer to
> the !CONFIG_PARAVIRT case, and so I would hope it would recover most or
> all of the performance loss you've noticed.
>
I also hope that the performance can be recovered as this option could
enabled in distributions' kernels in future.
Tim
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: system call time increase when turning on CONFIG_PARAVIRT
2007-03-02 23:11 ` Tim Chen
@ 2007-03-03 0:16 ` Jeremy Fitzhardinge
2007-03-03 7:00 ` Zachary Amsden
2007-03-08 0:02 ` Tim Chen
0 siblings, 2 replies; 6+ messages in thread
From: Jeremy Fitzhardinge @ 2007-03-03 0:16 UTC (permalink / raw)
To: tim.c.chen; +Cc: Virtualization Mailing List, linux-kernel
Tim Chen wrote:
> I also hope that the performance can be recovered as this option could
> enabled in distributions' kernels in future.
Yes, the intent is that running a CONFIG_PARAVIRT kernel on native
hardware will have negligible performance hit compared to running a
non-paravirt kernel.
J
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: system call time increase when turning on CONFIG_PARAVIRT
2007-03-03 0:16 ` Jeremy Fitzhardinge
@ 2007-03-03 7:00 ` Zachary Amsden
2007-03-08 0:02 ` Tim Chen
1 sibling, 0 replies; 6+ messages in thread
From: Zachary Amsden @ 2007-03-03 7:00 UTC (permalink / raw)
To: Jeremy Fitzhardinge; +Cc: tim.c.chen, linux-kernel, Virtualization Mailing List
Jeremy Fitzhardinge wrote:
> Tim Chen wrote:
>
>> I also hope that the performance can be recovered as this option could
>> enabled in distributions' kernels in future.
>>
>
> Yes, the intent is that running a CONFIG_PARAVIRT kernel on native
> hardware will have negligible performance hit compared to running a
> non-paravirt kernel.
>
We can validate that claim entirely. The way we are proceeding, the
native code will be inlined or direct called as much as possible. With
the VMI-Linux code we had earlier, this mostly created <3% overhead for
microbenchmarks (and in some cases, we actually won over the unmodified
native code). For macro-benchmarks, with real-world workloads, this
reduced to immeasurable noise, never off by more than +/- 0.5% IIRC.
I believe all of this is totally achievable. We have the technology.
We can rebuild it.
Zach
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: system call time increase when turning on CONFIG_PARAVIRT
2007-03-03 0:16 ` Jeremy Fitzhardinge
2007-03-03 7:00 ` Zachary Amsden
@ 2007-03-08 0:02 ` Tim Chen
2007-03-08 0:55 ` Jeremy Fitzhardinge
1 sibling, 1 reply; 6+ messages in thread
From: Tim Chen @ 2007-03-08 0:02 UTC (permalink / raw)
To: Jeremy Fitzhardinge, zach; +Cc: Virtualization Mailing List, linux-kernel
On Fri, 2007-03-02 at 16:16 -0800, Jeremy Fitzhardinge wrote:
>
> Yes, the intent is that running a CONFIG_PARAVIRT kernel on native
> hardware will have negligible performance hit compared to running a
> non-paravirt kernel.
>
> J
It turned out that VDSO was turned off by CONFIG_PARAVIRT option,
causing the system call to use inefficient int 0x80 which led to the
increase system_call time I was seeing. I noted that Ingo has caught
this problem and proposed a patch to correct this issue in another mail
thread.
Tim
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: system call time increase when turning on CONFIG_PARAVIRT
2007-03-08 0:02 ` Tim Chen
@ 2007-03-08 0:55 ` Jeremy Fitzhardinge
0 siblings, 0 replies; 6+ messages in thread
From: Jeremy Fitzhardinge @ 2007-03-08 0:55 UTC (permalink / raw)
To: tim.c.chen; +Cc: Virtualization Mailing List, linux-kernel
Tim Chen wrote:
> It turned out that VDSO was turned off by CONFIG_PARAVIRT option,
> causing the system call to use inefficient int 0x80 which led to the
> increase system_call time I was seeing. I noted that Ingo has caught
> this problem and proposed a patch to correct this issue in another mail
> thread.
Thanks for identifying this. We'll be posting a more general fix for
COMPAT_VDSO soon which will address this.
J
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2007-03-08 0:55 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1172866274.4898.14.camel@localhost.localdomain>
2007-03-02 21:54 ` system call time increase when turning on CONFIG_PARAVIRT Jeremy Fitzhardinge
2007-03-02 23:11 ` Tim Chen
2007-03-03 0:16 ` Jeremy Fitzhardinge
2007-03-03 7:00 ` Zachary Amsden
2007-03-08 0:02 ` Tim Chen
2007-03-08 0:55 ` Jeremy Fitzhardinge
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).