Skip to content
Snippets Groups Projects
  1. Nov 26, 2013
  2. Nov 25, 2013
    • Amnon Heiman's avatar
      Start up shell and management web in parallel · c29222c6
      Amnon Heiman authored
      
      Start up shell and management web in parallel to make boot faster.  Note
      that we also switch to latest mgmt.git which decouples JRuby and CRaSH
      startup.
      
      Signed-off-by: default avatarAmnon Heiman <amnon@cloudius-systems.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      c29222c6
    • Pekka Enberg's avatar
      tests: Anonymous demand paging microbenchmark · d4bcf559
      Pekka Enberg authored
      
      This adds a simple mmap microbenchmark that can be run on both OSv and
      Linux.  The benchmark mmaps memory for various sizes and touches the
      mmap'd memory in 4K increments to fault in memory.  The benchmark also
      repeats the same tests using MAP_POPULATE for reference.
      
      OSv page faults are slightly slower than Linux on first iteration but
      faster on subsequent iterations after host operating system has faulted
      in memory for the guest.
      
      I've included full numbers on 2-core Sandy Bridge i7 for a OSv guest,
      Linux guest, and Linux host below:
      
        OSv guest
        ---------
      
        Iteration 1
      
             time (seconds)
         MiB demand populate
           1 0.004  0.000
           2 0.000  0.000
           4 0.000  0.000
           8 0.001  0.000
          16 0.003  0.000
          32 0.007  0.000
          64 0.013  0.000
         128 0.024  0.000
         256 0.052  0.001
         512 0.229  0.002
        1024 0.587  0.005
      
        Iteration 2
      
             time (seconds)
         MiB demand populate
           1 0.001  0.000
           2 0.000  0.000
           4 0.000  0.000
           8 0.001  0.000
          16 0.002  0.000
          32 0.004  0.000
          64 0.010  0.000
         128 0.019  0.001
         256 0.036  0.001
         512 0.069  0.002
        1024 0.137  0.005
      
        Iteration 3
      
             time (seconds)
         MiB demand populate
           1 0.001  0.000
           2 0.000  0.000
           4 0.000  0.000
           8 0.001  0.000
          16 0.002  0.000
          32 0.005  0.000
          64 0.010  0.000
         128 0.020  0.000
         256 0.039  0.001
         512 0.087  0.002
        1024 0.138  0.005
      
        Iteration 4
      
             time (seconds)
         MiB demand populate
           1 0.001  0.000
           2 0.000  0.000
           4 0.000  0.000
           8 0.001  0.000
          16 0.002  0.000
          32 0.004  0.000
          64 0.012  0.000
         128 0.025  0.001
         256 0.040  0.001
         512 0.082  0.002
        1024 0.138  0.005
      
        Iteration 5
      
             time (seconds)
         MiB demand populate
           1 0.001  0.000
           2 0.000  0.000
           4 0.000  0.000
           8 0.001  0.000
          16 0.002  0.000
          32 0.004  0.000
          64 0.012  0.000
         128 0.028  0.001
         256 0.040  0.001
         512 0.082  0.002
        1024 0.166  0.005
      
        Linux guest
        -----------
      
        Iteration 1
      
             time (seconds)
         MiB demand populate
           1 0.001  0.000
           2 0.001  0.000
           4 0.002  0.000
           8 0.003  0.000
          16 0.005  0.000
          32 0.008  0.000
          64 0.015  0.000
         128 0.151  0.001
         256 0.090  0.001
         512 0.266  0.003
        1024 0.401  0.006
      
        Iteration 2
      
             time (seconds)
         MiB demand populate
           1 0.000  0.000
           2 0.000  0.000
           4 0.001  0.000
           8 0.001  0.000
          16 0.002  0.000
          32 0.005  0.000
          64 0.009  0.000
         128 0.019  0.001
         256 0.037  0.001
         512 0.072  0.003
        1024 0.144  0.006
      
        Iteration 3
      
             time (seconds)
         MiB demand populate
           1 0.000  0.000
           2 0.001  0.000
           4 0.001  0.000
           8 0.001  0.000
          16 0.002  0.000
          32 0.005  0.000
          64 0.010  0.000
         128 0.019  0.001
         256 0.037  0.001
         512 0.072  0.003
        1024 0.143  0.006
      
        Iteration 4
      
             time (seconds)
         MiB demand populate
           1 0.000  0.000
           2 0.001  0.000
           4 0.001  0.000
           8 0.001  0.000
          16 0.003  0.000
          32 0.005  0.000
          64 0.010  0.000
         128 0.020  0.001
         256 0.038  0.001
         512 0.073  0.003
        1024 0.143  0.006
      
        Iteration 5
      
             time (seconds)
         MiB demand populate
           1 0.000  0.000
           2 0.001  0.000
           4 0.001  0.000
           8 0.001  0.000
          16 0.003  0.000
          32 0.005  0.000
          64 0.010  0.000
         128 0.020  0.001
         256 0.037  0.001
         512 0.072  0.003
        1024 0.144  0.006
      
        Linux host
        ----------
      
        Iteration 1
      
             time (seconds)
         MiB demand populate
           1 0.000  0.000
           2 0.001  0.000
           4 0.001  0.000
           8 0.001  0.000
          16 0.002  0.000
          32 0.005  0.000
          64 0.009  0.000
         128 0.019  0.001
         256 0.035  0.001
         512 0.152  0.003
        1024 0.286  0.011
      
        Iteration 2
      
             time (seconds)
         MiB demand populate
           1 0.000  0.000
           2 0.000  0.000
           4 0.001  0.000
           8 0.001  0.000
          16 0.002  0.000
          32 0.004  0.000
          64 0.010  0.000
         128 0.018  0.001
         256 0.035  0.001
         512 0.192  0.003
        1024 0.334  0.011
      
        Iteration 3
      
             time (seconds)
         MiB demand populate
           1 0.000  0.000
           2 0.000  0.000
           4 0.001  0.000
           8 0.001  0.000
          16 0.002  0.000
          32 0.004  0.000
          64 0.010  0.000
         128 0.018  0.001
         256 0.035  0.001
         512 0.194  0.003
        1024 0.329  0.011
      
        Iteration 4
      
             time (seconds)
         MiB demand populate
           1 0.000  0.000
           2 0.000  0.000
           4 0.001  0.000
           8 0.001  0.000
          16 0.002  0.000
          32 0.004  0.000
          64 0.010  0.000
         128 0.018  0.001
         256 0.036  0.001
         512 0.138  0.003
        1024 0.341  0.011
      
        Iteration 5
      
             time (seconds)
         MiB demand populate
           1 0.000  0.000
           2 0.000  0.000
           4 0.001  0.000
           8 0.001  0.000
          16 0.002  0.000
          32 0.004  0.000
          64 0.010  0.000
         128 0.018  0.001
         256 0.035  0.001
         512 0.135  0.002
        1024 0.324  0.011
      
      Reviewed-by: default avatarGlauber Costa <glommer@cloudius-systems.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      d4bcf559
  3. Nov 21, 2013
  4. Nov 14, 2013
  5. Nov 13, 2013
  6. Nov 11, 2013
  7. Nov 07, 2013
  8. Nov 05, 2013
  9. Nov 04, 2013
  10. Oct 30, 2013
    • Nadav Har'El's avatar
      Simplify host-side of zfs image build · be3e55d6
      Nadav Har'El authored
      
      This patch simplifies the host-side work in the new /usr zfs filesystem
      build process.
      
      Previously, we copied the files to a temporary directory, used "cpio"
      to archive them and sent its output to the guest with "netcat".
      
      With this patch, we no longer have a temporary directory, and do not
      need either cpio or netcat on the build machine.
      
      Rather, mkzfs.py itself, using python (instead of a separate "nc" process),
      connects to the guest and sends it the files - still using the CPIO format.
      
      Rather than arbitrarily sleep for 3 seconds before the host tries to
      connect to the guest (which might not be enough for some, or a waste
      of time for others), with this patch the host looks at the guest's output
      and connects when it sees the message "Waiting for connection".
      
      Signed-off-by: default avatarNadav Har'El <nyh@cloudius-systems.com>
      be3e55d6
    • Pekka Enberg's avatar
      tests: Remove tst-zfs-simple.so · f966188e
      Pekka Enberg authored
      
      The tst-zfs-simple.so test case has serverd its purpose for bringup.  As
      OSv build relies on working ZFS now, there's no need to run the tests.
      
      Furthermore, we have the full ztest stress test in the tree:
      
        bsd/cddl/contrib/opensolaris/cmd/ztest/ztest.c
      
      which we can use if needed.
      
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      f966188e
    • Avi Kivity's avatar
      external: update gcc to 4.8.2 · 5a11cc6e
      Avi Kivity authored
      
      Signed-off-by: default avatarAvi Kivity <avi@cloudius-systems.com>
      5a11cc6e
  11. Oct 29, 2013
    • Tomasz Grabiec's avatar
      vfs: namei() should return ENOTDIR when component is not a directory · 1fe30840
      Tomasz Grabiec authored
      
      The call to namei("/dir/file/") currently fails with ENOENT when
      "/dir/file" exists. A more standard way is to return ENOTDIR
      instead. This way calls to stat, open, rename, etc. will be in
      line with the POSIX spec.
      
      It is also useful to rename() implementation which needs to
      differentiate behaviour between the case in which target does not
      exist and the case in which it does but the path has trailing slash
      and the last component is not a directory.
      
      In addition to that the check was performed in an inconsistent matter
      - only when dentry lookup failed. This change makes the check
      performed always.
      
      Signed-off-by: default avatarTomasz Grabiec <tgrabiec@cloudius-systems.com>
      1fe30840
    • Avi Kivity's avatar
      build: omit source file from autodependencies · 47d3d232
      Avi Kivity authored
      
      When converting a source file from .c to .cc, make will complain that the
      old source file was missing.  This is annoying, especially when bisecting
      or compile-testing a patch set.
      
      Fix by removing the source file dependency.  Since the dependency is alread
      specified explicitly by the makefile, no information is lost.
      
      Signed-off-by: default avatarAvi Kivity <avi@cloudius-systems.com>
      47d3d232
  12. Oct 28, 2013
  13. Oct 25, 2013
  14. Oct 24, 2013
  15. Oct 23, 2013
  16. Oct 17, 2013
  17. Oct 16, 2013
  18. Oct 15, 2013
  19. Oct 14, 2013
Loading