Commit Graph

1115931 Commits

Author SHA1 Message Date
Elliot Berman
a52db04bfb build.config.msm.gki: Disable GKI_SKIP_IF_VERSION_MATCHES
We're currently using the ABI symbol list from within msm-kernel and is
not version-tracked by ACK. Thus, GKI_SKIP_IF_VERSION_MATCHES may
spuriously pass even if there is a symbol list change. Disable
GKI_SKIP_IF_VERSION_MATCHES for now until we start using symbol list
from ACK.

Change-Id: Ifea662029a193e36c4c6d28bedc167399f4f85ba
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
2022-09-27 15:13:23 -07:00
qctecmdr
7b69ee398d Merge "kernel/sched/walt: validate runqueue entries" 2022-09-26 10:13:55 -07:00
qctecmdr
85e22bfdf0 Merge "arm64: configs: Enable CRM driver for pineapple_GKI" 2022-09-26 10:13:55 -07:00
qctecmdr
fe57ff9c8b Merge "coresight: funnel: add support for multiple output ports" 2022-09-26 10:13:54 -07:00
qctecmdr
0a48e814f4 Merge "defconfig: pineapple: Enable QDSS configs for pineapple" 2022-09-26 10:13:54 -07:00
qctecmdr
80f3cc0ceb Merge "soc: qcom: llcc: Further update config data for pineapple SoC" 2022-09-23 16:07:49 -07:00
qctecmdr
4ba8b56fbb Merge "soc: qcom: Rollback when failed to register new region" 2022-09-23 16:07:47 -07:00
qctecmdr
8ebce67790 Merge "soc: qcom: Decrease num_regions after remove region" 2022-09-23 16:07:47 -07:00
qctecmdr
136fde660c Merge "soc: qcom: Fix md_get_region failure when using minidump in SVM" 2022-09-23 16:07:45 -07:00
qctecmdr
052f6f4175 Merge "soc: qcom: Block register minidump region with same name" 2022-09-23 16:07:45 -07:00
qctecmdr
f337b0a0ee Merge "gunyah: secure_vm_loader: Don't release the memory when VM load fail" 2022-09-23 16:07:44 -07:00
qctecmdr
7a1b455714 Merge "gunyah: secure_vm_loader: Fix the hyp inject instruction/data abort" 2022-09-23 16:07:44 -07:00
qctecmdr
a2e0221707 Merge "soc: qcom: qcom_stats: Add ioctl support for stats" 2022-09-23 16:07:44 -07:00
qctecmdr
caf3c388c3 Merge "abi_gki_aarch64_qcom: Add msleep_interruptible" 2022-09-23 16:07:42 -07:00
qctecmdr
2cc87b66ce Merge "msm: ipa: add snapshot of IPA USB header file" 2022-09-23 14:30:17 -07:00
qctecmdr
d665060fae Merge "sched/walt: Early Detect Boost Optimizations" 2022-09-23 14:30:15 -07:00
Tao Zhang
9f74beac0a coresight: funnel: add support for multiple output ports
Funnel devices are now capable of supporting multiple-inputs and
multiple-outputs configuration with in built hardware filtering
for TPDM devices. Add software support to this function. Output
ports is selected according to the source of the trace path.

Change-Id: I491293e0b1948f3747d34eb79e7845617ace4244
Signed-off-by: Tingwei Zhang <tingwei@codeaurora.org>
Signed-off-by: Mao Jinlong <jinlmao@codeaurora.org>
Signed-off-by: Tao Zhang <taozha@codeaurora.org>
Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
2022-09-23 04:32:00 -07:00
Cong Zhang
b6d428f6a8 soc: qcom: Rollback when failed to register new region
Remove region from local minidump table when failed to register new
region with RM call.

Change-Id: I85bbf62e90cd423be7d3475a5f6526062b22c8c9
Signed-off-by: Cong Zhang <quic_congzhan@quicinc.com>
2022-09-22 19:53:38 -07:00
Cong Zhang
032d6b0f4b soc: qcom: Fix md_get_region failure when using minidump in SVM
Find the correct minidump table in md_get_region.

Change-Id: Ib42db09f4ee3b629834cf78795ceb0c26a877bdd
Signed-off-by: Cong Zhang <quic_congzhan@quicinc.com>
2022-09-22 19:53:32 -07:00
Cong Zhang
80389226be soc: qcom: Decrease num_regions after remove region
Decrease num_regions of minidump table after remove region.

