簡體   English   中英

每個從sched_getscheduler(pid)返回int值的調度策略對應於什么? [C]

[英]What scheduling policy does each return int value from sched_getscheduler(pid) correspond to? [C]

當我使用以下代碼將調度策略設置為“截止日期”時:

struct sched_attr attr = {
          .size = sizeof(attr),
          .sched_policy = SCHED_DEADLINE,
          .sched_runtime = 30000000,
          .sched_period = 100000000,
          .sched_deadline = 100000000
      };

  pid_t pid = getpid();
    printf("pid=(%d)\n",pid);

  if (sched_setattr(pid, &attr, 0)){
    printf("[ERROR] sched_setattr()\n");
    perror("[ERROR] sched_setattr()\n");
  }

  // Check scheduler policy is set correctly
  printf("Scheduler Policy is %d.\n", sched_getscheduler(pid));

上述代碼的結果如下:

pid =(XXXXXX)

計划程序策略為6。

有人可以解釋sched_getscheduler(pid)的哪個返回int值對應於哪個調度程序策略嗎?

例如:從上述代碼中,我相信6對應於SCHED_DEADLINE策略。

您可以自己在系統上輕松找到類似這樣的內容,例如:

$ grep -r SCHED_DEADLINE /usr/include/ 
/usr/include/linux/sched.h:
#define SCHED_DEADLINE      6
$ grep define.SCHED_ /usr/include/linux/sched.h 
#define SCHED_NORMAL        0
#define SCHED_FIFO      1
#define SCHED_RR        2
#define SCHED_BATCH     3
#define SCHED_IDLE      5
#define SCHED_DEADLINE      6

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM