Skip to content
Snippets Groups Projects
  1. Oct 16, 2013
  2. Oct 15, 2013
  3. Oct 14, 2013
  4. Oct 13, 2013
  5. Oct 11, 2013
    • Tomasz Grabiec's avatar
      Move mgmt submodule head · 9bb55838
      Tomasz Grabiec authored
      This also requires fixing paths to mgmt jars in build.mk
      and usr.manifest as the version scheme has changed.
      
      git log --format=short 7a4db4e759b..54f4810a7:
      
        commit 54f4810a76fabf955aeea34baefa336abf8b8467
        Author: Tomasz Grabiec <tgrabiec@cloudius-systems.com>
      
            Revert "supporting artifactory publish"
      
        commit 4abf771d146d6cde66f330e6b6ab6ececffb4cdd
        Author: Tomasz Grabiec <tgrabiec@cloudius-systems.com>
      
            mgmt/web: ditch jline-2.7 pulled by jruby-core
      
        commit 3863a3b58b661cd751314966cccb0f6c9835ed4a
        Author: Nadav Har'El <nyh@cloudius-systems.com>
      
            Moved RunJava to io.osv namespace
      
        commit be0717595f45d647062e7a41cc8dd38393c96547
        Author: Ronen Narkis <narkisr@gmail.com>
      
            supporting testing (jruby rake test does not work no matter what)
      
        commit 46e74f6bb886a0c62b06f08559fe2e44efdb8900
        Author: Ronen Narkis <narkisr@gmail.com>
      
            ignoring build
      
        commit 95ff3b70bae877d5d8cf0144853d1a201a0be333
        Author: Ronen Narkis <narkisr@gmail.com>
      
            verfying json existence and giving meaning full error
      
        commit 8b60c4a40aa4bcb7ce08bba600fd9cd6d63e1073
        Author: Ronen Narkis <narkisr@gmail.com>
      
            moving to three digit versioning in order to have a finer grained control on rel
      
        commit ffa7646388cec8d5b138ff4fc28a985c6344824c
        Author: Ronen Narkis <narkisr@gmail.com>
      
            supporting artifactory publish
      
        commit 8855112e2c867b4f855ed28ad9d9982c26bc56a3
        Author: Ronen Narkis <narkisr@gmail.com>
      
            clearing unused repo
      
        commit 3be79eb18b2be7bf1f28aaebd9905ac77945e4e4
        Author: Or Cohen <orc@fewbytes.com>
      
            Migrated ifconfig from previous JS console
      
        commit 287b014cf709e9c46692c59f87b70ebf056114b5
        Author: Or Cohen <orc@fewbytes.com>
      
            Migrated run command from previous CLI
      
        commit 0ffe064d30c1a812d7e853ee568ce45bfc16ed42
        Author: Or Cohen <orc@fewbytes.com>
      
            Added daemonizeIfNeeded helper method for commands
      
        commit 36951a86493c954a2e939648b5060260fac5b539
        Author: Or Cohen <orc@fewbytes.com>
      
            Moved ELFLoader from cloudius.cli to cloudius.util
      9bb55838
  6. Oct 10, 2013
  7. Oct 06, 2013
    • Nadav Har'El's avatar
      Put RunJava.class in a jar, runjava.jar · a8af5dde
      Nadav Har'El authored
      
      We use the RunJava Java class to run Java applications (both java.so
      and the "java" CLI command use it). We used to have RunJava.class
      uncompressed, in the /java directory, but this caused two problems:
      
      1. Or noticed that having a directory (/java) on the classpath causes
         thousands of stat() calls when Java tries to look for all classes
         in this directory. With a jar, its contents are read only once.
      
      2. The "java" CLI command (java.groovy) didn't work because apparently
         Groovy cannot deal with classes being in the top-level package.
      
         So this patch moves RunJava into the io.osv package, and put it into a jar
         /java/runjava.jar.
      
         Note that java.groovy is changed in a separate patch (because it's in
         a different sub-repository....)
      
      Signed-off-by: default avatarNadav Har'El <nyh@cloudius-systems.com>
      a8af5dde
  8. Oct 03, 2013
  9. Oct 01, 2013
  10. Sep 29, 2013
    • Nadav Har'El's avatar
      Add kill() support - sort of · b9ed15c2
      Nadav Har'El authored
      
      This patch adds support for the Linux kill(2) function.
      The next patch will add alarm(2) support, which uses kill(2).
      
      To be honest, we sort-of implement kill(). This implementation is
      compatible with the API, but the semantics are somewhat different:
      While in Linux kill() causes the signal handler to run on one of the
      existing threads, in this implementation, the signal handler is run in a
      *new* thread.
      
      Implementing the exact Linux semantics in OSv would require tracking when
      OSv runs kernel code (i.e., code in the main executable, not a shared
      object) so we can delay running the signal handler until returning to the
      user code. Moreover, we'll need to be able to interrupt sleeping kernel
      code. This is complicated and adds overhead even if signals aren't used
      (and they aren't used in most modern code).
      
      I expect that this code will be "good enough" in many use cases.
      This code will *not* be good in enough in programs that expect one of the
      following:
      
      1. A program that by using Posix Thread's "signal masks" tried to ensure
         that the signal is delivered to one specific thread, and not to an
         arbitrary thread.
      
      2. A program that used kill() or alarm() not intending to run a signal
         handler, but rather intending to interrupt a sleeping system call
         like sleep() or read(). Our kill() does not interrupt sleeping OSv
         function calls, which will continue to sleep on the thread they run
         on.
      
      The support in this patch (and see next patch, for alarm()) is good
      enough for netperf's use of alarm().
      
      P.S. kill() can be used only to send a signal to the current process, the
      only process we have in OSv (you can also use pid=0 and pid=-1 to achieve
      the same results).
      
      This patch also adds a test for kill() and alarm(). The alarm() test
      will fail until the next patch :-)
      
      Signed-off-by: default avatarNadav Har'El <nyh@cloudius-systems.com>
      b9ed15c2
  11. Sep 26, 2013
  12. Sep 20, 2013
    • Nadav Har'El's avatar
      Tests: add trivial sleep test · ade5bc3e
      Nadav Har'El authored
      
      Add a trivial sleep() test, which sleep()s for 2 seconds, and verifies
      that this finishes and has slept for roughly 2 seconds.
      
      I used this for debugging issue #26 - the attempts there ruined timers,
      and in particular this trivial test hangs, as sleep() never returns.
      
      (A note to our future automatic testing implementor: We need to allow
      for the possibility that a test doesn't cleanly fail, but rather hangs,
      and consider this a failure too).
      
      Signed-off-by: default avatarNadav Har'El <nyh@cloudius-systems.com>
      ade5bc3e
  13. Sep 19, 2013
    • Benoît Canet's avatar
      Test: Add a DNS resolver test · 2a1064ce
      Benoît Canet authored
      
      This regression test trigger issue #8
      "Make Java InetAddress.getHostName() work" by exercising the DNS
      resolver on localhost and a dns root server.
      
      The test takes care of specifying NI_NOFQDN to resolve only the
      hostname part of localhost ip.
      
      It appears that the DNS ip is not communicated to the libc by
      core/dhcp.cci: /etc/resolv.conf is not filled.
      
      Test contributed while waiting for an fix idea to implement.
      
      Signed-off-by: default avatarBenoit Canet <benoit@irqsave.net>
      Signed-off-by: default avatarPekka Enberg <penberg@cloudius-systems.com>
      2a1064ce
  14. Sep 12, 2013
    • Nadav Har'El's avatar
      Test: cpu load balancing test · b255c259
      Nadav Har'El authored
      This is a test for the effectiveness of our scheduler's load balancing while
      running several threads on several cpus.
      
      A full description of the test and its expected results is included in
      comments in the beginning of the code. but briefly, the test runs multiple
      concurrent busy-loop threads, and an additional "intermittent" thread (one that
      busy-loops for a short duration, and then sleeps), and expects that all busy
      threads will get their fair share of the CPU, and the intermittent thread
      won't bother them too much.
      
      Testing the current code, this tests demonstrates the following problems
      we have:
      
      1. Two busy-loop threads on 2 cpus are 5%-10% slower than just one.
         This is not kernel overhead (profiling show 100% of the time in the
         test's inner loop), and I see exactly the slowdown when running this
         test on the Linux host, so it might be related to the host's multitasking?
         For now, let's not worry about that.
      
      2. Much more worrying is that the intermittent thread sometimes (in about half
         the tests) causes us to only fully use one CPU, and of course get bad
         performance.
      
      3. In many of the tests involving more than 2 threads (2 threads +
         intermittent, or 4 threads) load balancing wasn't fair and some
         threads got more CPU than the others.
      
      Later I'll send patches to fix issues 2 and 3, which appear to happen because
      the load balancer thread doesn't run as often as it should, because of vruntime
      problems.
      b255c259
  15. Sep 11, 2013
  16. Sep 08, 2013
  17. Sep 06, 2013
  18. Sep 05, 2013
    • Glauber Costa's avatar
      build adaptions for single image · 16b47261
      Glauber Costa authored
      16b47261
    • Glauber Costa's avatar
      use stripped loader for size calculation · b6e0120f
      Glauber Costa authored
      This is the size that goes in our bootloader count32. But since we will be
      copying over the stripped binary anyway, we are probably reading too much data,
      for no reason. That should increase boot time a bit.
      b6e0120f
    • Glauber Costa's avatar
      hpet clock driver · e2991fce
      Glauber Costa authored
      This patch implement the HPET clock driver, that should work as a fallback for
      both Xen and KVM, in case the paravirtual clock is not present. This is
      unfortunately the situation for all HVM guests running on EC2, so support for
      this is paramount. I have tested on KVM forcing the kvmclock to disappear, and
      it seems to work all right.
      e2991fce
  19. Sep 02, 2013
    • Pekka Enberg's avatar
      Filed-backed mmap tests · 22c85933
      Pekka Enberg authored
      Add simple tests for munmap() for file-backed memory maps. This exposes
      a limitation in munmap() not writing out MAP_SHARED mappings.
      22c85933
Loading