Change-Id: I8be2cc2b1f29328fb0e308431893dea1b15cd084
Signed-off-by: Cong Zhang <quic_congzhan@quicinc.com>
2022-09-22 19:53:25 -07:00
Cong Zhang
f7845a840c soc: qcom: Block register minidump region with same name
If user register minidump region with same name, return -EEXIST error
code.

Change-Id: I612a7a4f77fdd80d3b677b2b2b4e4d1221c3395f
Signed-off-by: Cong Zhang <quic_congzhan@quicinc.com>
2022-09-22 19:53:09 -07:00
Mao Jinlong
e1ed2a9b89 defconfig: pineapple: Enable QDSS configs for pineapple
Enable QDSS configs to support STM/TPDM/Remote ETM/CTI functions.

Change-Id: I297b0820794849d3dc27af30b646780f4370d1d7
Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
2022-09-22 19:29:32 -07:00
Tao Zhang
edcceebfd9 coresight: Add the coresight qmi head file
Add the coresight qmi head file since the remote etm need it
support.

Change-Id: I282abfab76be5149dca2496bb9583951f760f17e
Signed-off-by: Tao Zhang <quic_taozha@quicinc.com>
Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
2022-09-22 19:29:16 -07:00
Guru Das Srinagesh
d9c33d9e5a abi_gki_aarch64_qcom: Add msleep_interruptible
Add msleep_interruptible to list of symbols.

Change-Id: I348f22cca19c1086c04068ba1ea539b18705d84b
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
2022-09-22 17:43:51 -07:00
Maulik Shah
321af67c34 soc: qcom: qcom_stats: Add ioctl support for stats
Add ioctl support by which userspace can know the various stats.

Change-Id: I916232f7eeb0efd7ca5a8d99afff547fdb9ad594
Signed-off-by: Maulik Shah <quic_mkshah@quicinc.com>
2022-09-23 00:13:53 +05:30
Maulik Shah
4213c4b3b4 arm64: configs: Enable CRM driver for pineapple_GKI
Enable CRM driver.

Change-Id: I87ed4674b63f54cd35b8940a94113083e835b2ae
Signed-off-by: Maulik Shah <quic_mkshah@quicinc.com>
2022-09-22 22:30:52 +05:30
Maulik Shah
b5797d6b33 soc: qcom: Add CESTA Resource Manager driver
Add CESTA Resource Manager (CRM) driver.

Change-Id: I82c905fbb2838cae72337677cf076f245b2f3865
Signed-off-by: Maulik Shah <quic_mkshah@quicinc.com>
2022-09-22 22:30:44 +05:30
Stephen Dickey
d5e0c218f3 kernel/sched/walt: validate runqueue entries
Instead of traversing the entire process list
to determine if there are any tasks left on
this cpu's rq, track any tasks that get
re-enqueued during the balance_callbacks
operation.

Change-Id: Iff8322172b17c98c2c6b2a8f75653f557cebcbb6
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2022-09-21 15:36:23 -07:00
Stephen Dickey
f6c65099e9 kernel/sched/walt/halt: drain needs __balance_callbacks
drain_rq_cpu_stop as written, can and will add a call
to the balance_callbacks queue. This is possible with
the below calling sequence

  drain_rq_cpu_stop
  migrate_tasks
  pick_migrate_task
  pick_next_task
  pick_next_task-rt (first==true)
  set_next_task_rt
  rt_queue_push_tasks
  queue_balance_calllback (if rq has pushable tasks)
  --> entry added to balance_callbacks queue.

drain_rq_cpu_stop will release the rq lock and enable
interrupts without performing a balance callback. If
an interrupt which will attempt to acquire the rq
lock happens before this context switches out, the
balance callback will not have happened, and an
attempt to reaquire the rq lock will WARN.

Correct the warn by handling the callbacks prior to
releasing the locks and re-enabling interrupts.

