| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2011-08-03 | timeout_in_ns was renamed to timeout_in_ms. | Erick Tryzelaar | -1/+1 | |
| 2011-08-03 | Sleep for a nonzero amount of time on Windows. | Eric Holk | -3/+3 | |
| 2011-07-28 | Updating to work on Windows. | Eric Holk | -1/+2 | |
| 2011-07-28 | Adding upcalls to to ref() and deref() tasks. This is the first step towards ↵ | Eric Holk | -1/+1 | |
| atomic reference counting of tasks. | ||||
| 2011-07-28 | Made task threads wait instead of sleep, so they can be woken up. This ↵ | Eric Holk | -5/+34 | |
| appears to give us much better parallel performance. Also, commented out one more unsafe log and updated rust_kernel.cpp to compile under g++ | ||||
| 2011-07-28 | Per-thread scheduling. Closes #682. | Eric Holk | -1/+1 | |
| Tasks are spawned on a random thread. Currently they stay there, but we should add task migration and load balancing in the future. This should drammatically improve our task performance benchmarks. | ||||
| 2011-07-13 | Prohibit trailing whitespace under 'tidy' script. Clean up all caught cases. | Graydon Hoare | -5/+5 | |
| 2011-07-13 | Remove 'Nop.' comments, add emacs lines, remove obsolete file. | Graydon Hoare | -3/+0 | |
| 2011-07-13 | Attempt to correct buggy win32 timer code (causing tinderbox failures). | Graydon Hoare | -28/+33 | |
| 2011-07-07 | Work on debugging race conditions. | Eric Holk | -0/+21 | |
| Ports and channels have been moved to the kernel pool, since they've been known to outlive their associated task. This probably isn't the right thing to do, the life cycle needs fixed instead. Some refactorying in memory_region.cpp. Added a helper function to increment and decrement the allocation counter. This makes it easier to switch between atomic and non-atomic increments. Using atomic increments for now, although this still does not fix the problem. | ||||
| 2011-07-06 | Removed what seems to be the last of the calls to rand(). Closes #582. | Eric Holk | -5/+0 | |
| 2011-06-30 | Added a nanosecond timer to time.rs, support for some floating point casts, ↵ | Eric Holk | -6/+12 | |
| and a commandline-driven mode for pfib.rs | ||||
| 2011-06-27 | A little tidying in rt. | Graydon Hoare | -1/+1 | |
| 2011-06-27 | Implementation mising features in lock_and_signal for Win32. Also lowered ↵ | Eric Holk | -5/+6 | |
| the minimum stack size to get the pfib benchmark to run without exhausting its address space on Windows. | ||||
| 2011-06-27 | Conservatively serialize nearly all upcalls. Successfuly ran make check with ↵ | Eric Holk | -1/+3 | |
| RUST_THREADS=8, so we're probably fairly safe now. In the future we can relax the synchronization to get better performance. | ||||
| 2011-06-27 | Basic multithreading support. The infinite loops test successfully maxes out ↵ | Eric Holk | -0/+37 | |
| the CPU. | ||||
| 2011-06-13 | This is the mega-ucontext commit. It replaces the task switching mechanism ↵ | Eric Holk | -10/+10 | |
| with a new one inspired by ucontext. It works under Linux, OS X and Windows, and is Valgrind clean on Linux and OS X (provided the runtime is built with gcc). This commit also moves yield and join to the standard library, as requested in #42. Join is currently a no-op though. | ||||
| 2011-06-09 | Remove executable bit from lock_and_signal.cpp. | Erick Tryzelaar | -0/+0 | |
| 2011-04-08 | add FIXME related to the -fno-strict-aliasing workaround | Marijn Haverbeke | -0/+2 | |
| 2010-10-20 | Add a virtual destructor to rust_thread in sync.h, to quiet the compiler | Patrick Walton | -0/+2 | |
| 2010-09-16 | Fixed deadlock caused by the message pump not being notified of new message ↵ | Michael Bebenita | -1/+1 | |
| sends. | ||||
| 2010-09-10 | Cleanup, refactoring, and some runtime tests. | Michael Bebenita | -0/+20 | |
| 2010-09-10 | Added lock_and_signal::signal_all(), and made the rust_kernel::join() use ↵ | Michael Bebenita | -9/+25 | |
| wait instead of yield. | ||||
| 2010-09-08 | Tidy up the sync dir, remove dead or mis-designed code in favour of OS ↵ | Graydon Hoare | -306/+125 | |
| primitives, switch rust_kernel to use a lock/signal pair and wait rather than spin. | ||||
| 2010-09-07 | Fixed race in the rust kernel. | Michael Bebenita | -2/+10 | |
| 2010-09-07 | Lots of design changes around proxies and message passing. Made it so that ↵ | Michael Bebenita | -2/+0 | |
| domains can only talk to other domains via handles, and with the help of the rust_kernel. | ||||
| 2010-09-07 | Added a thread utility class to factor out operations on threads. | Michael Bebenita | -0/+64 | |
| 2010-09-07 | Added a few utility classes, cleaned up the include order of .h files, and ↵ | Michael Bebenita | -0/+2 | |
| started to make the Rust kernel own domain message queues rather than the Rust domains themselves. | ||||
| 2010-08-24 | Implemented an lock free queue based on this paper ↵ | Michael Bebenita | -13/+284 | |
| http://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf, the "lock free queue" we had before wasn't lock free at all. | ||||
| 2010-08-17 | Made the lock_free_queue lock (temporarily, until fixed). | Michael Bebenita | -0/+7 | |
| 2010-08-16 | Putting out the burning tree on Windows. Turns out you can completely starve ↵ | Michael Bebenita | -2/+2 | |
| threads by not yielding on windows/vmware, really weird. | ||||
| 2010-08-11 | Added support for task sleeping in the scheduler. | Michael Bebenita | -0/+86 | |
| 2010-08-09 | Added class to abstract away platform specific thread primitives. | Michael Bebenita | -0/+21 | |
| 2010-08-09 | Added timed_wait to condition variables. | Michael Bebenita | -5/+24 | |
| 2010-07-19 | Added a message passing system based on lock free queues for inter-thread ↵ | Michael Bebenita | -16/+119 | |
| communication. Channels now buffer on the sending side, and no longer require blocking when sending. Lots of other refactoring and bug fixes. | ||||
| 2010-06-23 | Populate tree. | Graydon Hoare | -0/+171 | |
