Commit Graph

1155334 Commits

Author SHA1 Message Date
Linux Image Build Automation
940c3c4e9a Revert "Merge commit 'b7e8439a2334bb613b38e97eb48712f683b423a1' into HEAD"
This reverts commit 4ab178cfc4.

Change-Id: Iafc57a9d8570dc1e5ef96af54cfd6dcbca59b117
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-08-23 16:38:58 -07:00
Linux Image Build Automation
017ed9796f Revert "usb: dwc3: dwc3-msm-core: Avoid updating pre/post reset if no actconfig"
This reverts commit 0a6cdea3d8.

Change-Id: I6c53270c29c5f11955368e6f884c7a7438d46ce4
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-08-23 16:38:29 -07:00
Linux Image Build Automation
f65c679792 Revert "net: qrtr: Do not call wait while holding spinlock"
This reverts commit 4b977c48ea.

Change-Id: I57e1835c594fddcdfd7c4b273980f78260c5a87c
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-08-23 16:38:00 -07:00
Linux Image Build Automation
fe5cbb4e4e Revert "ufs: qcom: Set clock gating delay to 5ms when resume"
This reverts commit fac233f062.

Change-Id: Ia949a9587d2065ce9b0d24436c8dc235b44e2a53
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-08-23 16:37:29 -07:00
Linux Build Service Account
b619ac0de6 Merge changes I790794c3,I7bcc1939 into kernel.lnx.6.1.r2-rel
* changes:
  Merge commit 'b7e8439a2334bb613b38e97eb48712f683b423a1' into HEAD
  ANDROID: abi_gki_aarch64_qcom: Update symbol list
2023-08-14 14:03:07 -07:00
Linux Build Service Account
144ec57e20 Merge changes I169ecf8d,I469c860e,I6ed67582 into kernel.lnx.6.1.r2-rel
* changes:
  ufs: qcom: Set clock gating delay to 5ms when resume
  net: qrtr: Do not call wait while holding spinlock
  usb: dwc3: dwc3-msm-core: Avoid updating pre/post reset if no actconfig
2023-08-14 14:02:21 -07:00
Linux Build Service Account
7b71388fde Merge "FROMGIT: Multi-gen LRU: Fix per-zone reclaim" into kernel.lnx.6.1.r2-rel 2023-08-14 14:02:07 -07:00
Bao D. Nguyen
fac233f062 ufs: qcom: Set clock gating delay to 5ms when resume
For target with Auto-Hibernate disabled, set the ufs clock
gating delay timer to 5ms when coming out of resume, regardless
of the current gear setting. This is to prevent ufs stay active
longer than necessary when the loading may be low during resume.
In the next clock scaling event, the clock gating delay timer will
be set accordingly based on the ufs loading.

With this change, there is some power saving for certain device
use cases.

Change-Id: I169ecf8d2c864851df80942746014a4352f1acbf
Signed-off-by: Bao D. Nguyen <quic_nguyenb@quicinc.com>
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-08-14 13:39:48 -07:00
Sivaji Boddupilli
4b977c48ea net: qrtr: Do not call wait while holding spinlock
Do not call wait_for_completion holding spinlock inside
qrtr_local_enqueue().This will result in disabling interrupts
for long time if we did not get signal for rx_queue_has_space
completion from qrtr_recvmsg() for control port.

This wait mechanisim we added to avoid the packet drop issue
via the control port for control packets where we are waiting
for the space in the control socket using wait api's. this wait
api will be signaled once control sock has some space.

This patch will removes the wait inside spinlock.

Change-Id: I469c860e1a016348235f11e1e21ed97743325773
Signed-off-by: Sivaji Boddupilli <quic_boddupil@quicinc.com>
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-08-14 13:39:06 -07:00
Wesley Cheng
0a6cdea3d8 usb: dwc3: dwc3-msm-core: Avoid updating pre/post reset if no actconfig
During device enumeration failures, the udev->actconfig parameter can be
NULL.  Ignore attempting to override the USB SND driver's pre/post reset
callbacks in these cases.

Change-Id: I6ed6758259373b4b890c95cc39d8e63a004b7956
Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-08-14 13:38:23 -07:00
jianzhou
4ab178cfc4 Merge commit 'b7e8439a2334bb613b38e97eb48712f683b423a1' into HEAD
* commit 'b7e8439a2334bb613b38e97eb48712f683b423a1':
  ANDROID: Snap to android14-6.1-2023-06

 Conflicts:
       android/abi_gki_aarch64.stg

Change-Id: I790794c34ced4ea629957ee33d9d1fefe7637dc1
Signed-off-by: jianzhou <quic_jianzhou@quicinc.com>
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
2023-08-11 16:28:46 -07:00
John Moon
49157c1372 ANDROID: abi_gki_aarch64_qcom: Update symbol list
Symbols added:
   iommu_map_atomic

Bug: 290105632
(cherry picked from commit c480e4e576)
Change-Id: I7bcc1939343fa209359a1390acbea1f36c166ea6
Signed-off-by: John Moon <quic_johmoo@quicinc.com>
[eberman: replaced original change id: Id5ead8f1342d6e8000759b88bba6b710b56a753f]
Signed-off-by: Elliot Berman <quic_eberman@quicinc.com>
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
2023-08-11 16:28:43 -07:00
Kalesh Singh
a0c572409d FROMGIT: Multi-gen LRU: Fix per-zone reclaim
MGLRU has a LRU list for each zone for each type (anon/file) in each
generation:

	long nr_pages[MAX_NR_GENS][ANON_AND_FILE][MAX_NR_ZONES];

The min_seq (oldest generation) can progress independently for each
type but the max_seq (youngest generation) is shared for both anon and
file. This is to maintain a common frame of reference.

In order for eviction to advance the min_seq of a type, all the per-zone
lists in the oldest generation of that type must be empty.

The eviction logic only considers pages from eligible zones for
eviction or promotion.

    scan_folios() {
	...
	for (zone = sc->reclaim_idx; zone >= 0; zone--)  {
	    ...
	    sort_folio(); 	// Promote
	    ...
	    isolate_folio(); 	// Evict
	}
	...
    }

Consider the system has the movable zone configured and default 4
generations. The current state of the system is as shown below
(only illustrating one type for simplicity):

Type: ANON

	Zone    DMA32     Normal    Movable    Device

	Gen 0       0          0        4GB         0

	Gen 1       0        1GB        1MB         0

	Gen 2     1MB        4GB        1MB         0

	Gen 3     1MB        1MB        1MB         0

Now consider there is a GFP_KERNEL allocation request (eligible zone
index <= Normal), evict_folios() will return without doing any work
since there are no pages to scan in the eligible zones of the oldest
generation. Reclaim won't make progress until triggered from a ZONE_MOVABLE
allocation request; which may not happen soon if there is a lot of free
memory in the movable zone. This can lead to OOM kills, although there
is 1GB pages in the Normal zone of Gen 1 that we have not yet tried to
reclaim.

This issue is not seen in the conventional active/inactive LRU since
there are no per-zone lists.

If there are no (not enough) folios to scan in the eligible zones, move
folios from ineligible zone (zone_index > reclaim_index) to the next
generation. This allows for the progression of min_seq and reclaiming
from the next generation (Gen 1).

Qualcomm, Mediatek and raspberrypi [1] discovered this issue independently.

[1] https://github.com/raspberrypi/linux/issues/5395

Link: https://lkml.kernel.org/r/20230802025606.346758-1-kaleshsingh@google.com
Fixes: ac35a49023 ("mm: multi-gen LRU: minimal implementation")
Change-Id: I5bbf44bd7ffe42f4347df4be59a75c1603c9b947
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
Reported-by: Charan Teja Kalla <quic_charante@quicinc.com>
Reported-by: Lecopzer Chen <lecopzer.chen@mediatek.com>
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> [mediatek]
Tested-by: Charan Teja Kalla <quic_charante@quicinc.com>
Cc: Yu Zhao <yuzhao@google.com>
Cc: Barry Song <baohua@kernel.org>
Cc: Brian Geffon <bgeffon@google.com>
Cc: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Oleksandr Natalenko <oleksandr@natalenko.name>
Cc: Qi Zheng <zhengqi.arch@bytedance.com>
Cc: Steven Barrett <steven@liquorix.net>
Cc: Suleiman Souhlal <suleiman@google.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Aneesh Kumar K V <aneesh.kumar@linux.ibm.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
(cherry picked from commit 1462260adc41c5974362cb54ff577c2a15b8c7b2 https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable)
Bug: 288383787
Bug: 291719697
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
2023-08-11 16:14:29 -07:00
Linux Build Service Account
a512be0a6c Merge 7cf19bf953 on remote branch
Change-Id: Ic05c1e7a1266ce3002536e070b8c735f3c7ab285
2023-08-07 20:37:31 -07:00
qctecmdr
7cf19bf953 Merge "sched/walt: Fix issue caused by incorrect ws setting" 2023-08-03 18:25:40 -07:00
qctecmdr
745444b04c Merge "sched/walt: Improve the scheduler" 2023-08-03 18:25:40 -07:00
qctecmdr
9f94b1f41a Merge "soc: qcom: Check if subsystem recovery enabled in SHM restart worker" 2023-08-03 18:25:39 -07:00
qctecmdr
8578f05924 Merge "sched/walt: Switch to using new api for state1/2 determination" 2023-08-03 18:25:38 -07:00
qctecmdr
93655eb27d Merge "sched/walt: Use softaffinity for RT tasks" 2023-08-03 18:25:38 -07:00
qctecmdr
843dc11a1b Merge "sched/walt: single-big-thread code passes global variable to halt" 2023-08-03 18:25:37 -07:00
qctecmdr
5366a12273 Merge "sched/walt: Force pipeline promotion to prime if prime worthy" 2023-08-03 18:25:37 -07:00
qctecmdr
005b1186e5 Merge "Merge keystone/android14-6.1-keystone-qcom-release.6.1.25 (8f361f1) into qcom-6.1" 2023-08-03 17:07:58 -07:00
Stephen Dickey
6bb50d6b0d sched/walt: single-big-thread code passes global variable to halt
There is a single global variable used for a mask of which cpus
to manipulate for single-big-thread (sbt) purposes. This mask is
passed into the halt and resume apis.

This is incorrect, because the halt/resume apis can manipulate the
passed mask, indicating which cpus were actually halted or unhalted
in a given operation. Since the mask gets changed, the code forgets
which cpus to use for sbt.

Update the main sbt check routine such that a local copy of the
cpus to be used for sbt is made, and that local copy passed to
the halt/resume routines.

Change-Id: I9280f1bf600565dc63f0a9d9f84536d50e31fbd6
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2023-08-01 16:06:46 -07:00
Stephen Dickey
6896fa5076 sched/walt: core control sbt trace
Add tracepoint to see current state of sbt, as well as critical
decision making criteria.

Change-Id: Id24a14714ec9e28469f78be48f12b71725cc8bba
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2023-08-01 16:06:38 -07:00
Stephen Dickey
06dde6c45f sched/walt: Force pipeline promotion to prime if prime worthy
For automatic (heavy) pipeline searching the prime cpu will
not get used when there are only a few pipeline entries. This
will leave the prime cpu unoccupied, when one of the pipeline
tasks may be prime worthy.

To handle this, detect if there are any heavy tasks that are
prime worthy already, and promote the prime worthy tasks to
prime. Since pipeline cpus are reassigned every window rollover,
and automatic detection assigns cpus from lowest to highest,
it is unnecessary to demote a task from prime as this will
regardless.

For pipeline (manual) searching the same issue exists and must
be handled.

For the manual case, when the number of pipeline tasks is few,
but a prime_wts has been found, determine if the task on prime
is prime worthy. If it isn't, it must be demoted to non-prime.
Any remaining prime worthy task must then be found.

