Oliver Kowalke
|
9057a3c365
|
split round_robin into sched_algorithm + fiber_manager
|
2014-03-20 20:04:59 +01:00 |
|
Oliver Kowalke
|
228aae6833
|
do not use reference-counting
|
2014-03-19 19:55:56 +01:00 |
|
Oliver Kowalke
|
6526dc5835
|
Merge branch 'feature/yield' into develop
Conflicts:
include/boost/fiber/detail/fifo.hpp
include/boost/fiber/detail/worker_fiber.hpp
include/boost/fiber/round_robin.hpp
performance/preallocated_stack_allocator.hpp
src/detail/worker_fiber.cpp
src/round_robin.cpp
|
2014-03-17 19:12:13 +01:00 |
|
Oliver Kowalke
|
3b882ade23
|
use fifo in round_robin
|
2014-03-16 22:07:01 +01:00 |
|
Oliver Kowalke
|
8cbca1363e
|
use fifo as waiting-queue
|
2014-03-16 16:54:18 +01:00 |
|
Oliver Kowalke
|
a3e8944fd0
|
equeue fiber first
|
2014-03-16 13:44:36 +01:00 |
|
Oliver Kowalke
|
6edddcbabc
|
use fifo as waiting-queue
|
2014-03-16 13:33:07 +01:00 |
|
Oliver Kowalke
|
9f7f74f662
|
use symmetric_coroutine<>::yield_type::operator()()
|
2014-03-15 19:16:13 +01:00 |
|
Oliver Kowalke
|
1a4703c4cb
|
Revert " hold main_fiber::ptr_t in round_robin"
This reverts commit dc0216504e.
|
2014-03-08 20:29:32 +01:00 |
|
Oliver Kowalke
|
49d223fe1a
|
resume fiber on creation
|
2014-03-08 19:38:12 +01:00 |
|
Oliver Kowalke
|
5d6c392463
|
use priority_queue
|
2014-03-08 18:55:37 +01:00 |
|
Oliver Kowalke
|
01a59c93de
|
remove unecessary local data
|
2014-03-08 18:55:17 +01:00 |
|
Oliver Kowalke
|
dc0216504e
|
hold main_fiber::ptr_t in round_robin
|
2014-03-08 18:54:27 +01:00 |
|
Oliver Kowalke
|
5b6d77b6b5
|
renaming of fiber classes
|
2014-03-05 17:30:11 +01:00 |
|
Oliver Kowalke
|
bafa33f287
|
wait in round-robin destructor until all fibers are finished
|
2014-03-04 18:04:11 +01:00 |
|
Oliver Kowalke
|
2c9e034f0b
|
move this_thread::yield() into round_robin schedulers
|
2013-12-16 17:38:04 +01:00 |
|
Oliver Kowalke
|
511b740ec2
|
default-scheduler allocated
|
2013-12-02 19:45:48 +01:00 |
|
Oliver Kowalke
|
1c8cd1d880
|
protect mutex' with spunlock only
|
2013-11-05 16:13:29 +01:00 |
|
Oliver Kowalke
|
99cb841259
|
some corrections for noexcept specifier
|
2013-11-02 07:05:03 +01:00 |
|
Oliver Kowalke
|
436883ca33
|
add workstealing round_robin
|
2013-10-25 18:01:56 +02:00 |
|
Oliver Kowalke
|
a77b36c413
|
use ws_queue in round_robin
|
2013-10-24 18:42:38 +02:00 |
|
Oliver Kowalke
|
c6718b1ee8
|
add fiber-migration between threads
|
2013-10-23 18:21:58 +02:00 |
|
Oliver Kowalke
|
3eafc0725f
|
thread-safe mutex'
|
2013-10-22 14:42:01 +02:00 |
|
Oliver Kowalke
|
ec8a11e60c
|
atomic fiber::state_
|
2013-10-17 19:21:26 +02:00 |
|
Oliver Kowalke
|
decba3f33f
|
std::terminate() called if exception not catched
|
2013-10-01 19:44:06 +02:00 |
|
Oliver Kowalke
|
4121cac318
|
add support for timed-operations (wait_for/wait_until)
|
2013-08-16 21:24:32 +02:00 |
|
Oliver Kowalke
|
94482d25b6
|
add time-point to schedulable fiber
|
2013-08-13 18:23:53 +02:00 |
|
Oliver Kowalke
|
f06b6cf0d4
|
fix auto-link in config.hpp
|
2013-08-13 10:27:02 +02:00 |
|
Oliver Kowalke
|
3ba86d0e27
|
let scheduler::instance() return a pointer
|
2013-06-23 12:24:42 +02:00 |
|
Oliver Kowalke
|
f3193cb2e3
|
code clean-up
|
2013-06-17 17:43:21 +02:00 |
|
Oliver Kowalke
|
de3bc64e4f
|
boost.asio related stuff (fiber-aware io_servic etc.)
|
2013-06-14 20:37:47 +02:00 |
|
Oliver Kowalke
|
31c764b7bc
|
some code clean-up
|
2013-06-14 16:53:46 +02:00 |
|
Oliver Kowalke
|
61c3fd4589
|
some fixes
|
2013-06-10 20:11:52 +02:00 |
|
Oliver Kowalke
|
5396888ec3
|
atomic-ops removed
|
2013-03-19 18:19:27 +01:00 |
|
Oliver Kowalke
|
9dfeb585d6
|
remove code for fiber migration
|
2013-03-19 17:44:43 +01:00 |
|
Oliver Kowalke
|
faa8e41890
|
move ref-counting into detail::notify
|
2013-02-24 09:43:50 +01:00 |
|
Oliver Kowalke
|
df5c38362b
|
round_robin - memory_order_seq_cst is default
|
2013-02-23 14:41:47 +01:00 |
|
Oliver Kowalke
|
68615292d2
|
remove wake_up/woke_up -> use of is_ready/set_ready instead
|
2013-02-17 17:40:08 +01:00 |
|
Oliver Kowalke
|
9c4bbb2ba4
|
introduce notify for fiber_base and round_robin
|
2013-02-03 15:54:41 +01:00 |
|
Oliver Kowalke
|
83b751b62c
|
algorithm::wait() unlock spinlock
|
2013-02-03 15:49:19 +01:00 |
|
Oliver Kowalke
|
c781386ed7
|
replace add() by spwan() in algorithm
|
2013-01-31 18:06:40 +01:00 |
|
Oliver Kowalke
|
8f82a2522c
|
algorithm::wait() does not take spinlock unique-lock
|
2013-01-31 18:03:45 +01:00 |
|
Oliver Kowalke
|
1944e657c7
|
remove unused test var
|
2013-01-30 17:51:40 +01:00 |
|
Oliver Kowalke
|
25244d681d
|
change assertions in round-robin related to active-fiber
|
2013-01-29 17:26:39 +01:00 |
|
Oliver Kowalke
|
bdb613a7bf
|
some test code
|
2013-01-28 22:00:46 +01:00 |
|
Oliver Kowalke
|
d371f16603
|
round_robin::migrate_to does accept reference
|
2013-01-28 18:15:06 +01:00 |
|
Oliver Kowalke
|
41eda947d2
|
move fiber in migrate_to
|
2013-01-27 12:44:48 +01:00 |
|
Oliver Kowalke
|
0abfc511bb
|
tests
|
2013-01-27 10:14:15 +01:00 |
|
Oliver Kowalke
|
10786c3ed6
|
stuff for fixin
|
2013-01-24 20:07:40 +01:00 |
|
Oliver Kowalke
|
b8346b0ef0
|
use wake_up()
|
2013-01-23 21:47:29 +01:00 |
|