NCBI C++ ToolKit
|
Go to the source code of this file.
Go to the SVN repository for this file.
Functions | |
void | ConfigureScheduler (const CNcbiRegistry *reg, CTempString section) |
bool | ReConfig_Scheduler (const CTempString §ion, const CNcbiRegistry &new_reg, string &err_message) |
void | WriteSetup_Scheduler (CSrvSocketTask &task) |
Uint4 | GetDefaultTaskPriority (void) |
void | AssignThreadSched (SSrvThread *thr) |
void | ReleaseThreadSched (SSrvThread *thr) |
void | SchedCheckOverloads (void) |
void | SchedExecuteTask (SSrvThread *thr) |
void | SchedStartJiffy (SSrvThread *thr) |
bool | SchedIsAllIdle (void) |
void | MarkTaskTerminated (CSrvTask *task, bool immediate=true) |
void AssignThreadSched | ( | SSrvThread * | thr | ) |
Definition at line 593 of file scheduler.cpp.
References SSchedInfo::cnt_signal, SSchedInfo::max_tasks, CFutex::SetValueNonAtomic(), and thr.
Referenced by s_AllocThread().
void ConfigureScheduler | ( | const CNcbiRegistry * | reg, |
CTempString | section | ||
) |
Definition at line 566 of file scheduler.cpp.
References IRegistry::GetInt(), s_IdleStopTimeout, s_MaxTaskLatency, and s_TaskPriorityDefault.
Referenced by s_ReadConfiguration().
Uint4 GetDefaultTaskPriority | ( | void | ) |
Definition at line 587 of file scheduler.cpp.
References s_TaskPriorityDefault.
Referenced by CNCDistributionConf::GetSyncPriority(), CNCActiveHandler::SetReservedForBG(), and CNCMessageHandler::x_CleanCmdResources().
Definition at line 466 of file scheduler.cpp.
References ACCESS_ONCE, AtomicCAS(), fTaskNeedTermination, fTaskQueued, fTaskRunning, fTaskTerminated, CSrvTask::m_TaskFlags, and s_DoTermination().
Referenced by CleanSocketList(), CSrvSocketTask::Terminate(), and CSrvTask::Terminate().
bool ReConfig_Scheduler | ( | const CTempString & | section, |
const CNcbiRegistry & | new_reg, | ||
string & | err_message | ||
) |
Definition at line 573 of file scheduler.cpp.
References IRegistry::GetInt(), and s_TaskPriorityDefault.
Referenced by CTaskServer::ReConfig().
void ReleaseThreadSched | ( | SSrvThread * | thr | ) |
Definition at line 602 of file scheduler.cpp.
References GetCurThread(), SSchedInfo::jfy_start_time, s_BalanceTasks(), CSrvTime::Sec(), and thr.
Referenced by s_StopCurMgrThread().
void SchedCheckOverloads | ( | void | ) |
Definition at line 351 of file scheduler.cpp.
References GetCurThread(), i, IsThreadRunning(), s_BalanceTasks(), s_IsThreadOverloaded(), s_MaxRunningThreads, s_MaxTasksCoef, s_Threads, and thr.
Referenced by s_PerJiffyTasks_Service().
void SchedExecuteTask | ( | SSrvThread * | thr | ) |
Definition at line 521 of file scheduler.cpp.
References CSrvTime::AsUSec(), SSchedInfo::cnt_signal, CSrvTime::Current(), SSchedInfo::done_tasks, SSchedInfo::done_time, CFutex::GetValue(), CSrvTask::InternalRunSlice(), IsThreadRunning(), SSchedInfo::last_exec_time, CSrvTask::m_LastThread, SSchedInfo::max_slice, NULL, RequestThreadRevive(), s_JiffyTime, s_MarkTaskExecuted(), s_MarkTaskRunning(), s_UnqueueTask(), start_time, thr, SSchedInfo::wait_time, and CFutex::WaitValueChange().
Referenced by s_WorkerThreadMain().
bool SchedIsAllIdle | ( | void | ) |
Definition at line 437 of file scheduler.cpp.
References SSchedInfo::cnt_signal, CSrvTime::Current(), CFutex::GetValue(), i, SSchedInfo::last_exec_time, CMiniMutex::Lock(), s_JiffyTime, s_MaxRunningThreads, s_Threads, SSchedInfo::tasks_lock, thr, and CMiniMutex::Unlock().
Referenced by TrackShuttingDown().
void SchedStartJiffy | ( | SSrvThread * | thr | ) |
Definition at line 389 of file scheduler.cpp.
References CSrvTime::AsUSec(), SSchedInfo::cnt_signal, CSrvTime::Current(), SSchedInfo::done_tasks, SSchedInfo::done_time, CFutex::GetValue(), IsThreadRunning(), SSchedInfo::jfy_start_time, SSchedInfo::last_exec_time, SSchedInfo::max_slice, RequestThreadStop(), s_BalanceTasks(), s_FindRebalanceTasks(), s_IdleStopTimeout, s_IsThreadOverloaded(), s_MaxTasksCoef, s_ResetExecTime(), s_ResetMaxTasks(), s_Threads, CSrvTime::Sec(), thr, and SSchedInfo::wait_time.
Referenced by s_PerJiffyTasks_Worker().
void WriteSetup_Scheduler | ( | CSrvSocketTask & | task | ) |
Definition at line 579 of file scheduler.cpp.
References s_IdleStopTimeout, s_MaxTaskLatency, s_TaskPriorityDefault, CSrvSocketTask::WriteNumber(), and CSrvSocketTask::WriteText().
Referenced by CTaskServer::WriteSetup().