WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] open/stat64 syscalls run faster on Xen VM than standard

To: xuehai zhang <hai@xxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] open/stat64 syscalls run faster on Xen VM than standard Linux
From: Anthony Liguori <aliguori@xxxxxxxxxx>
Date: Mon, 28 Nov 2005 08:38:46 -0600
Cc: Xen Mailing List <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Mon, 28 Nov 2005 14:38:52 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <438ABDF5.7020000@xxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <438ABDF5.7020000@xxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0.7 (X11/20051013)
This may just be the difference between having the extra level of block caching from using a loop back device.

Try running the same benchmark on a domain that uses an actual partition. While the syscalls may appear to be faster, I imagine it's because the cost of pulling in a block has already been payed so the overall workload is unaffected.

Regards,

Anthony Liguori

xuehai zhang wrote:

Dear all,
When I debugged the execution performance of an application using strace, I found there are some system calls like open and stat64 which run faster on XenLinux than the standard Linux. The following is the output of running "strace -c /bin/sh -c /bin/echo foo" on both systems. An open call runs averagely 109 usec on standard Linux but only 41 usecs on XenLinux. An stat64 call runs
75 usecs on standard Linux but only 19 usecs on XenLinux.
The Xen VM runs on the same physical machine as the standard Linux. It uses loopback files in dom0 as the backends of VBDs.
Any insight is highly appreciated.
Thanks.
Xuehai

XenLinux:
# strace -c /bin/sh -c /bin/echo foo

% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 39.05    0.001972        1972         1           write
 19.35    0.000977         977         1           execve
  7.74    0.000391          24        16           old_mmap
  7.23    0.000365          41         9         2 open
  6.06    0.000306          51         6           read
  5.17    0.000261          10        26           brk
  4.93    0.000249          83         3           munmap
  1.98    0.000100          14         7           close
  1.90    0.000096           9        11           rt_sigaction
  1.52    0.000077          11         7           fstat64
  1.01    0.000051           9         6           rt_sigprocmask
  0.95    0.000048          24         2           access
  0.81    0.000041          14         3           uname
  0.75    0.000038          19         2           stat64
  0.38    0.000019          19         1           ioctl
  0.18    0.000009           9         1           time
  0.18    0.000009           9         1           getppid
  0.16    0.000008           8         1           getpgrp
  0.16    0.000008           8         1           getuid32
  0.14    0.000007           7         1           getgid32
  0.12    0.000006           6         1           getpid
  0.12    0.000006           6         1           geteuid32
  0.12    0.000006           6         1           getegid32
------ ----------- ----------- --------- --------- ----------------
100.00    0.005050                   109         2 total


Standard Linux:
# strace -c /bin/sh -c /bin/echo foo

% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 22.90    0.000982         109         9         2 open
 22.85    0.000980         980         1           execve
 10.87    0.000466          29        16           old_mmap
 10.45    0.000448         448         1           write
  7.06    0.000303          51         6           read
  6.67    0.000286          10        30           brk
  3.61    0.000155          78         2           access
  3.50    0.000150          75         2           stat64
  2.91    0.000125          42         3           munmap
  2.24    0.000096          14         7           close
  2.12    0.000091          13         7           fstat64
  1.84    0.000079           7        11           rt_sigaction
  1.03    0.000044           7         6           rt_sigprocmask
  0.72    0.000031          10         3           uname
  0.19    0.000008           8         1           geteuid32
  0.16    0.000007           7         1           time
  0.16    0.000007           7         1           getppid
  0.16    0.000007           7         1           getpgrp
  0.16    0.000007           7         1           getuid32
  0.14    0.000006           6         1           getpid
  0.14    0.000006           6         1           getgid32
  0.12    0.000005           5         1           getegid32
------ ----------- ----------- --------- --------- ----------------
100.00    0.004289                   112         2 total

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel