Skip to content
Snippets Groups Projects
  1. May 09, 2013
  2. May 08, 2013
  3. May 07, 2013
    • Christoph Hellwig's avatar
      make condvar.h compile as C code · ef576d63
      Christoph Hellwig authored
      ef576d63
    • Avi Kivity's avatar
      build: prevent 'make' from deleting intermediate files · 044a2527
      Avi Kivity authored
      e.g. tst-foo.o when building tst-foo.so
      044a2527
    • Avi Kivity's avatar
      Merge branch 'pthread' · a04a894c
      Avi Kivity authored
      Implement some noisy stubs.
      a04a894c
    • Avi Kivity's avatar
      Merge branch 'elf' · aa2f7463
      Avi Kivity authored
      Improved path and RPATH handling.
      aa2f7463
    • Avi Kivity's avatar
      pthread: honor pthread_attr_setguardsize() · b74fc0a0
      Avi Kivity authored
      Record the guard size in the thread attributes, and mprotect() that bit so
      the user cannot overflow the stack.
      b74fc0a0
    • Avi Kivity's avatar
      pthread: honor pthread stack size · 38f14171
      Avi Kivity authored
      Record stack size in pthread_attr_setstacksize(), and use it when creating
      the thread.
      38f14171
    • Avi Kivity's avatar
    • Avi Kivity's avatar
      sched: adjust stack deleter signature · 0fe76c0f
      Avi Kivity authored
      We want the size as well, to be able to munmap() pthread stacks.  Pass the
      entire stack_info so we have this information.
      0fe76c0f
    • Nadav Har'El's avatar
      Clean up lockfree/mutex.hh, and add tests. · 5befea18
      Nadav Har'El authored
      Clean up the lockfree/mutex.hh code. This introduces no new algorithms or
      major bug fixes - what was blocking the lockfree mutex from working were
      mainly preemption bugs and a bug in the lockfree queue implementation.
      
      Also introduced a test for the mutex variants (mutex, lockfree::mutex and
      spinlock) - several threads do a non-atomic increment to a shared variables,
      and unless a mutex is used, the sum ends up being wrong. The test seems to
      be working correctly, and also exercising the interesting cases of the code
      (the "responsibility hand-off" protocol), but does so very rarely, so we'll
      still need more testing before we can fully trust this new code.
      
      The test also begins to do performance testing on the mutex variants.
      uncontended lockfree::mutex is currently twice slower than uncontended
      mutex, so some more work is needed in this area.
      5befea18
    • Nadav Har'El's avatar
      Add constructor to spinlock (in C++) · 9bf49f03
      Nadav Har'El authored
      Added constructor to the "spinlock" type (#include <osv/mutex.h>) when
      used from C++. This makes it easier to use this type from C++.
      
      Marked constructor as "constexpr" to allow the object to be constructed
      in compile time (e.g., a global spinlock variable can be initialized in
      bss). Thanks Avi for this trick!
      9bf49f03
    • Avi Kivity's avatar
      elf: fix indentation · 652c3e7d
      Avi Kivity authored
      program::add_object() somehow got 3-byte indents instead of 4-byte.  This
      has no effect on x86, which allows misaligned loads, but could cause
      exceptions on other architectures.
      652c3e7d
    • Avi Kivity's avatar
      elf: mark core as providing libm.so · 658d3740
      Avi Kivity authored
      Fixes "could not load libm.so.6".
      658d3740
    • Avi Kivity's avatar
      elf: look for already-loaded sonames first · 4b326782
      Avi Kivity authored
      If we're looking for a module by its soname (rather than a path), first
      perform a search in case it's already loaded.
      
      Fixes "could not load libjvm.so", as libjvm.so is not on RPATH or the default
      path, but is already loaded anyway.
      4b326782
Loading