Kernel+LibC: Report correct scheduling priority limits

The priority range was changed several years ago, but the
userland-reported limits were just forgotten :skeleyak:. Move the thread
priority constants into an API header so that userland can use it
properly.
This commit is contained in:
kleines Filmröllchen 2022-07-24 16:38:41 +02:00 committed by Linus Groh
parent ce25bd8584
commit 6dded99777
3 changed files with 9 additions and 8 deletions

View file

@ -16,6 +16,12 @@ struct sched_param {
int sched_priority;
};
#define THREAD_PRIORITY_MIN 1
#define THREAD_PRIORITY_LOW 10
#define THREAD_PRIORITY_NORMAL 30
#define THREAD_PRIORITY_HIGH 50
#define THREAD_PRIORITY_MAX 99
#ifdef __cplusplus
}
#endif

View file

@ -15,6 +15,7 @@
#include <AK/Time.h>
#include <AK/Variant.h>
#include <AK/Vector.h>
#include <Kernel/API/POSIX/sched.h>
#include <Kernel/Arch/RegisterState.h>
#include <Kernel/Debug.h>
#include <Kernel/Forward.h>
@ -46,12 +47,6 @@ struct ThreadSpecificData {
ThreadSpecificData* self;
};
#define THREAD_PRIORITY_MIN 1
#define THREAD_PRIORITY_LOW 10
#define THREAD_PRIORITY_NORMAL 30
#define THREAD_PRIORITY_HIGH 50
#define THREAD_PRIORITY_MAX 99
#define THREAD_AFFINITY_DEFAULT 0xffffffff
struct ThreadRegisters {

View file

@ -20,13 +20,13 @@ int sched_yield()
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/sched_get_priority_min.html
int sched_get_priority_min([[maybe_unused]] int policy)
{
return 0; // Idle
return THREAD_PRIORITY_MIN;
}
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/sched_get_priority_max.html
int sched_get_priority_max([[maybe_unused]] int policy)
{
return 3; // High
return THREAD_PRIORITY_MAX;
}
// https://pubs.opengroup.org/onlinepubs/9699919799/functions/sched_setparam.html