#include <XrdScheduler.hh>
|
| int | Active () |
| |
| void | Cancel (XrdJob *jp) |
| |
| int | canStick () |
| |
| void | DoIt () |
| |
| pid_t | Fork (const char *id) |
| |
| void * | Reaper () |
| |
| void | Run () |
| |
| void | Schedule (XrdJob *jp) |
| |
| void | Schedule (int num, XrdJob *jfirst, XrdJob *jlast) |
| |
| void | Schedule (XrdJob *jp, time_t atime) |
| |
| void | setParms (int minw, int maxw, int avlt, int maxi, int once=0) |
| |
| void | Start () |
| |
| int | Stats (char *buff, int blen, int do_sync=0) |
| |
| void | TimeSched () |
| |
| | XrdScheduler (XrdSysError *eP, XrdOucTrace *tP, int minw=8, int maxw=2048, int maxi=780) |
| |
| | ~XrdScheduler () |
| |
| | XrdJob (const char *desc="") |
| |
| virtual | ~XrdJob () |
| |
|
| static const char * | TraceID = "Sched" |
| |
| XrdScheduler::XrdScheduler |
( |
XrdSysError * |
eP, |
|
|
XrdOucTrace * |
tP, |
|
|
int |
minw = 8, |
|
|
int |
maxw = 2048, |
|
|
int |
maxi = 780 |
|
) |
| |
References firstPID, idl_Workers, max_QLength, max_Workers, max_Workidl, min_Workers, num_Jobs, num_JobsinQ, num_Layoffs, num_Limited, num_TCreate, num_TDestroy, num_Workers, stk_Workers, TimerQueue, WorkFirst, WorkLast, XrdLog, and XrdTrace.
| XrdScheduler::~XrdScheduler |
( |
| ) |
|
| int XrdScheduler::Active |
( |
| ) |
|
|
inline |
| void XrdScheduler::Cancel |
( |
XrdJob * |
jp | ) |
|
| int XrdScheduler::canStick |
( |
| ) |
|
|
inline |
| void XrdScheduler::DoIt |
( |
| ) |
|
|
virtual |
Implements XrdJob.
References DispatchMutex, idl_Workers, XrdSysMutex::Lock(), max_Workidl, min_Workers, num_JobsinQ, num_Layoffs, num_Workers, XrdSysSemaphore::Post(), SchedMutex, Schedule(), TRACE, XrdSysMutex::UnLock(), and WorkAvail.
| pid_t XrdScheduler::Fork |
( |
const char * |
id | ) |
|
| void XrdScheduler::hireWorker |
( |
int |
dotrace = 1 | ) |
|
|
private |
References XrdSysError::Emsg(), XrdSysMutex::Lock(), max_Workers, min_Workers, num_Limited, num_TCreate, num_Workers, XrdSysThread::Run(), SchedMutex, stk_Workers, TRACE, XrdSysMutex::UnLock(), XrdLog, and XrdStartWorking().
Referenced by Run(), and Start().
| void XrdScheduler::Monitor |
( |
| ) |
|
|
private |
| void * XrdScheduler::Reaper |
( |
| ) |
|
| void XrdScheduler::Run |
( |
| ) |
|
References XrdJob::Comment, DispatchMutex, XrdJob::DoIt(), XrdSysError::Emsg(), hireWorker(), idl_Workers, XrdSysMutex::Lock(), XrdJob::NextJob, num_JobsinQ, num_Layoffs, num_TDestroy, num_Workers, SchedMutex, TRACE, XrdSysMutex::UnLock(), XrdSysSemaphore::Wait(), WorkAvail, WorkFirst, WorkLast, and XrdLog.
Referenced by XrdStartWorking().
| void XrdScheduler::Schedule |
( |
XrdJob * |
jp | ) |
|
References XrdSysMutex::Lock(), max_QLength, XrdJob::NextJob, num_Jobs, num_JobsinQ, XrdSysSemaphore::Post(), SchedMutex, XrdSysMutex::UnLock(), WorkAvail, WorkFirst, and WorkLast.
Referenced by XrdXrootdJob::CleanUp(), XrdCmsConfig::Configure2(), XrdPollDev::Disable(), XrdPollE::Disable(), XrdPollPoll::Disable(), XrdCmsProtocol::Dispatch(), XrdXrootdProtocol::do_Offload(), XrdCmsNode::do_SelPrep(), XrdCmsJob::DoIt(), DoIt(), XrdXrootdMonFile::DoIt(), XrdXrootdJob::DoIt(), XrdCmsPrepare::DoIt(), XrdCmsConfig::DoIt(), XrdStatsJob::DoIt(), XrdXrootdPrepare::DoIt(), XrdObjectQ< T >::DoIt(), XrdLogWorker::DoIt(), XrdXrootdMonitor_Ident::DoIt(), XrdXrootdMonitor_Tick::DoIt(), XrdXrootdCallBack::Done(), XrdXrootdAio::doneRead(), XrdXrootdAio::doneWrite(), XrdCmsCluster::Drop(), XrdLinkScan::idleScan(), XrdXrootdMonFile::Init(), XrdXrootdMonitor::Init(), mainAccept(), mainAdmin(), XrdXrootdJob2Do::Redrive(), XrdCmsPrepare::Reset(), XrdPollPoll::Restart(), XrdXrootdJob::Schedule(), XrdObjectQ< T >::Set(), setParms(), XrdLink::Setup(), XrdPollDev::Start(), XrdPollE::Start(), XrdPollPoll::Start(), Start(), XrdXrootdMonitor::startClock(), XrdCmsCache::TickTock(), TimeSched(), XrdCmsDrop::XrdCmsDrop(), XrdLogWorker::XrdLogWorker(), XrdStatsJob::XrdStatsJob(), XrdXrootdJob::XrdXrootdJob(), and XrdXrootdPrepare::XrdXrootdPrepare().
| void XrdScheduler::Schedule |
( |
int |
num, |
|
|
XrdJob * |
jfirst, |
|
|
XrdJob * |
jlast |
|
) |
| |
References XrdSysMutex::Lock(), max_QLength, XrdJob::NextJob, num_Jobs, num_JobsinQ, XrdSysSemaphore::Post(), SchedMutex, XrdSysMutex::UnLock(), WorkAvail, WorkFirst, and WorkLast.
| void XrdScheduler::Schedule |
( |
XrdJob * |
jp, |
|
|
time_t |
atime |
|
) |
| |
References Cancel(), XrdJob::Comment, XrdSysMutex::Lock(), XrdJob::NextJob, XrdJob::SchedTime, XrdSysCondVar::Signal(), TimerMutex, TimerQueue, TimerRings, TRACE, and XrdSysMutex::UnLock().
| void XrdScheduler::setParms |
( |
int |
minw, |
|
|
int |
maxw, |
|
|
int |
avlt, |
|
|
int |
maxi, |
|
|
int |
once = 0 |
|
) |
| |
| void XrdScheduler::Start |
( |
| ) |
|
References XrdSysError::Emsg(), hireWorker(), max_Workidl, min_Workers, num_Workers, XrdSysThread::Run(), Schedule(), TRACE, XrdLog, XrdStartTSched(), and XRDSYSTHREAD_BIND.
Referenced by XrdConfig::Setup().
| int XrdScheduler::Stats |
( |
char * |
buff, |
|
|
int |
blen, |
|
|
int |
do_sync = 0 |
|
) |
| |
References DispatchMutex, idl_Workers, XrdSysMutex::Lock(), max_QLength, num_Jobs, num_JobsinQ, num_Limited, num_TCreate, num_TDestroy, num_Workers, SchedMutex, and XrdSysMutex::UnLock().
Referenced by XrdStats::Stats().
| void XrdScheduler::TimeSched |
( |
| ) |
|
| void XrdScheduler::traceExit |
( |
pid_t |
pid, |
|
|
int |
status |
|
) |
| |
|
private |
| int XrdScheduler::idl_Workers |
|
private |
| int XrdScheduler::max_QLength |
| int XrdScheduler::max_Workers |
|
private |
| int XrdScheduler::max_Workidl |
|
private |
| int XrdScheduler::min_Workers |
|
private |
| int XrdScheduler::num_Jobs |
| int XrdScheduler::num_JobsinQ |
|
private |
| int XrdScheduler::num_Layoffs |
|
private |
| int XrdScheduler::num_Limited |
| int XrdScheduler::num_TCreate |
| int XrdScheduler::num_TDestroy |
| int XrdScheduler::num_Workers |
|
private |
| int XrdScheduler::stk_Workers |
|
private |
| XrdJob* XrdScheduler::TimerQueue |
|
private |
| const char * XrdScheduler::TraceID = "Sched" |
|
staticprivate |
| XrdJob* XrdScheduler::WorkFirst |
|
private |
| XrdJob* XrdScheduler::WorkLast |
|
private |
The documentation for this class was generated from the following files: