linux-stable/Documentation
Shrikanth Hegde 8f833c82cd sched/topology: Change behaviour of the 'sched_energy_aware' sysctl, based on the platform
The 'sched_energy_aware' sysctl is available for the admin to disable/enable
energy aware scheduling(EAS). EAS is enabled only if few conditions are
met by the platform. They are, asymmetric CPU capacity, no SMT,
schedutil CPUfreq governor, frequency invariant load tracking etc.
A platform may boot without EAS capability, but could gain such
capability at runtime. For example, changing/registering the cpufreq
governor to schedutil.

At present, though platform doesn't support EAS, this sysctl returns 1
and it ends up calling build_perf_domains on write to 1 and
NOP when writing to 0. That is confusing and un-necessary.

Desired behavior would be to have this sysctl to enable/disable the EAS
on supported platform. On non-supported platform write to the sysctl
would return not supported error and read of the sysctl would return
empty. So sched_energy_aware returns empty - EAS is not possible at this moment
This will include EAS capable platforms which have at least one EAS
condition false during startup, e.g. not using the schedutil cpufreq governor
sched_energy_aware returns 0 - EAS is supported but disabled by admin.
sched_energy_aware returns 1 - EAS is supported and enabled.

User can find out the reason why EAS is not possible by checking
info messages. sched_is_eas_possible returns true if the platform
can do EAS at this moment.

Signed-off-by: Shrikanth Hegde <sshegde@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Tested-by: Pierre Gondois <pierre.gondois@arm.com>
Reviewed-by: Valentin Schneider <vschneid@redhat.com>
Link: https://lore.kernel.org/r/20231009060037.170765-3-sshegde@linux.vnet.ibm.com
2023-10-09 17:24:44 +02:00
..
ABI - Core Frameworks 2023-09-04 13:52:58 -07:00
accel
accounting
admin-guide sched/topology: Change behaviour of the 'sched_energy_aware' sysctl, based on the platform 2023-10-09 17:24:44 +02:00
arch LoongArch fixes for v6.6-rc3 2023-09-23 10:57:03 -07:00
block Documentation work keeps chugging along; stuff for 6.6 includes: 2023-08-30 20:05:42 -07:00
bpf Including fixes from netfilter and bpf. 2023-09-07 18:33:07 -07:00
cdrom
core-api printk changes for 6.6 2023-09-04 13:20:19 -07:00
cpu-freq
crypto
dev-tools LoongArch changes for v6.6 2023-09-08 12:16:52 -07:00
devicetree ARM: SoC fixes for 6.6 2023-09-30 18:41:37 -07:00
doc-guide
driver-api ata changes for 6.6 2023-09-05 12:37:28 -07:00
fault-injection
fb
features LoongArch changes for v6.6 2023-09-08 12:16:52 -07:00
filesystems v6.6-rc4.vfs.fixes 2023-09-26 08:50:30 -07:00
firmware-guide Documentation work keeps chugging along; stuff for 6.6 includes: 2023-08-30 20:05:42 -07:00
firmware_class
fpga
gpu drm ci for 6.6-rc1 2023-09-10 11:55:26 -07:00
hid
hwmon Documentation work keeps chugging along; stuff for 6.6 includes: 2023-08-30 20:05:42 -07:00
i2c media updates for v6.6-rc1 2023-09-01 12:21:32 -07:00
iio
images
infiniband
input input: docs: pxrc: remove reference to phoenix-sim 2023-08-28 12:43:32 -06:00
isdn
kbuild Documentation: kbuild: explain handling optional dependencies 2023-09-25 16:01:05 +09:00
kernel-hacking
leds
litmus-tests
livepatch
locking
maintainer Documentation work keeps chugging along; stuff for 6.6 includes: 2023-08-30 20:05:42 -07:00
mhi
misc-devices
mm Add x86 shadow stack support 2023-08-31 12:20:12 -07:00
netlabel
netlink doc/netlink: Add spec for rt route messages 2023-08-27 17:17:11 -07:00
networking Documentation: netdev: fix dead link in ax25.rst 2023-09-18 12:56:58 +01:00
nvdimm
nvme
PCI Merge branch 'pci/misc' 2023-08-29 11:03:57 -05:00
pcmcia
peci
power
powerpc powerpc updates for 6.6 2023-08-31 12:43:10 -07:00
process Documentation: embargoed-hardware-issues.rst: Add myself for RISC-V 2023-09-13 09:19:49 +02:00
RCU
riscv Merge patch series "RISC-V: Probe for misaligned access speed" 2023-09-08 11:24:12 -07:00
rust Documentation work keeps chugging along; stuff for 6.6 includes: 2023-08-30 20:05:42 -07:00
scheduler sched/topology: Remove the EM_MAX_COMPLEXITY limit 2023-10-09 13:07:27 +02:00
scsi SCSI misc on 20230902 2023-09-02 12:02:41 -07:00
security
sound ALSA: docs: Fix a typo of midi2_ump_probe option for snd-usb-audio 2023-09-12 10:00:46 +02:00
sphinx
sphinx-static
spi
staging
target
timers
tools
trace Probes updates for v6.6: 2023-09-02 11:10:50 -07:00
translations docs/zh_CN/LoongArch: Update the links of ABI 2023-09-20 14:26:38 +08:00
usb USB / Thunderbolt / PHY driver update for 6.6-rc1 2023-09-01 09:23:34 -07:00
userspace-api Including fixes from netfilter and bpf. 2023-09-07 18:33:07 -07:00
virt ARM: 2023-09-07 13:52:20 -07:00
w1
watchdog
wmi Documentation work keeps chugging along; stuff for 6.6 includes: 2023-08-30 20:05:42 -07:00
.gitignore
atomic_bitops.txt
atomic_t.txt
Changes
CodingStyle
conf.py
docutils.conf
dontdiff
index.rst
Kconfig
Makefile
memory-barriers.txt
SubmittingPatches
subsystem-apis.rst