Change-Id: I15c9417a14c5860bf48edc1c3443fdc0b1255f42
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2023-07-31 14:46:10 -07:00
Stephen Dickey
f56bc00a2c sched/walt: move code to find prime and other wts to common
In preparation for finding and promoting (and demoting) prime
worth (and unworthy) tasks, create an api that can be
reused to find the pipeline task currently assigned to prime
and the pipeline task that is max demand.

Change-Id: I3b2334482b74c62598a2449e8938c920cfda85b2
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2023-07-31 14:45:55 -07:00
Shaleen Agrawal
3ee1a9ef9b sched/walt: add window based hysteresis
Ensure that pipeline tasks which have a demand greater than another
pipeline task running on prime only swap with prime after 4 windows.

Change-Id: I28b3e46f476f4f09682ae2caffc2cae04d76fae5
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-07-31 14:45:04 -07:00
Shaleen Agrawal
d0e8a6729a sched/walt: Generalize pipeline types enum
Clean up the enum of pipeline types, in an effort to
simplify usage in followup changes.

Change-Id: I451f04fc0b0f4d5f4cf98f071961e1ed451e94cc
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-07-31 14:44:42 -07:00
Shaleen Agrawal
71c0eb4846 sched/walt: Use coloc demand for pipeline task swaps
Since coloc demand represents averaged demand across history of past few
windows, the growth of pipeline task demands will be steadier,
theoretically resulting in less bouncing between prime and other CPUs.

Change-Id: I9a5c92fbc1c26591889e51be1e65273ebe2d27b4
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-07-31 14:44:17 -07:00
Stephen Dickey
395e904279 sched/walt: pipeline_set_boost must handle auto and manual pipeline
pipeline_set_boost does not handle the case properly, where both
manual and auto pipeline hinting are enabled or disabled, independently.
For example, this series of events

 pipeline_set_boost(true, MANUAL_PIPELINE);
  - auto pipeline enabled
 pipeline_set_boost(true, AUTO_PIPELINE);
  - auto pipeline disabled\
 pipeline_set_boost(false, MANUAL_PIPELINE);

With the above, pipeline boost will be enabled, even though manual
pipeline is no longer requesting it be enabled, and auto pipeline
is disabled.

Correct the code to independently track state of the AUTO or MANUAL
pipeline, and using that information to decide if boost is currently
requested or not.

Change-Id: Ia31eb8cd45b417f55f1e6827953073f708820ce6
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2023-07-31 14:43:43 -07:00
Linux Image Build Automation
023436674b Revert "BACKPORT: FROMLIST: ovl: Let helper ovl_i_path_real() return the realinode"
This reverts commit c73d180d14.

Change-Id: I15b87b729a07922acfb59483cb29f48360deac93
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-07-31 13:46:46 -07:00
Linux Image Build Automation
4a53390cdd Revert "BACKPORT: FROMLIST: ovl: ovl_permission: Fix null pointer dereference at realinode in rcu-walk mode"
This reverts commit 79119a1acd.

Change-Id: I6f2843c832eddd28ba38d94efa7737b7c880c213
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-07-31 13:46:19 -07:00
Linux Image Build Automation
9838046ae5 Revert "BACKPORT: FROMLIST: ovl: get_acl: Fix null pointer dereference at realinode in rcu-walk mode"
This reverts commit 23a171f1b2.

Change-Id: I962d54817f8f989695c1c1b22dbb1bd7cc955388
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-07-31 13:45:52 -07:00
Linux Image Build Automation
92cf9e8dc1 Revert "ANDROID: fuse-bpf: Move FUSE_RELEASE to correct place"
This reverts commit c68159f9c7.

Change-Id: I235614cd92ae17b7010b3c1ce14d92ac89b8c306
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-07-31 13:45:25 -07:00
Linux Image Build Automation
10415a6e44 Revert "ufs: hosts: qcom: Relay signal to scheduler"
This reverts commit 29a36f7a1b.

Change-Id: I896c3dee2ddd4c21d8ee3e0686fca0c0c7733579
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-07-31 13:44:47 -07:00
Linux Image Build Automation
b6c0aeae9d Revert "soc: qcom: pdr: Use absolute service path to listen to service"
This reverts commit 5c57c06147.