Change-Id: I36f7b20cfaedac556a5a2418a299551bc2c34eb3
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2022-09-21 15:36:23 -07:00
Shaleen Agrawal
1d077fe1d4 sched/walt: Early Detect Boost Optimizations
Currently, if an ED task is detected on a cluster, the entire cluster's
frequency is raised to fmax. However, since ED tasks are only classified
under boosted scenarios anyways, this degree of boost may not be
necessary. This patch introduces a tunable, sched_ed_boost, which can be
used to boost the highest load on the cluster with an ED task by x%, x
being the set tunable.

Change-Id: I90ce6e7435b89ed27d307a164fdd7b8f6c8f5c9e
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2022-09-21 15:36:22 -07:00
Shaleen Agrawal
aca97f0a06 sched/walt: Ensure capacities are updated when policy max changes
If the cluster fmax is changed, ensure the cpu capacity is updated
instantly.

Change-Id: I1328c8b5e74e176b1e55091314cb65a4ef5f783d
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2022-09-21 15:36:22 -07:00
Abhijeet Dharmapurikar
f1b09a77f5 sched/walt: move predictive freq to wakeup enqueue
This will update the freq as soon the rqlock is dropped and also avoids
us from acquiring a rq lock as enqueue is called with rq lock held.

Change-Id: I24b91309b753f61a38d1eb8e26af451544fa3f52
Signed-off-by: Abhijeet Dharmapurikar <quic_adharmap@quicinc.com>
2022-09-21 15:36:21 -07:00
Abhijeet Dharmapurikar
90ec01ea12 walt_cfs: MVP: rearrange priorities
Update to prefer low_latency and pipeline as having higher priority than
others.

Change-Id: Ib5ba973d483cf923f886a906a158907335ccab9b
Signed-off-by: Abhijeet Dharmapurikar <quic_adharmap@quicinc.com>
2022-09-21 15:36:20 -07:00
Abhijeet Dharmapurikar
f970f604f2 sched/walt: use sched_idle_enough to skip packing
When sysctl_sched_idle_enough is not set, the current code still finds a
pakcing cpu only to reject it later. Fix this i.e. don't even bother
finding a packing cpu when idle_enough is zero.

Change-Id: I5cdce5e06072eee75593aa1e36953a2946e20efa
Signed-off-by: Abhijeet Dharmapurikar <quic_adharmap@quicinc.com>
2022-09-21 15:36:07 -07:00
Guru Das Srinagesh
05dea7050c soc: qcom: llcc: Further update config data for pineapple SoC
Update system cache hardware settings for pineapple SoC.

Change-Id: I2a829749a11f879df548837c0cfcaa027d967b1f
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
2022-09-21 14:29:20 -07:00
qctecmdr
db78883a87 Merge "arm64: defconfig: Enable SLIMBUS configs on Pineapple" 2022-09-21 06:35:27 -07:00
Chandana Kishori Chiluveru
1229ef03d3 arm64: defconfig: Enable SLIMBUS configs on Pineapple
Enable Slimbus drivers as module in defconfig on Pineapple.

Change-Id: I1acf9e75a283e0094bdc74d9c5593896980ebe05
Signed-off-by: Chandana Kishori Chiluveru <quic_cchiluve@quicinc.com>
2022-09-21 11:51:52 +05:30
qctecmdr
6d0045aaf5 Merge "sched/walt: fix busy time accounting for tasks moving between groups" 2022-09-20 21:50:30 -07:00
qctecmdr
de01039390 Merge "cpufreq: qcom-hw: clear thermal pressure when thermal condition exits" 2022-09-20 20:16:16 -07:00
qctecmdr
2c82740419 Merge "defconfig: pineapple-gki: Enable PDR notif. timeouts" 2022-09-20 20:16:15 -07:00
qctecmdr
5de0993608 Merge "soc: qcom: Minidump support for VMs" 2022-09-20 18:20:18 -07:00
qctecmdr
59eb204df3 Merge "soc: qcom: pdr: Add logging after indack is sent" 2022-09-20 18:20:18 -07:00
Shaleen Agrawal
37f5cf75ef sched/walt: Ensure crash only on initialized task
In the event where a task is being dequeued from a CPU other than the
CPU WALT has recorded as the previous enqueue cpu, a crash is induced.
However, it could be the case during WALT initialization that due to a
race where task is in the middle of being forked, an attempt is made to
dequeue a task where the prev_on_cpu_rq member is not properly
initialized.

