Provided by: liblcgdm-dev_1.8.7-3_amd64 

NAME
Csched - LCG Scheduling inferface
SYNOPSIS
#include <Csched_api.h>
int Csched_getschedparam(int cid, int *policy, Csched_param_t *param);
int Csched_setschedparam(int cid, int policy, Csched_param_t *param);
int Csched_get_priority_min(int policy);
int Csched_get_priority_mid(int policy);
int Csched_get_priority_max(int policy);
ERRORS
Beyond the errno value, Csched is setting the serrno value to generic values that are described in
Cthread(1).
DESCRIPTION
Csched is a common API interface for scheduling of multithreaded programs.
Csched_getschedparam retrieves the current scheduling policy and priority of the thread referenced with
Cthread's id cid. The policy can be CSCHED_OTHER, CSCHED_FIFO, CSCHED_RR, CSCHED_FG_NP or CSCHED_BG_NP.
The param structure contains a member, named sched_priority , where will be stored the current priority
of the thread you ask for. Please read the NOTES section.
Return value is 0 on success, or -1 on error.
Csched_setschedparam sets the scheduling policy and priority of the thread referenced with Cthread's id
cid. The policy can be CSCHED_OTHER, CSCHED_FIFO, CSCHED_RR, CSCHED_FG_NP or CSCHED_BG_NP. You are
neverthless warned that the recommended scheduling is CSCHED_OTHER. Trying to use another scheduling is
an opendoor to processor deadlock if you do not code with extreme care. Furthermore, except CSCHED_OTHER
, it is not guaranteed that the other possible values ( CSCHED_CSCHED_FIFO, CSCHED_RR, CSCHED_FG_NP or
CSCHED_BG_NP ) are supported or implemented on your platform. The param structure contains a member,
named sched_priority , where is given the priority of the thread you want the attributes to be modified.
Its value can vary from Csched_get_priority_min(policy) to Csched_get_priority_max(policy). Please read
the NOTES section.
Return value is 0 on success, or -1 on error.
Csched_get_priority_min, Csched_get_priority_mid and Csched_get_priority_max are returning the minimum,
medium and maximum allowed priorities, respectively, vs. the given policy. The output is the one that
you use in the sched_priority member of the Csched_param_t structure. Please read the NOTES section.
Return value is != -1 on success, or -1 on error.
NOTES
About scheduling, the Csched interface defines CSCHED_OTHER, CSCHED_FIFO, CSCHED_RR, CSCHED_FG_NP and
CSCHED_BG_NP for portability issue. This does not mean that all those schedulings are supported on the
platform you are running on. In particular, only CSCHED_OTHER is officially supported everywhere. The
other scheduling policies are totally system dependent and do not conform to any standardisation. Please
be aware, also, that using a scheduling other than CSCHED_OTHER is an opendoor to processor deadlock...
Finally, on some OSes, the scheduling interfaces are not necessarly in the thread library, nor in the C
library. In particular, on Digital you may find them in librt, and on Solaris in libposix4.
SEE ALSO
Cthread
AUTHOR
LCG Grid Deployment Team
LCG $Date: 2010-04-05 09:51:26 +0200 (Mon, 05 Apr 2010) $ CSCHED(3)