[PATCH] Cygwin: sched_setscheduler: accept SCHED_BATCH
Christian Franke
Christian.Franke@t-online.de
Mon Dec 9 10:52:01 GMT 2024
Corinna Vinschen wrote:
> Hi Christian,
>
> On Dec 6 17:52, Christian Franke wrote:
>> A first attempt to add SCHED_BATCH.
>>
>> Still TODO:
>> - Add SCHED_IDLE/BATCH to winsup/doc/posix.xml
>> - Provide correct values in (18) and (19) of /proc/PID/stat for SCHED_BATCH.
>> - Provide correct value in (18) of /proc/PID/stat for SCHED_FIFO/RR.
>>
>> --
>> Regards,
>> Christian
>>
>> From 0822917252fdade3edc240b4fbfd3c0f47ef1deb Mon Sep 17 00:00:00 2001
>> From: Christian Franke <christian.franke@t-online.de>
>> Date: Fri, 6 Dec 2024 17:32:29 +0100
>> Subject: [PATCH] Cygwin: sched_setscheduler: accept SCHED_BATCH
>>
>> Add SCHED_BATCH to <sys/sched.h>. SCHED_BATCH is similar to SCHED_OTHER,
>> except that the nice value is mapped to a one step lower Windows priority.
>> Rework the mapping functions to ease the addition of this functionality.
>>
>> Signed-off-by: Christian Franke <christian.franke@t-online.de>
>> ---
>> newlib/libc/include/sys/sched.h | 8 ++
>> winsup/cygwin/local_includes/miscfuncs.h | 4 +-
>> winsup/cygwin/miscfuncs.cc | 155 +++++++++++++----------
>> winsup/cygwin/release/3.6.0 | 11 +-
>> winsup/cygwin/sched.cc | 15 ++-
>> winsup/cygwin/syscalls.cc | 20 +--
>> 6 files changed, 129 insertions(+), 84 deletions(-)
>>
>> diff --git a/newlib/libc/include/sys/sched.h b/newlib/libc/include/sys/sched.h
>> index c96355c24..265215211 100644
>> --- a/newlib/libc/include/sys/sched.h
>> +++ b/newlib/libc/include/sys/sched.h
>> @@ -38,6 +38,14 @@ extern "C" {
>> #define SCHED_FIFO 1
>> #define SCHED_RR 2
>>
>> +#if __GNU_VISIBLE
>> +#if defined(__CYGWIN__)
>> +#define SCHED_BATCH 0
>> +#else
>> +#define SCHED_BATCH 3
>> +#endif
>> +#endif
> I would prefer that SCHED_BATCH gets its own, single value.
> There's no good reason to add another ifdef for that. Why
> not just #define SCHED_BATCH 6?
The idea was to keep the non-Cygwin value in sync with Linux.
https://github.com/torvalds/linux/blob/fac04ef/include/uapi/linux/sched.h#L111
Of course we could drop this idea and use 6.
More information about the Cygwin-patches
mailing list