diff options
author | Ingo Molnar <mingo@kernel.org> | 2021-06-18 11:31:25 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2021-06-18 11:31:25 +0200 |
commit | b2c0931a07b7376c6291e0cfb347ad27f7b66263 (patch) | |
tree | 58ee600a10ecc49f473429a73c6c079422dac97f /include/linux/sched.h | |
parent | 94aafc3ee31dc199d1078ffac9edd976b7f47b3d (diff) | |
parent | a7b359fc6a37faaf472125867c8dc5a068c90982 (diff) | |
download | linux-stable-b2c0931a07b7376c6291e0cfb347ad27f7b66263.tar.gz linux-stable-b2c0931a07b7376c6291e0cfb347ad27f7b66263.tar.bz2 linux-stable-b2c0931a07b7376c6291e0cfb347ad27f7b66263.zip |
Merge branch 'sched/urgent' into sched/core, to resolve conflicts
This commit in sched/urgent moved the cfs_rq_is_decayed() function:
a7b359fc6a37: ("sched/fair: Correctly insert cfs_rq's to list on unthrottle")
and this fresh commit in sched/core modified it in the old location:
9e077b52d86a: ("sched/pelt: Check that *_avg are null when *_sum are")
Merge the two variants.
Conflicts:
kernel/sched/fair.c
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index c7e7d50e2fdc..ac5a7d29fd4f 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -350,11 +350,19 @@ struct load_weight { * Only for tasks we track a moving average of the past instantaneous * estimated utilization. This allows to absorb sporadic drops in utilization * of an otherwise almost periodic task. + * + * The UTIL_AVG_UNCHANGED flag is used to synchronize util_est with util_avg + * updates. When a task is dequeued, its util_est should not be updated if its + * util_avg has not been updated in the meantime. + * This information is mapped into the MSB bit of util_est.enqueued at dequeue + * time. Since max value of util_est.enqueued for a task is 1024 (PELT util_avg + * for a task) it is safe to use MSB. */ struct util_est { unsigned int enqueued; unsigned int ewma; #define UTIL_EST_WEIGHT_SHIFT 2 +#define UTIL_AVG_UNCHANGED 0x80000000 } __attribute__((__aligned__(sizeof(u64)))); /* |