From: Adrian Knoth Date: Tue, 2 Feb 2010 16:18:29 +0000 (+0100) Subject: chrt: add support for SCHED_RESET_ON_FORK X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0fefbedc72f5b8399be50ae0aad8eb9cb3b630a3;p=util-linux chrt: add support for SCHED_RESET_ON_FORK From 9262c9832134f8a33ac2ea2854dc6d20acc712d1 Mon Sep 17 00:00:00 2001 From: Adrian Knoth Date: Tue, 2 Feb 2010 16:57:23 +0100 Subject: [PATCH] Add support for SCHED_RESET_ON_FORK to chrt SCHED_RESET_ON_FORK has been added in 2.6.31. If a thread has this flag set, chrt reports "unknown" policy, which is confusing. The patch adds support for this new flag. It will (can) only be applied to SCHED_FIFO or SCHED_RR, so there's no need to catch the other scheduling policies. Signed-off-by: Adrian Knoth --- diff --git a/schedutils/chrt.c b/schedutils/chrt.c index 6953addd..6629c2e8 100644 --- a/schedutils/chrt.c +++ b/schedutils/chrt.c @@ -47,6 +47,11 @@ # define SCHED_IDLE 5 #endif +#if defined(__linux__) && !defined(SCHED_RESET_ON_FORK) +#define SCHED_RESET_ON_FORK 0x40000000 +#endif + + static void show_usage(int rc) { fprintf(stdout, _( @@ -92,6 +97,9 @@ static void show_rt_info(const char *what, pid_t pid) case SCHED_FIFO: printf("SCHED_FIFO\n"); break; + case SCHED_FIFO|SCHED_RESET_ON_FORK: + printf("SCHED_FIFO|SCHED_RESET_ON_FORK\n"); + break; #ifdef SCHED_IDLE case SCHED_IDLE: printf("SCHED_IDLE\n"); @@ -100,6 +108,9 @@ static void show_rt_info(const char *what, pid_t pid) case SCHED_RR: printf("SCHED_RR\n"); break; + case SCHED_RR|SCHED_RESET_ON_FORK: + printf("SCHED_RR|SCHED_RESET_ON_FORK\n"); + break; #ifdef SCHED_BATCH case SCHED_BATCH: printf("SCHED_BATCH\n");