Change-Id: I3a52da5d6cc5ae5b71800d0f8097e6debb3b7187
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2022-09-20 12:19:58 -07:00
Stephen Dickey
9698b4fcb0 sched/walt: Improve the scheduler
This change is for general scheduler improvement.

Change-Id: Ifa74c7c827ed5a5a8b23fcb9d6de2325dfeb788f
Signed-off-by: Stephen Dickey <dickey@codeaurora.org>
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2022-09-20 12:19:58 -07:00
Shaleen Agrawal
3400232478 sched/walt: Update cpu capacity during window rollover
Ensure that all thermal pressure gets accounted in capacity_orig
within the window rollover period.

Change-Id: I3858c21aff31ff517f5e521df765b119bf5d3244
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2022-09-20 12:19:57 -07:00
Abhijeet Dharmapurikar
fe61e5329a sched/walt_lb: pull task based on their utilizations
Currently the code simply pulls the last task in the rq. Instead make it
visit at least 5 tasks in the RQ and find a suitable util task to pull.

Change-Id: Ied5fa689ec94296f8655232cef5a3301f0cbc813
Signed-off-by: Abhijeet Dharmapurikar <quic_adharmap@quicinc.com>
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
2022-09-20 12:19:56 -07:00
Abhijeet Dharmapurikar
a112baf5fb sched/walt: help farthest cluster under rotation
When rotation is enabled, the system is under heavy load, allow farthest
cluster to help each other.

Change-Id: Idd402fa120baa47e8506d7dc2439765dd6d5bcc9
Signed-off-by: Abhijeet Dharmapurikar <quic_adharmap@quicinc.com>
2022-09-20 12:19:56 -07:00
Ashay Jaiswal
48c24c7316 sched: walt: update newidle balancing
There is a case where when big cluster(Gold/Prime) is entering idle it
fails to pull task from lower cluster if lower cluster is only having a
single big task in it's runqueue.
The reason for failure is, walt skips newidle balance for above condition
if "idle_cpu" check fails for destination core and for newidle balance
destination core is entering idle (not yet idle) thus "idle_cpu" returns
false. Fix this by skipping "idle_cpu" check for new idle balancing.

Change-Id: Id973bd8a67fbfcd9d47bec9a0894b697412f2c90
Signed-off-by: Ashay Jaiswal <quic_ashayj@quicinc.com>
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
2022-09-20 12:19:55 -07:00
Sai Harshini Nimmala
ff2d763574 sched/walt: Handle -ve cpu capacity
There are instances where rt and irq load exceeds thermally limited
capacity and results in a very high cpu_capacity.

Fix it by comparing it against 0.

Change-Id: Ice6e71cd8b5e0635ec1d79c7338a964cef70271d
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
2022-09-20 12:19:55 -07:00
Blagovest Kolenichev
ec30ed6a75 sched: walt: fix build issue
With latest Android Kernel update, below errors are seen

kernel_platform/msm-kernel/include/../drivers/android/binder_internal.h:111:1: error: declaration specifier missing, defaulting to 'int' [-Werror]
kernel_platform/msm-kernel/include/../drivers/android/binder_internal.h:111:23: error: a parameter list without types is only allowed in a function definition
kernel_platform/msm-kernel/include/../drivers/android/binder_internal.h:114:1: error: declaration specifier missing, defaulting to 'int' [-Werror]
kernel_platform/msm-kernel/include/../drivers/android/binder_internal.h:114:23: error: a parameter list without types is only allowed in a function definition
kernel_platform/msm-kernel/include/../drivers/android/binder_internal.h:117:1: error: declaration specifier missing, defaulting to 'int' [-Werror]
kernel_platform/msm-kernel/include/../drivers/android/binder_internal.h:117:23: error: a parameter list without types is only allowed in a function definition
kernel_platform/msm-kernel/include/../drivers/android/binder_internal.h:120:1: error: declaration specifier missing, defaulting to 'int' [-Werror]
kernel_platform/msm-kernel/include/../drivers/android/binder_internal.h:120:23: error: a parameter list without types is only allowed in a function definition

Fix these build issues by including right header file.

Change-Id: I4ff2f484b05ebae9b9929b4d2c3b7b1e717769b4
Signed-off-by: Blagovest Kolenichev <quic_c_bkolen@quicinc.com>
2022-09-20 12:19:54 -07:00