Michael Bebenita
|
f8ff013e3c
|
Added a few utility classes, cleaned up the include order of .h files, and started to make the Rust kernel own domain message queues rather than the Rust domains themselves.
|
2010-09-07 18:41:07 -07:00 |
|
Michael Bebenita
|
64ff82ecf9
|
Implemented an lock free queue based on this paper 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-24 21:07:14 -07:00 |
|
Michael Bebenita
|
a4b8c74f9f
|
Added simple deadlock detection in the scheduler.
|
2010-08-17 23:49:57 -07:00 |
|
Michael Bebenita
|
2c1ec6771b
|
Lots of changes around memory managment in the Runtime. Added memory regions and fixed race caused by calling rust_srv::malloc() from multiple threads when sending messages.
|
2010-08-17 23:49:57 -07:00 |
|
Michael Bebenita
|
e20752de68
|
Added labels to blocking conditions.
|
2010-08-17 23:49:57 -07:00 |
|
Michael Bebenita
|
5d98a311e4
|
Putting out the burning tree on Windows. Turns out you can completely starve threads by not yielding on windows/vmware, really weird.
|
2010-08-16 18:44:26 -07:00 |
|
Michael Bebenita
|
988695a96c
|
Added support for task sleeping in the scheduler.
|
2010-08-11 21:24:04 -07:00 |
|
Graydon Hoare
|
dbe8760af3
|
Merge commit 'jyasskin/work'
Conflicts:
src/rt/rust_dom.cpp
src/rt/rust_upcall.cpp
|
2010-08-10 13:26:00 -07:00 |
|
Michael Bebenita
|
97d6342bf0
|
Synthesize a flush_chan upcall right before a channel's ref_count drops to zero. This should only happen in the Rust code and not in the drop glue, or on the unwind path. This change allows the task owning the channel to block on a flush and delete its own channel. This change also cleans up some code around rust_port and rust_chan.
|
2010-08-09 08:15:34 -07:00 |
|
Michael Bebenita
|
5917ca3519
|
Fixed deadlock in the scheduler caused by condition variables.
|
2010-08-09 08:06:08 -07:00 |
|
Michael Bebenita
|
30734a9a7b
|
Some pretty printing in the runtime.
|
2010-08-09 07:52:07 -07:00 |
|
Michael Bebenita
|
56cd4e458a
|
Made the runtime keep track of all live domains and print their state.
|
2010-08-09 07:34:11 -07:00 |
|
Jeffrey Yasskin
|
b71340552f
|
Add names to tasks and domains. These can either be an explicit literal string
after the "spawn" keyword, or implicitly the call expression used to start the
spawn.
|
2010-08-09 11:43:16 +02:00 |
|
Michael Bebenita
|
fa70212c86
|
Log dead tasks when dom is just waiting for refcounts to drop.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
a5b7a5202c
|
Note that we keep running the main loop until all task refcounts are zero.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
4246d567b7
|
Move ports out into their own file, add data_message and make communication system use it (and proxies) instead of existing token scheme.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
4ff8e15128
|
Move notification-messages out into their own file and unify into notify_message, make them use proxies, cache task proxies in dom.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
30b3f8a117
|
Add rust_dom::log_state, for logging the running/blocked/dead vectors per scheduling iteration.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
06b52b70db
|
Fix typos in comments, delete obsolete comments and dead commented code.
|
2010-07-28 20:30:29 -07:00 |
|
Roy Frostig
|
beca62e2e3
|
Attempt 2. This time actually reading my own diffs before committing.
|
2010-07-25 22:07:21 -07:00 |
|
Roy Frostig
|
b9f82d85f9
|
Attempt number 1 at extinguishing the windows tree remotely (apologies to those hacking on Sunday evening PST).
|
2010-07-25 22:05:39 -07:00 |
|
Roy Frostig
|
5b6e714d05
|
Expose an RNG (the one used by our runtime) to Rust via std.
|
2010-07-25 21:45:09 -07:00 |
|
Graydon Hoare
|
9935a48e95
|
Fix message formatting in runtime library.
|
2010-07-20 15:16:09 -07:00 |
|
Michael Bebenita
|
00d1465d13
|
Added a message passing system based on lock free queues for inter-thread communication. Channels now buffer on the sending side, and no longer require blocking when sending. Lots of other refactoring and bug fixes.
|
2010-07-19 14:05:18 -07:00 |
|
Graydon Hoare
|
d6b7c96c3e
|
Populate tree.
|
2010-06-23 21:03:09 -07:00 |
|