Skip to content

Commit

Permalink
Merge tag 'sched-urgent-2021-06-30' of git://git.kernel.org/pub/scm/l…
Browse files Browse the repository at this point in the history
…inux/kernel/git/tip/tip

Pull scheduler fixes from Ingo Molnar:

 - Fix a small inconsistency (bug) in load tracking, caught by a new
   warning that several people reported.

 - Flip CONFIG_SCHED_CORE to default-disabled, and update the Kconfig
   help text.

* tag 'sched-urgent-2021-06-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  sched/core: Disable CONFIG_SCHED_CORE by default
  sched/fair: Ensure _sum and _avg values stay consistent
  • Loading branch information
torvalds committed Jun 30, 2021
2 parents f4cc74c + a22a5cb commit a6eaf38
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
6 changes: 3 additions & 3 deletions kernel/Kconfig.preempt
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,6 @@ config PREEMPT_DYNAMIC

config SCHED_CORE
bool "Core Scheduling for SMT"
default y
depends on SCHED_SMT
help
This option permits Core Scheduling, a means of coordinated task
Expand All @@ -115,7 +114,8 @@ config SCHED_CORE
- mitigation of some (not all) SMT side channels;
- limiting SMT interference to improve determinism and/or performance.

SCHED_CORE is default enabled when SCHED_SMT is enabled -- when
unused there should be no impact on performance.
SCHED_CORE is default disabled. When it is enabled and unused,
which is the likely usage by Linux distributions, there should
be no measurable impact on performance.


6 changes: 3 additions & 3 deletions kernel/sched/fair.c
Original file line number Diff line number Diff line change
Expand Up @@ -3685,15 +3685,15 @@ update_cfs_rq_load_avg(u64 now, struct cfs_rq *cfs_rq)

r = removed_load;
sub_positive(&sa->load_avg, r);
sub_positive(&sa->load_sum, r * divider);
sa->load_sum = sa->load_avg * divider;

r = removed_util;
sub_positive(&sa->util_avg, r);
sub_positive(&sa->util_sum, r * divider);
sa->util_sum = sa->util_avg * divider;

r = removed_runnable;
sub_positive(&sa->runnable_avg, r);
sub_positive(&sa->runnable_sum, r * divider);
sa->runnable_sum = sa->runnable_avg * divider;

/*
* removed_runnable is the unweighted version of removed_load so we
Expand Down

0 comments on commit a6eaf38

Please sign in to comment.