All of lore.kernel.org
 help / color / mirror / Atom feed
From: xuehai zhang <hai@cs.uchicago.edu>
To: Xen Mailing List <xen-devel@lists.xensource.com>
Subject: open/stat64 syscalls run faster on Xen VM than standard Linux
Date: Mon, 28 Nov 2005 02:21:09 -0600	[thread overview]
Message-ID: <438ABDF5.7020000@cs.uchicago.edu> (raw)

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

             reply	other threads:[~2005-11-28  8:21 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-28  8:21 xuehai zhang [this message]
2005-11-28 14:38 ` open/stat64 syscalls run faster on Xen VM than standard Linux Anthony Liguori
2005-11-28 14:59   ` xuehai zhang
2005-11-29 12:39   ` xuehai zhang
2005-11-29 12:58     ` xuehai zhang
  -- strict thread matches above, loose matches on Subject: below --
2005-11-28 14:36 Petersson, Mats
2005-11-28 14:47 ` xuehai zhang
2005-11-28 14:45 Petersson, Mats
2005-11-28 15:28 ` xuehai zhang
2005-11-28 15:50 ` xuehai zhang
2005-11-28 16:07   ` Stephen C. Tweedie
2005-11-28 16:27     ` xuehai zhang
2005-11-28 17:10       ` Stephen C. Tweedie
2005-11-29  4:50         ` Tim Freeman
2005-11-29 13:27         ` xuehai zhang
2005-11-28 16:15 Petersson, Mats
2005-11-28 17:16 ` xuehai zhang
2005-11-28 19:37   ` Anthony Liguori
2005-11-28 18:17 Petersson, Mats
2005-11-29 12:59 Petersson, Mats
2005-11-29 13:48 ` xuehai zhang

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=438ABDF5.7020000@cs.uchicago.edu \
    --to=hai@cs.uchicago.edu \
    --cc=xen-devel@lists.xensource.com \
    /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.