[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] XEN PV Linux performance
Hello,
I see what's the gettimeofday behavior depends on the glic config macro & compile. I just demonstrate the issue that 64bit PV DomU performance is very poor using
gettimeofday . In fact, the performance is poor when call read,write, fork,exec and almost all system calls.
A few days ago someone report related issue to xen-devel that fork system call has very poor performance.
The link as: 2012/7/1 Tim Deegan <tim@xxxxxxx>
At 22:54 +0800 on 30 Jun (1341096874), Zhou Jacky wrote:
> I re-post this from Xen-User maillist.
>
> I found that xen PV linux performance is very poor comparing with native
> linux or HVMPV linux in some case such as system call (which will cause
> context switch).
> Here is a very simple sample:
>
> double geTime() {
> struct timeval t;
> gettimeofday(&t, 0);
> return (double) t.tv_sec + (double) t.tv_usec / 1000000.0;
> }
>
> int geInc(int sum) {
> return sum+1;
> }
>
> int main() {
> for (i=0; i<; i++) {
> geTime();
> }
>
> In PV linux guest, It will be 10 times slower than PVHVM linux guest.
> While call getInc() 10000000 times, PV guest is a little faster then
> HVMPV.
gettimeofday() is often a vsyscall on native/HVM linux (i.e. it doesn't
actually make a system call), and I'm not sure that's the case on PV.
You could try coding up an actual system call (in assembly), or using a
libc wrapper that always makes a system call (I think getppid() is a
good choice but you should use strace to confirm it's making system
calls).
> So it seems that PV linux guest has poor performance in context switch case.
By context switch people usually mean changing from one process to
another, which is not what's happening here.
> How can I tune this or if there's any plan fixing this issue?
That depends -- what's your actual goal? Do you actually care about
gettimeofday() performance or is there some other workload that's
running slowly for you?
Tim.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|