Skip to content
Snippets Groups Projects
  1. Oct 03, 2013
  2. Oct 02, 2013
  3. Oct 01, 2013
  4. Sep 30, 2013
  5. Sep 29, 2013
    • Nadav Har'El's avatar
      condvar: add comment · f5ea1cbe
      Nadav Har'El authored
      
      Add a comment to condvar explaining that it makes a guarantee that
      POSIX Threads' condition variables do not - that there are no spurious
      wakeups.
      
      The comment goes on to explain that at least in one place (semaphore.cc)
      we make use of this added guarantee, so if the condition variable
      implementation is ever rewritten, we'll need to keep this guarantee.
      
      Signed-off-by: default avatarNadav Har'El <nyh@cloudius-systems.com>
      f5ea1cbe
    • Nadav Har'El's avatar
      Add "-version" option to RunJava · 0ec190c0
      Nadav Har'El authored
      
      Add "-version" option to RunJava, and therefore to java.so and the "java"
      CLI command.
      
      java -version now shows:
      
        java version "1.7.0_25"
        OpenJDK Runtime Environment (1.7.0_25-mockbuild_2013_07_27_13_36-b00)
        OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
      
      I can't explain why the version on the second line is different than what
      "java -version" on Fedora 18 shows for the same libjvm.so:
      
        java version "1.7.0_25"
        OpenJDK Runtime Environment (fedora-2.3.10.4.fc18-x86_64)
        OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
      
      Signed-off-by: default avatarNadav Har'El <nyh@cloudius-systems.com>
      Signed-off-by: default avatarAvi Kivity <avi@cloudius-systems.com>
      0ec190c0
    • Dmitry Fleytman's avatar
      pci: debug printouts fixes · 61be0c33
      Dmitry Fleytman authored
      
        1. MSI-X printous fixed
        2. Duplicate EOLs removed
      
      Signed-off-by: default avatarDmitry Fleytman <dmitry@daynix.com>
      61be0c33
    • Nadav Har'El's avatar
      Trivial prototype change · 201d611d
      Nadav Har'El authored
      
      Change the name of the argument of wake_with from "Pred" to "Action".
      This argument is a function to run, *not* a predicate (it's not supposed
      to return a boolean value), so it doesn't make sense to call it Pred.
      
      The implementation of wake_with already used the name "Action" - this
      patch fixes the prototype too.
      
      Signed-off-by: default avatarNadav Har'El <nyh@cloudius-systems.com>
      201d611d
    • Dmitry Fleytman's avatar
      netperf: since alarm() support added no special patch is needed · afa08363
      Dmitry Fleytman authored
      
        1. Netperf patch removed from repository
        2. Documentation updated
      
      Signed-off-by: default avatarDmitry Fleytman <dmitry@daynix.com>
      Signed-off-by: default avatarNadav Har'El <nyh@cloudius-systems.com>
      afa08363
    • Nadav Har'El's avatar
      Support alarm() · ee88c900
      Nadav Har'El authored
      
      This patch adds support for Linux's alarm(2) system call.
      
      alarm() is needed in some ancient Unix software, like netperf :(
      
      This implementation is fully compatible with Linux's alarm(), but please
      note that what alarm() does when the alarm times out is a kill(SIGALRM) -
      so all the caveats mentioned in the previous patch regarding kill(),
      will also apply here.
      
      Alarm() is implemented by running one "alarm thread", started on the
      first alarm() call. This alarm-thread waits for the alarm to expire,
      or for instructions to change the alarm. When an alarm expires the
      alarm thread does a kill(0,SIGALRM).
      
      tst-kill.cc (from the previous patch) includes a test to see that
      alarm() really sends a SIGALRM signal on time, and also that we can
      cancel a pending alarm and not receive a signal.
      
      Signed-off-by: default avatarNadav Har'El <nyh@cloudius-systems.com>
      ee88c900
    • Avi Kivity's avatar
      Merge branch 'trace' · aecb3d90
      Avi Kivity authored
      
      Some fixups to --trace-backtrace, plus symbol resolution in the log output.
      
      Signed-off-by: default avatarAvi Kivity <avi@cloudius-systems.com>
      aecb3d90
    • 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
    • Avi Kivity's avatar
      e6eb7d57
    • Avi Kivity's avatar
      gdb: cache syminfo objects · f60ea9a8
      Avi Kivity authored
      
      Looking up symbols is expensive, store them in a cache.
      
      Speeds up dumping the trace log when a backtrace is taken.
      
      Signed-off-by: default avatarAvi Kivity <avi@cloudius-systems.com>
      f60ea9a8
    • Avi Kivity's avatar
    • Avi Kivity's avatar
      trace: fix --trace-backtraces uninitialized data in backtrace · f53d6ca7
      Avi Kivity authored
      
      Also fix other review comments related to 1f161695.
      
      Signed-off-by: default avatarAvi Kivity <avi@cloudius-systems.com>
      f53d6ca7
  6. Sep 28, 2013
Loading