Lines Matching refs:Scheduler
71 inline marl::Scheduler::Config setConfigDefaults( in setConfigDefaults()
72 const marl::Scheduler::Config& cfgIn) { in setConfigDefaults()
73 marl::Scheduler::Config cfg{cfgIn}; in setConfigDefaults()
88 thread_local Scheduler* Scheduler::bound = nullptr;
90 Scheduler* Scheduler::get() { in get()
94 void Scheduler::bind() { in bind()
113 void Scheduler::unbind() { in unbind()
132 Scheduler::Scheduler(const Config& config) in Scheduler() function in marl::Scheduler
148 Scheduler::~Scheduler() { in ~Scheduler()
168 void Scheduler::enqueue(Task&& task) { in enqueue()
201 const Scheduler::Config& Scheduler::config() const { in config()
205 bool Scheduler::stealWork(Worker* thief, uint64_t from, Task& out) { in stealWork()
217 void Scheduler::onBeginSpinning(int workerId) { in onBeginSpinning()
225 Scheduler::Config Scheduler::Config::allCores() { in allCores()
232 Scheduler::Fiber::Fiber(Allocator::unique_ptr<OSFiber>&& impl, uint32_t id) in Fiber()
237 Scheduler::Fiber* Scheduler::Fiber::current() { in current()
242 void Scheduler::Fiber::notify() { in notify()
246 void Scheduler::Fiber::wait(marl::lock& lock, const Predicate& pred) { in wait()
253 void Scheduler::Fiber::switchTo(Fiber* to) { in switchTo()
262 Allocator::unique_ptr<Scheduler::Fiber> Scheduler::Fiber::create( in create()
271 Allocator::unique_ptr<Scheduler::Fiber>
272 Scheduler::Fiber::createFromCurrentThread(Allocator* allocator, uint32_t id) { in createFromCurrentThread()
277 const char* Scheduler::Fiber::toString(State state) { in toString()
297 Scheduler::WaitingFibers::WaitingFibers(Allocator* allocator) in WaitingFibers()
300 Scheduler::WaitingFibers::operator bool() const { in operator bool()
304 Scheduler::Fiber* Scheduler::WaitingFibers::take(const TimePoint& timeout) { in take()
320 Scheduler::TimePoint Scheduler::WaitingFibers::next() const { in next()
326 void Scheduler::WaitingFibers::add(const TimePoint& timeout, Fiber* fiber) { in add()
333 void Scheduler::WaitingFibers::erase(Fiber* fiber) { in erase()
344 bool Scheduler::WaitingFibers::contains(Fiber* fiber) const { in contains()
348 bool Scheduler::WaitingFibers::Timeout::operator<(const Timeout& o) const { in operator <()
358 thread_local Scheduler::Worker* Scheduler::Worker::current = nullptr;
360 Scheduler::Worker::Worker(Scheduler* scheduler, Mode mode, uint32_t id) in Worker()
367 void Scheduler::Worker::start() { in start()
380 Scheduler::bound = scheduler; in start()
404 void Scheduler::Worker::stop() { in stop()
423 bool Scheduler::Worker::wait(const TimePoint* timeout) { in wait()
432 bool Scheduler::Worker::wait(lock& waitLock, in wait()
466 void Scheduler::Worker::suspend( in suspend()
505 bool Scheduler::Worker::tryLock() { in tryLock()
509 void Scheduler::Worker::enqueue(Fiber* fiber) { in enqueue()
539 void Scheduler::Worker::enqueue(Task&& task) { in enqueue()
544 void Scheduler::Worker::enqueueAndUnlock(Task&& task) { in enqueueAndUnlock()
554 bool Scheduler::Worker::steal(Task& out) { in steal()
571 void Scheduler::Worker::run() { in run()
586 void Scheduler::Worker::runUntilShutdown() { in runUntilShutdown()
593 void Scheduler::Worker::waitForWork() { in waitForWork()
615 void Scheduler::Worker::enqueueFiberTimeouts() { in enqueueFiberTimeouts()
625 void Scheduler::Worker::changeFiberState(Fiber* fiber, in changeFiberState()
635 void Scheduler::Worker::setFiberState(Fiber* fiber, Fiber::State to) const { in setFiberState()
641 void Scheduler::Worker::spinForWork() { in spinForWork()
672 void Scheduler::Worker::runUntilIdle() { in runUntilIdle()
715 Scheduler::Fiber* Scheduler::Worker::createWorkerFiber() { in createWorkerFiber()
726 void Scheduler::Worker::switchToFiber(Fiber* to) { in switchToFiber()
738 Scheduler::Worker::Work::Work(Allocator* allocator) in Work()
742 void Scheduler::Worker::Work::wait(F&& f) { in wait()
755 Scheduler::SingleThreadedWorkers::SingleThreadedWorkers(Allocator* allocator) in SingleThreadedWorkers()