Csched man page

CSCHED(3)                  Common Library Functions                  CSCHED(3)

      [1mCsched [22m- [1mLCG Scheduling [22minferface

      [1m#include <Csched_api.h>[0m

      [1mint Csched_getschedparam(int [4m[22mcid[24m[1m, int *[4m[22mpolicy[24m[1m, Csched_param_t *[4m[22mparam[24m[1m);[0m

      [1mint Csched_setschedparam(int [4m[22mcid[24m[1m, int [4m[22mpolicy[24m[1m, Csched_param_t *[4m[22mparam[24m[1m);[0m

      [1mint Csched_get_priority_min(int [4m[22mpolicy[24m[1m);[0m

      [1mint Csched_get_priority_mid(int [4m[22mpolicy[24m[1m);[0m

      [1mint Csched_get_priority_max(int [4m[22mpolicy[24m[1m);[0m

      Beyond  the  errno value, [1mCsched [22mis setting the serrno value to generic
      values that are described in [1mCthread[22m(1).

      [1mCsched [22mis a common API interface for scheduling of  multithreaded  pro-

      [1mCsched_getschedparam [22mretrieves the current scheduling policy and prior-
      ity of the thread referenced with Cthread's id [4mcid.[24m  The [4mpolicy[24m can  be
      [4mCSCHED_OTHER,[24m  [4mCSCHED_FIFO,[24m  [4mCSCHED_RR,[24m  [4mCSCHED_FG_NP[24m  or [4mCSCHED_BG_NP.[0m
      The [4mparam[24m structure contains a member,  named  [4msched_priority[24m  ,  where
      will  be  stored the current priority of the thread you ask for. Please
      read the [1mNOTES [22msection.

      Return value is 0 on success, or -1 on error.

      [1mCsched_setschedparam [22msets the scheduling policy  and  priority  of  the
      thread   referenced   with   Cthread's  id  [4mcid.[24m   The  [4mpolicy[24m  can  be
      [4mCSCHED_OTHER,[24m [4mCSCHED_FIFO,[24m  [4mCSCHED_RR,[24m  [4mCSCHED_FG_NP[24m  or  [4mCSCHED_BG_NP.[0m
      You   are   neverthless  [1mwarned  [22mthat  the  [1mrecommended  [22mscheduling  is
      [4mCSCHED_OTHER.[24m  Trying to use another scheduling is an opendoor to  pro-
      cessor  deadlock  if  you  do  not code with extreme care. Furthermore,
      except [4mCSCHED_OTHER[24m , it is [1mnot [22mguaranteed that the other possible val-
      ues ( [4mCSCHED_CSCHED_FIFO,[24m [4mCSCHED_RR,[24m [4mCSCHED_FG_NP[24m or [4mCSCHED_BG_NP[24m ) are
      supported or implemented on your platform.  The  [4mparam[24m  structure  con-
      tains  a  member, named [4msched_priority[24m , where is given the priority of
      the thread you want the attributes to be modified. Its value  can  vary
      from  [1mCsched_get_priority_min([4m[22mpolicy[24m[1m)  [22mto  [1mCsched_get_priority_max([4m[22mpol-[0m
      [4micy[24m[1m).  [22mPlease read the [1mNOTES [22msection.

      Return value is 0 on success, or -1 on error.

      [1mCsched_get_priority_min[22m, [1mCsched_get_priority_mid [22mand  [1mCsched_get_prior-[0m
      [1mity_max  are  returning the minimum, medium and maximum allowed priori-[0m
      [1mties, respectively, vs. the given [4m[22mpolicy.[24m  The output is the  one  that
      you  use  in the [4msched_priority[24m member of the Csched_param_t structure.
      Please read the [1mNOTES [22msection.

      Return value is != -1 on success, or -1 on error.

      About  scheduling,   the   Csched   interface   defines   [4mCSCHED_OTHER,[0m
      [4mCSCHED_FIFO,[24m  [4mCSCHED_RR,[24m  [4mCSCHED_FG_NP[24m and [4mCSCHED_BG_NP[24m for portability
      issue. This does [1mnot [22mmean that all those schedulings are  supported  on
      the  platform  you  are running on. In particular, only [4mCSCHED_OTHER[24m 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  [4mCSCHED_OTHER[0m
      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.

[1mSEE ALSO[0m

      [1mLCG Grid Deployment [22mTeam

LCG          $Date: 2010-04-05 09:51:26 +0200 (Mon, 05 Apr 2010) $   CSCHED(3)