android_kernel_samsung_sm8650/kernel
Stephen Dickey ef152a1111 sched/walt: limit frequency on thermal halted cpus
Tasks affined to a single cpu will be allowed to run on that
cpu regardless of the halt state of the cpu. This creates
an issue for thermally mitigated cpus that are also halted
by cooling devices.

Limit cpus to fmin that are halted by a thermal client only.
Since tasks can run on a halted cpu under some circumstances,
for example, if they've been affined to only one cpu, the
performance of a task affined to a single cpu should not
be reduced simply because the cpu is currently halted.
Therefore, only thermally induced halt shall cause the
frequency limit.

When a cpu is halted by a thermal client, changing the cpu's
frequency at the next update is critical to actually mitigate the
cpu's temperature. When the cpu is unhalted for thermal
reasons, the frequency requested by the cpu should be
restored just as quickly.

Thermal cooling devices can mitigate groups of cpus or
individual cpus, per the logic of the thermal drivers.
Since this cpu's frequency is tied to that of the other
cpus in the system, the frequency shall be limited for
every cpu in the cluster.

Change-Id: Idf19c6e41f05dd62f45262989fcf137b756f915a
Signed-off-by: Abhijeet Dharmapurikar <quic_adharmap@quicinc.com>
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
2023-06-08 11:58:19 -07:00
..
bpf Merge 6.1.22 into android14-6.1 2023-03-31 08:15:39 +00:00
cgroup FROMLIST: ANDROID: GKI: psi: remove 500ms min window size limitation for triggers 2023-05-02 23:08:35 +00:00
configs Kbuild: add Rust support 2022-09-28 09:02:20 +02:00
debug mm: remove vmacache 2022-09-26 19:46:18 -07:00
dma Merge keystone/android14-6.1-keystone-qcom-release.6.1.25 (98d56a5) into qcom-6.1 2023-05-15 08:16:35 -07:00
entry entry/rcu: Check TIF_RESCHED _after_ delayed RCU wake-up 2023-03-30 12:49:13 +02:00
events Merge 6.1.24 into android14-6.1 2023-04-22 08:52:25 +00:00
futex This is the 6.1.3 stable release 2023-01-18 18:46:54 +00:00
gcov gcov: add support for checksum field 2022-12-31 13:33:11 +01:00
irq Merge 6.1.18 into android14-6.1 2023-03-21 08:22:15 +00:00
kcsan kcsan: avoid passing -g for test 2023-04-06 12:10:35 +02:00
livepatch Livepatching changes for 6.1 2022-10-10 11:36:19 -07:00
locking Merge 6.1.16 into android14-6.1 2023-03-13 15:45:34 +00:00
module ANDROID: module: Add vendor hooks 2023-04-18 19:28:00 +00:00
power Merge changes I95ce33fb,I03723a9f,I4b1cf7f1,I6e17c9b3,I446172f8, ... into android14-6.1 2023-03-14 17:38:04 +00:00
printk Merge 6.1.18 into android14-6.1 2023-03-21 08:22:15 +00:00
rcu Merge remote-tracking branch into HEAD 2023-03-21 02:58:37 +00:00
sched sched/walt: limit frequency on thermal halted cpus 2023-06-08 11:58:19 -07:00
time Merge 6.1.16 into android14-6.1 2023-03-13 15:45:34 +00:00
trace Merge keystone/android14-6.1-keystone-qcom-release.6.1.25 (98d56a5) into qcom-6.1 2023-05-15 08:16:35 -07:00
.gitignore ANDROID: add gki_module headers to .gitignore file 2022-04-28 06:43:21 +00:00
acct.c acct: fix potential integer overflow in encode_comp_t() 2022-12-31 13:32:58 +01:00
async.c
audit_fsnotify.c audit: fix potential double free on error path from fsnotify_add_inode_mark 2022-08-22 18:50:06 -04:00
audit_tree.c audit: use fsnotify group lock helpers 2022-04-25 14:37:28 +02:00
audit_watch.c audit_init_parent(): constify path 2022-09-01 17:39:30 -04:00
audit.c audit: use time_after to compare time 2022-08-29 19:47:03 -04:00
audit.h audit: remove selinux_audit_rule_update() declaration 2022-09-07 11:30:15 -04:00
auditfilter.c
auditsc.c audit/stable-6.1 PR 20221003 2022-10-04 11:05:43 -07:00
backtracetest.c
bounds.c mm: multi-gen LRU: minimal implementation 2022-09-26 19:46:09 -07:00
capability.c xfs: don't generate selinux audit messages for capability testing 2022-03-09 10:32:06 -08:00
cfi.c cfi: Switch to -fsanitize=kcfi 2022-09-26 10:13:13 -07:00
compat.c sched_getaffinity: don't assume 'cpumask_size()' is fully initialized 2023-04-06 12:10:40 +02:00
configs.c
context_tracking.c context_tracking: Fix noinstr vs KASAN 2023-03-10 09:33:45 +01:00
cpu_pm.c context_tracking: Take IRQ eqs entrypoints over RCU 2022-07-05 13:32:59 -07:00
cpu.c cpu/hotplug: Do not bail-out in DYING/STARTING sections 2022-12-31 13:31:59 +01:00
crash_core.c vmcoreinfo: add kallsyms_num_syms symbol 2022-08-28 14:02:44 -07:00
crash_dump.c
cred.c ANDROID: kernel: Add restricted vendor hook in creds 2023-04-18 19:28:00 +00:00
delayacct.c delayacct: support re-entrance detection of thrashing accounting 2022-09-26 19:46:07 -07:00
dma.c
exec_domain.c
exit.c Merge 6.1.16 into android14-6.1 2023-03-13 15:45:34 +00:00
extable.c context_tracking: Take NMI eqs entrypoints over RCU 2022-07-05 13:32:59 -07:00
fail_function.c kernel/fail_function: fix memory leak with using debugfs_lookup() 2023-03-11 13:55:39 +01:00
fork.c Merge 6.1.24 into android14-6.1 2023-04-22 08:52:25 +00:00
freezer.c freezer,sched: Rewrite core freezer logic 2022-09-07 21:53:50 +02:00
gen_kheaders.sh kbuild: build init/built-in.a just once 2022-09-29 04:40:15 +09:00
groups.c security: Add LSM hook to setgroups() syscall 2022-07-15 18:21:49 +00:00
hung_task.c ANDROID: hung_task: Add vendor hook for hung task detect 2023-01-30 11:14:35 +08:00
iomem.c
irq_work.c Linux 5.18-rc3 2022-04-18 08:32:59 +02:00
jump_label.c jump_label: make initial NOP patching the special case 2022-06-24 09:48:55 +02:00
kallsyms_internal.h kallsyms: move declarations to internal header 2022-07-17 17:31:39 -07:00
kallsyms.c kcfi updates for v6.1-rc1 2022-10-03 17:11:07 -07:00
kcmp.c
Kconfig.freezer
Kconfig.hz
Kconfig.locks
Kconfig.preempt Revert "signal, x86: Delay calling signals in atomic on RT enabled kernels" 2022-03-31 10:36:55 +02:00
kcov.c kcov: kmsan: unpoison area->list in kcov_remote_area_put() 2022-10-03 14:03:23 -07:00
kexec_core.c kexec: replace kmap() with kmap_local_page() 2022-09-11 21:55:08 -07:00
kexec_elf.c
kexec_file.c panic, kexec: make __crash_kexec() NMI safe 2022-09-11 21:55:06 -07:00
kexec_internal.h panic, kexec: make __crash_kexec() NMI safe 2022-09-11 21:55:06 -07:00
kexec.c panic, kexec: make __crash_kexec() NMI safe 2022-09-11 21:55:06 -07:00
kheaders.c
kmod.c
kprobes.c kprobes: Fix to handle forcibly unoptimized kprobes on freeing_list 2023-03-10 09:34:27 +01:00
ksysfs.c kexec: turn all kexec_mutex acquisitions into trylocks 2022-09-11 21:55:06 -07:00
kthread.c Merge 493ffd6605 ("Merge tag 'ucount-rlimits-cleanups-for-v5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace") into android-mainline 2022-10-12 09:37:52 +02:00
latencytop.c latencytop: use the last element of latency_record of system 2022-09-11 21:55:12 -07:00
Makefile Merge keystone/android14-6.1-keystone-qcom-release.6.1.9 (9a6451e) into msm-pineapple 2023-02-21 22:03:33 -08:00
module_signature.c
msm_sysstats.c msm-sysstats: check the return value of nla_strdup_cust 2023-04-28 13:26:17 -07:00
notifier.c notifier: Add blocking/atomic_notifier_chain_register_unique_prio() 2022-05-19 19:30:30 +02:00
nsproxy.c Revert "fs/exec: allow to unshare a time namespace on vfork+exec" 2022-09-13 10:38:43 -07:00
padata.c padata: Fix list iterator in padata_do_serial() 2022-12-31 13:32:34 +01:00
panic.c panic: fix the panic_print NMI backtrace setting 2023-03-10 09:34:25 +01:00
params.c
pid_namespace.c rcu-tasks: Fix synchronize_rcu_tasks() VS zap_pid_ns_processes() 2023-03-10 09:32:52 +01:00
pid.c Merge 041bc24d86 ("Merge tag 'pci-v6.1-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci") into android-mainline 2022-10-25 14:52:46 +02:00
profile.c Revert "exit: Remove profile_task_exit & profile_munmap" 2023-03-09 23:13:08 +00:00
ptrace.c freezer,sched: Rewrite core freezer logic 2022-09-07 21:53:50 +02:00
range.c
reboot.c Merge f848b3cda3 ("Merge tag 'pm-6.1-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm") into android-mainline 2022-10-19 17:54:04 +02:00
regset.c
relay.c relay: fix type mismatch when allocating memory in relay_create_buf() 2022-12-31 13:32:00 +01:00
resource_kunit.c
resource.c dax/kmem: Fix leak of memory-hotplug resources 2023-03-10 09:34:25 +01:00
rseq.c rseq: Use pr_warn_once() when deprecated/unknown ABI flags are encountered 2022-11-14 09:58:32 +01:00
scftorture.c scftorture: Fix distribution of short handler delays 2022-04-11 17:07:29 -07:00
scs.c kasan, vmalloc: only tag normal vmalloc allocations 2022-03-24 19:06:48 -07:00
seccomp.c seccomp: Add wait_killable semantic to seccomp user notifier 2022-05-03 14:11:58 -07:00
signal.c Scheduler changes for v6.1: 2022-10-10 09:10:28 -07:00
smp.c bitmap patches for v6.1-rc1 2022-10-10 12:49:34 -07:00
smpboot.c smpboot: use atomic_try_cmpxchg in cpu_wait_death and cpu_report_death 2022-09-11 21:55:10 -07:00
smpboot.h
softirq.c ANDROID: softirq: Export irq_handler_exit tracepoint 2023-01-17 18:16:29 +00:00
stackleak.c stackleak: add on/off stack variants 2022-05-08 01:33:09 -07:00
stacktrace.c Merge ed4643521e ("Merge tag 'arm-dt-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc") into android-mainline 2022-04-05 08:12:56 +02:00
static_call_inline.c static_call: Don't make __static_call_return0 static 2022-04-05 09:59:38 +02:00
static_call.c static_call: Don't make __static_call_return0 static 2022-04-05 09:59:38 +02:00
stop_machine.c ANDROID: sched: allow access to critical common code for CPU Pause 2022-09-21 00:09:57 +00:00
sys_ni.c kernel/sys_ni: add compat entry for fadvise64_64 2022-08-20 15:17:45 -07:00
sys.c Merge 6.1.8 into android14-6.1 2023-01-26 12:13:04 +00:00
sysctl-test.c kernel/sysctl-test: use SYSCTL_{ZERO/ONE_HUNDRED} instead of i_{zero/one_hundred} 2022-09-08 16:56:45 -07:00
sysctl.c proc: proc_skip_spaces() shouldn't think it is working on C strings 2022-12-05 12:09:06 -08:00
task_work.c task_work: use try_cmpxchg in task_work_add, task_work_cancel_match and task_work_run 2022-09-11 21:55:10 -07:00
taskstats.c genetlink: start to validate reserved header bytes 2022-08-29 12:47:15 +01:00
torture.c torture: Fix hang during kthread shutdown phase 2023-03-10 09:34:07 +01:00
tracepoint.c Merge d4013bc4d4 ("Merge tag 'bitmap-6.1-rc1' of https://github.com/norov/linux") into android-mainline 2022-10-19 13:22:10 +02:00
tsacct.c taskstats: version 12 with thread group and exe info 2022-04-29 14:38:03 -07:00
ucount.c ucounts: Split rlimit and ucount values and max values 2022-05-18 18:24:57 -05:00
uid16.c
uid16.h
umh.c freezer,umh: Fix call_usermode_helper_exec() vs SIGKILL 2023-02-22 12:59:50 +01:00
up.c
user_namespace.c ucounts: Split rlimit and ucount values and max values 2022-10-09 16:24:05 -07:00
user-return-notifier.c
user.c
usermode_driver.c blob_to_mnt(): kern_unmount() is needed to undo kern_mount() 2022-05-19 23:25:47 -04:00
utsname_sysctl.c kernel/utsname_sysctl.c: Fix hostname polling 2022-10-23 12:01:01 -07:00
utsname.c
watch_queue.c watch_queue: fix IOC_WATCH_QUEUE_SET_SIZE alloc error paths 2023-03-17 08:50:30 +01:00
watchdog_hld.c Revert "printk: add functions to prefer direct printing" 2022-06-23 18:41:40 +02:00
watchdog.c ANDROID: softlockup: add vendor hook for a softlockup task 2023-03-13 20:34:25 +00:00
workqueue_internal.h
workqueue.c Merge 6.1.16 into android14-6.1 2023-03-13 15:45:34 +00:00