| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2012-03-31 | rt: Rename rust_task_thread to rust_sched_loop | Brian Anderson | -395/+0 | |
| This class no longer represents a thread; it just schedules tasks. | ||||
| 2012-03-31 | rt: Extract rust_sched_launcher from rust_task_thread | Brian Anderson | -7/+2 | |
| rust_sched_launcher is actually responsible for setting up the thread and starting the loop. There will be other implementations that do not actually set up a new thread, in order to support scheduling tasks on the main OS thread. | ||||
| 2012-03-28 | Tidy up multiple declarations and STDC_FOO_MACROS guards in headers. | Graydon Hoare | -1/+0 | |
| 2012-03-21 | rt: Stop using large stacks for the main task | Brian Anderson | -3/+3 | |
| 2012-03-21 | rt: Don't swatch stacks during upcall_del_stack | Brian Anderson | -0/+1 | |
| 2012-03-18 | rt: Remove rust_task_thread::dead_tasks | Brian Anderson | -19/+9 | |
| 2012-03-18 | rt: Remove rust_task_thread::newborn_tasks | Brian Anderson | -10/+10 | |
| 2012-03-18 | rt: Convert rust_task_list to a typedef | Brian Anderson | -13/+0 | |
| 2012-03-18 | rt: Don't store the name of the task state in rust_task_list | Brian Anderson | -12/+27 | |
| 2012-03-18 | rt: Use an enum to represent the task state | Brian Anderson | -11/+27 | |
| 2012-03-18 | rt: Remove lock_held_by_current_thread | Brian Anderson | -3/+0 | |
| 2012-03-17 | rt: Remove the recursive lock from rust_task_thread | Brian Anderson | -7/+1 | |
| 2012-03-17 | rt: Remove some bogus pthread settings from rust_task_thread | Brian Anderson | -8/+0 | |
| This is all handled by rust_thread, and 'true' isn't even a valid value to pass to pthread_attr_setdetachestate | ||||
| 2012-03-16 | Get rid of rust_crate_cache in the runtime | Marijn Haverbeke | -6/+0 | |
| We are no longer generating dynamic tydescs or dicts. Issue #1982 | ||||
| 2012-03-15 | rt: Remove the kernel task table | Brian Anderson | -3/+1 | |
| 2012-03-15 | rt: Remove remaining uses of rust_kernel::get_task_by_id | Brian Anderson | -4/+2 | |
| 2012-03-05 | rt: Make linked failure less prone to deadlock | Brian Anderson | -10/+19 | |
| Still a mess. | ||||
| 2012-03-05 | rt: Stop calling prepare_valgrind_stack when it's not needed | Brian Anderson | -1/+0 | |
| 2012-03-05 | rt: Simplify reap_dead_tasks | Brian Anderson | -19/+12 | |
| 2012-03-05 | rt: Add an assert to the scheduler loop | Brian Anderson | -1/+2 | |
| 2012-03-05 | rt: Move transition from rust_task to rust_task_thread | Brian Anderson | -0/+23 | |
| 2012-03-05 | rt: Protect cond and cond_name with the state_lock | Brian Anderson | -1/+2 | |
| 2012-03-05 | rt: Protect rust_task::state with a lock | Brian Anderson | -2/+2 | |
| 2012-03-02 | rt: Always delete task stacks on the task thread | Brian Anderson | -0/+1 | |
| There's not a real race here, but it makes helgrind happy and is arguably less prone to future errrors. | ||||
| 2012-03-01 | rt: Make fields of rust_task_thread private where possible | Brian Anderson | -9/+9 | |
| 2012-03-01 | rt: rust_task_thread isn't ref counted | Brian Anderson | -1/+0 | |
| 2012-02-27 | rt: Don't zero new stacks | Brian Anderson | -3/+3 | |
| 2012-02-27 | rt: Change the way the kernel exits to avoid pthread leaks | Brian Anderson | -1/+0 | |
| This makes the kernel join every scheduler thread before exiting in order to ensure that all threads are completely terminated before the process exits. On my machine, for 32-bit targets, this was causing regular valgrind errors. | ||||
| 2012-02-27 | Revert "rt: Reconfigure the C stack for valgrind each time it's used" | Brian Anderson | -0/+1 | |
| This reverts commit 859e0256524a1f19ca0c79f518d2bb396355f174. This ended up not fixing the '0 bytes lost' problem and has some performance impact. | ||||
| 2012-02-14 | rt: Reconfigure the C stack for valgrind each time it's used | Brian Anderson | -1/+0 | |
| 2012-02-14 | rt: Don't allocate a C stack for tasks that already have one | Brian Anderson | -3/+3 | |
| 2012-02-10 | rt: Call register/deregister_valgrind_stack from the stack con/destructors | Brian Anderson | -3/+0 | |
| 2012-02-10 | rt: Extract prepare_valgrind_stack from register_valgrind_stack | Brian Anderson | -0/+1 | |
| 2012-02-10 | rt: Rename config_valgrind_stack to register_valgrind_stack, etc | Brian Anderson | -3/+3 | |
| 2012-02-10 | rt: Use 100k stacks for scheduler threads | Brian Anderson | -1/+3 | |
| 2012-02-09 | rt: Inline everything on the C-stack-switching path | Brian Anderson | -45/+0 | |
| 2012-02-09 | rt: Move valgrind stack configuration out of the hot path | Brian Anderson | -2/+2 | |
| 2012-02-09 | rt: Detach pthreads before exiting | Brian Anderson | -0/+1 | |
| Joinable pthreads need to be either joined or detached and we no longer join with the scheduler threads. | ||||
| 2012-02-09 | rt: Use rust_task_thread's C-stack pool for native calls | Brian Anderson | -13/+45 | |
| 2012-02-09 | rt: Add methods to rust_task_thread for borrowing C stacks | Brian Anderson | -1/+29 | |
| 2012-02-09 | rt: Make rust_task::ref_count private | Brian Anderson | -1/+1 | |
| 2012-02-09 | rt: Remove rust_task_user struct | Brian Anderson | -7/+4 | |
| 2012-02-08 | rt: Change the lifecycle of tasks and schedulers for various reasons | Brian Anderson | -4/+18 | |
| This is in preparation for giving schedulers their own life cycle separate from the kernel. Tasks must be deleted before their scheduler thread, so we can't let the scheduler exit before all its tasks have been cleaned up. In this scheme, the scheduler will unregister tasks with the kernel when they are reaped, then drop their ref on the task (there may still be others). When the task ref count hits zero, the task will request to be unregistered from the scheduler, which is responsible for deleting the task. Instead of having the kernel tell the scheduler to exit, let the scheduler decide when to exit. For now it will exit when all of its tasks are unregistered. | ||||
| 2012-02-08 | rt: Change the scheme used for terminating the kernel | Brian Anderson | -0/+1 | |
| Instead of joining on the scheduler threads, instead keep a count of active schedulers. When there are no more schedulers raise a signal for the main thread to continue. This will be required once schedulers can be added and removed from the running kernel. | ||||
| 2012-02-03 | rt: Make isaac_init not a template | Brian Anderson | -1/+1 | |
| 2012-02-03 | rt: Clean up the way the kernel tracks tasks | Brian Anderson | -12/+6 | |
| 2012-02-03 | rt: Extract rust_scheduler from rust_task_thread | Brian Anderson | -6/+6 | |
| 2012-02-03 | rt: Rename rust_scheduler to rust_task_thread | Brian Anderson | -0/+372 | |