Change-Id: Ibc0005466ba580859caea94d714fa5b6f5b6fce8
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-07-31 13:43:13 -07:00
Linux Image Build Automation
35f550edf0 Revert "sched/walt: Fix problem in do_freq_qos_request"
This reverts commit 8c3dad6b8a.

Change-Id: Ib79e2ac23da7f01bd850c97ef2cba9bf086326a5
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-07-31 13:42:34 -07:00
Linux Image Build Automation
8d453f70d1 Revert "sched/walt: Optimize single candidate EAS"
This reverts commit 5446d246cd.

Change-Id: Ia24c7fbeb8291c8a14e41cac0381ec31cd240d1f
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-07-31 13:42:08 -07:00
Linux Image Build Automation
529591e5ee Revert "sched/walt: specify cpus for pipeline threads"
This reverts commit 8bd73a23cf.

Change-Id: I5915e95f2a93f2061b2351ddae2bd3a3e884a561
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-07-31 13:41:41 -07:00
Linux Image Build Automation
6da90b66ba Revert "sched/walt: create an api for cluster boost for pipeline"
This reverts commit f0bca08884.

Change-Id: I93ceffa4e19c2eca86d69deca4dbb8b5394ed0c8
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-07-31 13:41:15 -07:00
Linux Image Build Automation
a12ee831aa Revert "sched/walt: update pipeline code to selectively boost clusters"
This reverts commit 43a58faee2.

Change-Id: I47bfdf7710174f6166e5c43e9b306f814ebde0b0
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-07-31 13:40:48 -07:00
Linux Image Build Automation
80bccccdf4 Revert "sched/walt: Introduce shared rail sibling"
This reverts commit b67cb91366.

Change-Id: Ic69df5da8ac67246a342d3ecd88f710e6891be33
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-07-31 13:40:22 -07:00
Linux Image Build Automation
3ca7a5c0e6 Revert "usb: dwc3: dwc3-msm-core: Avoid updating pre/post reset if no actconfig"
This reverts commit 7677227a89.

Change-Id: I9f7a9f4f12113ee4bcbeb48a5b98851fe6145ec7
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-07-31 13:39:56 -07:00
Linux Image Build Automation
fa0bedbf7e Revert "spi: spi-msm-geni: reduce spi bw votes"
This reverts commit 8f1039131e.

Change-Id: I2b4fa0876c046f7751cf0894d91b4aada45a7acc
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-07-31 13:39:29 -07:00
Linux Image Build Automation
61bd4ced4c Revert "mem-buf: Make buffers unsuable on a lend failure"
This reverts commit d21994bfee.

Change-Id: I50faebf4281e651bf07cb0602c14d4dc9e5aaa86
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-07-31 13:39:03 -07:00
Linux Image Build Automation
99dce86ec1 Revert "sched/walt: Fix issue caused by incorrect ws setting"
This reverts commit aecab5a72e.

Change-Id: I0486c7635edd7401f4b29d6b187865cf3c0480be
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-07-31 13:38:37 -07:00
Linux Image Build Automation
6979e0b961 Revert "virtio-mem: set memalloc_noreclaim only doing memory plug request"
This reverts commit e3a4d01df0.

Change-Id: Iba7c018cd5ba01ab98aeed0c7819d2ffd63e5e1d
Signed-off-by: Linux Image Build Automation <quic_ibautomat@quicinc.com>
2023-07-31 13:38:10 -07:00
qctecmdr
814b2ee66e Merge "defconfig: gen4auto: Add CONFIG support for KRETPROBES" 2023-07-31 07:04:38 -07:00
qctecmdr
a32c14eced Merge "sched/walt: Adjust cpu clusters for mid cap CPUs" 2023-07-31 07:04:38 -07:00
qctecmdr
c3df210c6c Merge "qseecom_proxy: Add qseecom_proxy entry to GKI config" 2023-07-31 07:04:38 -07:00