Poster of Linux kernelThe best gift for a Linux geek
CSCHED

CSCHED

Section: Common Library Functions (3) Updated: $Date: 2010-04-05 09:51:26 +0200 (Mon, 05 Apr 2010) $
Local index Up
 

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


 

Index

NAME
SYNOPSIS
ERRORS
DESCRIPTION
NOTES
SEE ALSO
AUTHOR

This document was created by man2html, using the manual pages.
Time: 21:43:55 GMT, April 16, 2011