IrisSchedulerManager

IrisSchedulerManager — scheduler management

Synopsis

void                iris_scheduler_manager_prepare      (IrisScheduler *scheduler);
void                iris_scheduler_manager_unprepare    (IrisScheduler *scheduler);
void                iris_scheduler_manager_request      (IrisScheduler *scheduler,
                                                         guint per_quantum,
                                                         guint total);
void                iris_scheduler_manager_print_stat   (void);

Description

The scheduler manager helps provide dynamic thread-management for schedulers. It also has some helpers for debugging complex threading scenarios.

Details

iris_scheduler_manager_prepare ()

void                iris_scheduler_manager_prepare      (IrisScheduler *scheduler);

Prepares a scheduler for execution. Any required threads for processing are attached to the scheduler for future use.

scheduler :

An IrisScheduler

iris_scheduler_manager_unprepare ()

void                iris_scheduler_manager_unprepare    (IrisScheduler *scheduler);

Unprepares a scheduler by removing all of its active threads and resources. The unused threads can then be repurposed to other schedulers within the system.

scheduler :

An IrisScheduler

iris_scheduler_manager_request ()

void                iris_scheduler_manager_request      (IrisScheduler *scheduler,
                                                         guint per_quantum,
                                                         guint total);

Request that more workers be added to a scheduler. If per_quantum is > 0, then it will be used to try to maximize the number of threads that can be added to minimize the time to process the queue.

scheduler :

An IrisScheduler

per_quantum :

The number of items processed in last quantum

total :

the total number of work items left

iris_scheduler_manager_print_stat ()

void                iris_scheduler_manager_print_stat   (void);

Prints out information on the threads within iris to standard error.