Commit graph

4606 commits

Author SHA1 Message Date
qctecmdr
ad66be77b5 Merge "sched/walt: Ensure prev cpu fastpath for gold+ cluster" 2023-06-27 17:16:22 -07:00
qctecmdr
913b7515d0 Merge "sched/walt: Add tracing to help debug pipeline tasks" 2023-06-27 09:34:30 -07:00
qctecmdr
0f36d235a4 Merge "sched/walt: cleanup part_haltable mask usage" 2023-06-27 00:43:03 -07:00
Shaleen Agrawal
24e1fb3f37 sched/walt: Ensure prev cpu fastpath for gold+ cluster
Tasks that are placed on gold+ cluster while they are partially halted
are currently ineligible to take advantage of prev cpu fastpath, since
they will always begin evaluations on the silver cluster, causing
unnecessary migrations.

Change-Id: I7dec6d47c2a1a23b4f044e5ae2c2855c6d7c181e
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-06-23 22:30:15 -07:00
Shaleen Agrawal
9f12cc340e sched/walt: Add tracing to help debug pipeline tasks
To aid in debugging issues related to pipeline tasks, print the pipeline
cpu associated with each task during task placement.

Change-Id: I7c5eaf29d43cfcb633f26480eca0fcb4e08971dd
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-06-23 22:29:21 -07:00
Shaleen Agrawal
7a7570d17e sched/walt: Add trace member to show sync state
Currently the only way to know for certain if system is in frequency
sync state is to look at the number of cpus in the partial halt mask
under the halt_cpus tracepoint.

Add a sync_state member in sched_task_util tracepoint to make it easier
to identify state when debugging.

Change-Id: I5fecd5f66a4064e344e8f767154fce4937996cf9
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-06-23 22:28:50 -07:00
Shaleen Agrawal
3eed5f5967 sched/walt: Ensure frequency reevaluation between gold and gold+ clusters
When an intercluster migration occurs between a gold and a sibling gold+
cpu, fixups do not take place, as the migration is treated like a
migration between the same cluster. This was an unintended
consequence of asymcap_siblings_cpu feature.

Fix this by insuring gold/gold+ migrations are treated as intercluster
migrations rather than intracluster migrations.

Change-Id: I802a249e5adfceb2235c35ff5f146a9da45c7bf6
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-06-23 17:42:53 -07:00
Shaleen Agrawal
5e4127f8ec sched/walt: Remove unused asym_cap_sibling_cpus usage
asym_cap_sibling_cpus was introduced when support was needed to
treat all big cpus from different clusters as sibling cpus under an
architecture where both the clusters hosting big cpus only contained a
single cpu.

Note that this is orthogonal to the notion of ASYMCAP_BOOST(), which
does not require asym_cap_sibling_cpus to be defined.

There are remnants of this deprecated code still present - this patch
cleans that up. However, asym_cap_sibling_cpus will still be used to
guide frequency sync between gold and gold+ clusters.

Change-Id: I7da7fcf5d088694dc4b31784bfb17c06fed89f2b
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-06-22 11:14:45 -07:00
Shaleen Agrawal
2ea8e97a04 sched/walt: Fix asym cap boost CPU identification
Ensure a partially halted CPU is not identified as an asym cap boost
CPU.

This will ensure that a gold CPU doesn't pull a task from a partially
halted CPU, as the task should take the longer path of being considered an
upmigration under state1.

Change-Id: Ib98e0f82da454db81b6c59f072cfe6916c7eacdd
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-06-22 11:14:45 -07:00
Shaleen Agrawal
cd95fefb11 sched/walt: Introduce tunable for freq cap in high performance state
In the event of busy system, as defined by criteria for big task
rotation, introduce tunable to allow users to cap frequencies of each
cluster, for simpler thermal mitigation.

To enable these limits, a user can simply do:

echo a b c d > sched_thermal_cluster_freq_cap,

where a,b,c,d represent the frequency cap desired for each respective
cluster.

Change-Id: I912a6db4bcb3f7ac3670cc647df5d96761c7fd82
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-06-22 11:14:45 -07:00
Sai Harshini Nimmala
0cd9bb760d sched/walt: Add hysteresis when fmax is not capped
Under loaded conditions, CPUs' fmax is not restricted. Add a
hysteresis of a defined time limit to ensure that fmax gets capped
beyond that time limit, ie. after a particular point in time, fmax goes
back to being capped.

Change-Id: I75c521d942da6e93002fa30ac078baf352bfebae
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-06-22 11:14:44 -07:00
Shaleen Agrawal
9e782abaf0 sched/walt: Restrict fmax unless load detected
Restrict clusters' fmax to the frequencies set by user.

If system is loaded beyond a particular condition, which is seven
big/misfit tasks present in the system, or if the system is under full
throttle boost, do not restrict CPUs' ability to vote for policy fmax
frequency.

Use tunable /proc/sys/walt/sched_fmax_cap to set the fmax limit of each
cluster, for eg.,
echo a b c d > /proc/sys/walt/sched_fmax_cap,
where a, b, c, and d are frequency values representing each cluster in a
4-cluster system.

Change-Id: I6bd4655bec66e3cba2c10da71424fc15ec20ef58
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-06-22 11:14:26 -07:00
Sai Harshini Nimmala
051cbebf17 sched/walt_halt: Restrict max_freq of partially halted cluster
If all the CPUs in a cluster are partially halted, restrict the max freq
of that cluster to a user-defined tunable.

To use this tunable, simply do:

echo [x] > /proc/sys/walt/sched_max_freq_partial_halt

where x is the desired frequency.

Change-Id: I036f811dc006338d2fc0bdd0567aa70a0c3f3ae2
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2023-06-22 08:49:09 -07:00
qctecmdr
9ff80597b1 Merge "sched/walt: Introduce template for qos requests" 2023-06-21 22:33:34 -07:00
Stephen Dickey
acb14cfd53 sched/walt: cleanup part_haltable mask usage
When min_partial_cpus are reset to 0, part_haltable_cpus mask
was not reflecting that, since there was no feature to clear
the mask. Update the code to ensure that when min_partial_cpus
is set to 0, the cpus for that cluster are set to 0.

If multiple clusters partially halted a cpu, that information
is lost/overwritten. The last cluster for which a min_part_cpus
was set overwrote all of the existing part_haltable_cpus.
Address by adding all cpus for this particular cluster if
thay can be halted.

Change-Id: Idab7f12435a9ac8aefed340f4b2b4d7950c32569
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
Signed-off-by: Sai Harshini Nimmala <quic_snimmala@quicinc.com>
2023-06-21 14:49:53 -07:00
qctecmdr
774ed9d74a Merge "sched/walt/core_ctl: pause rail siblings for single thread work" 2023-06-18 11:06:27 -07:00
qctecmdr
cd13fdec80 Merge "sched/walt: Ensure frequency fixups under unisolation" 2023-06-18 11:06:25 -07:00
qctecmdr
983d6413e6 Merge "arm64: defconfig: cfg/mac 80211 as vendor modules" 2023-06-16 17:19:55 -07:00
Shaleen Agrawal
1e0e7a1ff6 sched/walt: Introduce template for qos requests
To allow client handlers to register quality of service requests
to limit the maximum frequency across a specified group of CPUs in the
system, two functions are introduced.

init_max_freq_qos_request can be used to initialize a client QoS handler.
add_max_freq_qos_request can be called to vote to limit the maximum
frequency for a specified group of CPUs for a client handler.

Note that the lowest vote for the maximum frequency for a given CPU will
win.

Change-Id: I0a7ba7d56cb6cc9328b027a4938c6550d7c0148c
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-06-16 12:28:21 -07:00
Stephen Dickey
1afcda24f8 sched/walt/core_ctl: pause rail siblings for single thread work
In the case where the system has a single big task (sbt) executing
the highest frequencies for gold+ cannot be achieved if there
are tasks running on the shared-rail cpus. These cpus need to
go into low power mode for gold+ to achieve single-core-boost,
and this is less likely if the cpus are only partially halted.

The sbt case requires that designated cpus in clusters are fully
halted when sbt is entered and fully unhalted when sbt exits.
This is a distinct client with halt, because the actions are
being taken independently of core control's normal operation.
In other words, core control's decision making process will
have no bearing on whether cpus are being fully halted or
unhalted by sbt, though some sched_avg data will be used,
including the number of big tasks in the system.

Create the sbt check within the core control framework utilizing
existing capabilities like averge task calculations. Enter and
exit sbt mode based upon the number of big tasks in the system
and whether those big tasks are on the prime cpu.

Change-Id: Ibe0bfc72b02cca819551dd9828d2bc4d7f23c70e
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2023-06-15 22:36:52 -07:00
Shaleen Agrawal
4a3ed76d95 sched/walt: Ensure frequency fixups under unisolation
Consider the case of a cluster which hosts CPUS capable of being
partially halted.

Currently, it is possible for one CPU to be partially halted, while the
other is fully unhalted. In such a situation, the unisolated cpu is
subject to freq restrictions similar to partially halted cpu

Change that to now ensure normal frequency behavior for the entire
cluster, as soon as one cpu in the cluster is unisolated.

Change-Id: I3d523d47c9be6659c2248613879fbef98d8edfd9
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-06-15 11:57:54 -07:00
Shaleen Agrawal
8864b4413d sched/walt: Introduce part_haltable_cpus mask
To better classify frequency decisions, create a mask called
part_haltable_cpus which indicates all possible CPUs that are eligible
to be partially halted.

Change-Id: I6870b9ce6d330d997efb5b7704af63a18a7955db
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-06-15 11:56:10 -07:00
qctecmdr
664e259353 Merge "sched/walt: core control: cleanup cluster_paused_cpus" 2023-06-14 11:34:06 -07:00
Stephen Dickey
bf44c802ea sched/walt: affine tasks as requested by user-space
A task's affinity should not be dependent on halt, because
a halted cpu will be available to be run on, sometimes. Various
benchmarks and test cases will use getaffinity to determine
what is available to the task to start with. If halted cpus are
not returned as valid cpus, benchmark test cases will adjust
behavior (reduce number of tasks running in parallel or change
which cpus we run on).

Remove the android_rvh_sched_getaffinity tracehook as it
was only restricting the affinity returned, and not affecting
the true affinity of the task.

Removing the restriction on affinity returned to the user space
introduces a problem, since the user space task may now chose
to affine only to halted cpus. Following the offline/online model,
halted cpus are rejected in is_cpu_allowed and
set_cpus_allowed_by_task, through tracehooks. If only offline or
halted cpus are allowed by the task, select_fallback_rq will
change the allowed cpus permanently to other cpus, to ensure
the task can run. This will cause critical test cases to fail
since the task does not run on the intended cpu.

Modify the is_cpu_allowed and set_cpus_allowed_by_task tracehooks
to prevent a situation where the affinity is lost, addressing
issues with the removal of android_rvh_sched_getaffinity.

Change-Id: Ied0ae40e870c3e2ccb1bedfdf84d9b58fa03a7e0
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2023-06-12 12:47:02 -07:00
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
Stephen Dickey
b60a99258c sched/walt: core control: cleanup cluster_paused_cpus
The implementation of cluster_paused_cpus is unoptimal
and dependent upon the fact that cpus_paused_by_us and
cpus_part_paused_by_us will not intersect.

Improve the implementation to simplify the code and eliminate
this assumption.

Change-Id: Id4d1b4274d57f196ca279d3016236f4d64b4ebb6
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2023-06-08 10:31:58 -07:00
jianzhou
e555c11e74 Merge keystone/android14-6.1-keystone-qcom-release.6.1.25 (a0290fa) into qcom-6.1
* refs/heads/tmp-a0290fa:
  ANDROID: GKI: Update symbols to abi_gki_aarch64_oplus for extend copy & fbarrier feature
  ANDROID: abi_gki_aarch64_qcom: Update symbol list
  ANDROID: mmc: core: Export core functions for kernel modules usage
  ANDROID: vendor_hooks: Define new hooks in _mmc_suspend/resume
  ANDROID: update symbol for unisoc vendor_hooks
  ANDROID: vendor_hooks: psci: add hook to check if cpu is allowed to power off
  ANDROID: Add vendor hook to the effective_cpu_util
  ANDROID: Update symbol list for mtk
  ANDROID: ABI: update symbol list for galaxy
  ANDROID: update symbol for unisoc vendor_hooks
  ANDROID: thermal: Add vendor hook to check power range
  ANDROID: thermal: Add vendor hook to get thermal zone device
  ANDROID: thermal: Add hook for cpufreq thermal
  ANDROID: virt: gunyah: Delta between v13 and v14
  Revert "ANDROID: gki_config: use DWARFv5 rather than DWARFv4"
  ANDROID: gunyah: Sync with latest "mailbox: Add Gunyah message queue mailbox"
  FROMLIST: scsi: ufs: core: Fix mcq tag calcualtion
  UPSTREAM: ufs: mcq: qcom: Fix passing zero to PTR_ERR
  UPSTREAM: ufs: mcq: qcom: Clean the return path of ufs_qcom_mcq_config_resource
  UPSTREAM: scsi: ufs: core: Print trs for pending requests in MCQ mode
  UPSTREAM: scsi: ufs: core: Add trace event for MCQ
  UPSTREAM: mm,kfence: decouple kfence from page granularity mapping judgement
  UPSTREAM: mm/page_alloc: fix potential deadlock on zonelist_update_seq seqlock
  UPSTREAM: mm: page_alloc: skip regions with hugetlbfs pages when allocating 1G pages
  UPSTREAM: usb: gadget: f_fs: Add unbind event before functionfs_unbind
  UPSTREAM: mm: kmsan: handle alloc failures in kmsan_vmap_pages_range_noflush()
  ANDROID: defconfig: Enable debug configs in consolidate-fragment
  ANDROID: ABI: Update oplus symbol list
  Revert "FROMGIT: usb: gadget: udc: core: Prevent redundant calls to pullup"
  ANDROID: GKI: Update symbols to symbol list
  ANDROID: vendor_hooks: Add hooks for binder proc transaction
  UPSTREAM: mm: kmsan: handle alloc failures in kmsan_ioremap_page_range()
  UPSTREAM: mm/huge_memory.c: warn with pr_warn_ratelimited instead of VM_WARN_ON_ONCE_FOLIO
  UPSTREAM: mm/userfaultfd: fix uffd-wp handling for THP migration entries
  UPSTREAM: mm/khugepaged: check again on anon uffd-wp during isolation
  UPSTREAM: fuse: always revalidate rename target dentry
  ANDROID: GKI: update xiaomi symbol list
  BACKPORT: FROMGIT: Multi-gen LRU: fix workingset accounting
  BACKPORT: FROMGIT: PCI: dwc: Wait for link up only if link is started
  ANDROID: ABI: update symbol list for exynos
  ANDROID: ufs: Improve MCQ err handling
  ANDROID: ABI: Update oplus symbol list
  ANDROID: GKI: sched: add rvh for new cfs task util
  ANDROID: Disable BTI_KERNEL, enable UNWIND_PATCH_PAC_INTO_SCS
  BACKPORT: arm64: implement dynamic shadow call stack for Clang
  UPSTREAM: scs: add support for dynamic shadow call stacks
  BACKPORT: arm64: unwind: add asynchronous unwind tables to kernel and modules
  ANDROID: ABI: Update oplus symbol list
  ANDROID: vendor_hooks: Add hook in shrink_node_memcgs
  ANDROID: ashmem: Export is_ashmem_file
  ANDROID: ABI: update symbol list related to show_mem for Exynos
  ANDROID: vendor_hooks: Add hooks for memory when debug
  ANDROID: GKI: Update symbol list for honor
  ANDROID: mutex: Add vendor hook to init mutex oem data.
  ANDROID: bazel: Adding make_goals to consolidate build
  ANDROID: ABI: Update oplus symbol list
  ANDROID: vendor_hook: add hooks in dm_bufio.c
  ANDROID: abi_gki_aarch64_qcom: update QCOM symbol list
  ANDROID: ABI: Update honor symbol list
  ANDROID: mm: create vendor hooks for do_shrink_slab()
  ANDROID: mm: create vendor hooks for shrink_slab()
  BACKPORT: usb: dwc3: fix gadget mode suspend interrupt handler issue
  ANDROID: GKI: update symbol list file for xiaomi
  ANDROID: 5/24/2023 KMI update
  ANDROID: virt: gunyah: Add KABI reservations
  ANDROID: virt: gunyah: Sync with KMI impacting changes from v13
  ANDROID: virt: gunyah: Force struct gh_rm as opaque
  Revert "ANDROID: gki_config: use DWARFv5 rather than DWARFv4"
  ANDROID: ABI: Update symbol list for Exynos SoC
  ANDROID: power: Add ANDROID_OEM_DATA in freq_qos_request.
  ANDROID: GKI: net: add vendor hooks for 'struct sock' lifecycle
  ANDROID: GKI: net: add vendor hooks for 'struct nf_conn' lifecycle
  ANDROID: GKI: add vendor padding variable in struct sock
  ANDROID: GKI: add vendor padding variable in struct nf_conn
  ANDROID: GKI: add vendor padding variable in struct skb_shared_info
  UPSTREAM: ext4: avoid a potential slab-out-of-bounds in ext4_group_desc_csum
  UPSTREAM: cpuidle: teo: Introduce util-awareness
  UPSTREAM: cpuidle: teo: Optionally skip polling states in teo_find_shallower_state()
  ANDROID: ABI: Update oplus symbol list
  ANDROID: thermal: Add vendor hooks for thermal
  ANDROID: GKI: Update symbol list for honor
  ANDROID: mm: create vendor hooks for page alloc
  ANDROID: ABI: Update oplus symbol list
  ANDROID: vendor_hooks: Add hooks for cpufreq_acct_update_power
  ANDROID: ABI: Update symbol list for Exynos SoC
  ANDROID: ABI: Update oplus symbol list
  ANDROID: vendor_hooks: Add hooks for account irqtime process tick
  ANDROID: vendor_hooks: Add hooks to dup_task_struct
  ANDROID: vendor_hooks: Add hooks to record the time of the process in various states
  ANDROID: vendor_hooks: Add hooks for signal
  ANDROID: power: wakeup_reason: change abort log
  ANDROID: virt: gunyah: Delta between v13 and v14
  ANDROID: GKI: Update symbol list for xiaomi
  ANDROID: psi: Add vendor hooks for PSI tracing
  UPSTREAM: ext4: fix invalid free tracking in ext4_xattr_move_to_block()
  FROMGIT: scsi: ufs: core: mcq: Fix &hwq->cq_lock deadlock issue
  ANDROID: ABI: Update oplus symbol list
  ANDROID: android: Export symbols for invoking cpufreq_update_util()
  ANDROID: ABI: Update oplus symbol list
  ANDROID: vendor_hooks: Export the tracepoints task_rename
  ANDROID: Add macros to create reserved data fields to backport upstream changes
  ANDROID: retry page allocation from buddy on lock contention
  UPSTREAM: KVM: arm64: Fix buffer overflow in kvm_arm_set_fw_reg()
  ANDROID: arm64: Check FGT cap before touching HFGWTR_EL2
  Revert "ANDROID: Partially Revert "ANDROID: KVM: arm64: Allow tweaking HFGWTR_EL2 from modules""
  FROMGIT: f2fs: fix the wrong condition to determine atomic context
  ANDROID: GKI: update symbol list file for honor
  ANDROID: ABI: Update symbol list for imx
  ANDROID: mm: shmem: initialize the vendor data
  ANDROID: GKI: refresh STG ABI to new version
  ANDROID: GKI: Add symbols to symbol list for vivo
  ANDROID: ABI: Update oplus symbol list
  ANDROID: vendor_hooks: Add hooks for account process tick
  ANDROID: ABI: Update oplus symbol list
  ANDROID: vendor_hooks: add hook account_process_tick_gran
  ANDROID: vendor_hooks: Add hook in try_to_unmap_one()
  ANDROID: vendor_hooks: Add hook in mmap_region()
  ANDROID: Partially Revert "ANDROID: KVM: arm64: Allow tweaking HFGWTR_EL2 from modules"
  ANDROID: GKI: update the ABI symbol list
  ANDROID: freezer: Add vendor hook to freezer for GKI purpose.
  ANDROID: freezer: export the freezer_cgrp_subsys for GKI purpose.
  ANDROID: GKI: update the ABI symbol list
  ANDROID: Add vendor hooks for binder perf tuning
  ANDROID: Add vendor hooks to signal.
  ANDROID: Update the ABI symbol list
  ANDROID: page_pinner: add missing page_pinner_put_page
  ANDROID: page_pinner: prevent pp_buffer uninitialized access
  ANDROID: page_pinner: prevent pp_buffer access before initialization
  ANDROID: mm: fix use-after free of page_ext in page_pinner
  ANDROID: mm: introduce page_pinner
  ANDROID: abi_gki_aarch64_qcom: Add gh_rm_register_platform_ops
  ANDROID: gunyah: Sync remaining gunyah drivers with latest
  ANDROID: gunyah: Sync with latest "mailbox: Add Gunyah message queue mailbox"
  ANDROID: gunyah: Sync with latest "gunyah: Common types and error codes for Gunyah hypercalls"
  ANDROID: gunyah: Sync with latest hypercalls
  ANDROID: gunyah: Sync with latest documentation and UAPI
  ANDROID: gunyah: Sync with latest "firmware: qcom_scm: Register Gunyah platform ops"
  BACKPORT: firmware: qcom_scm: Use fixed width src vm bitmap
  BACKPORT: misc: fastrpc: Pass bitfield into qcom_scm_assign_mem
  ANDROID: gunyah: Sync with latest "virt: gunyah: Add ioeventfd"
  ANDROID: gunyah: Sync with latest "gunyah: vm_mgr: Add ioctls to support basic non-proxy VM boot"
  ANDROID: gunyah: Sync with latest "gunyah: vm_mgr: Add/remove user memory regions"
  ANDROID: gunyah: Sync with latest "virt: gunyah: Add resource tickets"
  ANDROID: gunyah: Sync with latest "gunyah: vm_mgr: Add framework for VM Functions"
  ANDROID: gunyah: Sync with latest "gunyah: rsc_mgr: Add resource manager RPC core"
  ANDROID: gunyah: Sync with latest "virt: gunyah: Translate gh_rm_hyp_resource into gunyah_resource"
  ANDROID: gunyah: Sync with latest "virt: gunyah: Add hypercalls to identify Gunyah"
  BACKPORT: overflow: Introduce overflows_type() and castable_to_type()
  UPSTREAM: drm/amd/display: set dcn315 lb bpp to 48
  UPSTREAM: drm/amdgpu: Fix desktop freezed after gpu-reset
  UPSTREAM: drm/i915: Fix fast wake AUX sync len
  UPSTREAM: ASN.1: Fix check for strdup() success
  UPSTREAM: ASoC: fsl_sai: Fix pins setting for i.MX8QM platform
  UPSTREAM: ASoC: fsl_asrc_dma: fix potential null-ptr-deref
  UPSTREAM: ASoC: SOF: pm: Tear down pipelines only if DSP was active
  UPSTREAM: fpga: bridge: properly initialize bridge device before populating children
  UPSTREAM: iio: adc: at91-sama5d2_adc: fix an error code in at91_adc_allocate_trigger()
  UPSTREAM: Input: pegasus-notetaker - check pipe type when probing
  UPSTREAM: gcc: disable '-Warray-bounds' for gcc-13 too
  UPSTREAM: sctp: Call inet6_destroy_sock() via sk->sk_destruct().
  UPSTREAM: dccp: Call inet6_destroy_sock() via sk->sk_destruct().
  UPSTREAM: netfilter: nf_tables: deactivate anonymous set from preparation phase
  ANDROID: GKI: add symbol list file for unisoc
  UPSTREAM: inet6: Remove inet6_destroy_sock() in sk->sk_prot->destroy().
  UPSTREAM: purgatory: fix disabling debug info
  UPSTREAM: MIPS: Define RUNTIME_DISCARD_EXIT in LD script
  UPSTREAM: usb: dwc3: debugfs: Resume dwc3 before accessing registers
  ANDROID: ABI: Update oplus symbol list
  ANDROID: vendor_hooks: Export the tracepoints sched_stat_sleep and sched_waking to let module probe them
  ANDROID: vendor_hooks: Export the tracepoints sched_stat_iowait, sched_stat_blocked, sched_stat_wait to let modules probe them
  ANDROID: vendor_hooks: export get_wchan
  ANDROID: workqueue: export symbol of the function wq_worker_comm()
  BACKPORT: mm/kmemleak: fix UAF bug in kmemleak_scan()
  ANDROID: clang: update to 17.0.2
  ANDROID: abi_gki_aarch64_qcom: update symbol list
  UPSTREAM: media: add nv12_8l128 and nv12_10be_8l128 video format.
  ANDROID: ABI: update symbol list for galaxy
  ANDROID: db845c: Remove MAKE_GOALS from build.config
  ANDROID: GKI: gen_gki_modules_headers update preprocessing
  FROMGIT: locking/rwsem: Add __always_inline annotation to __down_read_common() and inlined callers
  FROMGIT: xfrm: Check if_id in inbound policy/secpath match
  ANDROID: always add the struct wireless_dev * to struct net_device
  ANDROID: ABI: Update symbol list for imx
  ANDROID: KVM: arm64: Always unmap protected regions from the host
  FROMLIST: usb: typec: altmodes/displayport: fix pin_assignment_show
  ANDROID: block: Improve shared tag set performance
  ANDROID: Update ABI representation broken by update race
  ANDROID: GKI: update the ABI symbol list
  ANDROID: cgroup: Add vendor hook for cpuset.
  ANDROID: export cpuset_cpus_allowed()for GKI purpose.
  ANDROID: sched: Add vendor hooks for cpu affinity.
  ANDROID: GKI: Update owners for GKI modules lists
  ANDROID: abi_gki_aarch64_qcom: Add USB SND power domain symbol
  FROMGIT: usb: xhci: Remove unused udev from xhci_log_ctx trace event
  ANDROID: 5/10/2023 KMI update
  ANDROID: KVM: arm64: Allow tweaking HFGWTR_EL2 from modules
  ANDROID: KVM: arm64: Allow tweaking HCR_EL2 from modules
  ANDROID: GKI: Trimmed symbol lists for 80211 modules
  ANDROID: GKI: DB845C: cfg/mac 80211 as vendor modules
  ANDROID: GKI: cfg/mac 80211 as vendor modules
  ANDROID: ABI: Update oplus symbol list
  ANDROID: vendor_hooks: Add hooks for futex
  ANDROID: vendor_hooks: Add hooks for oem futex optimization
  FROMGIT: wifi: nl80211: Add support for randomizing TA of auth and deauth frames
  ANDROID: GKI: update the ABI symbol list
  ANDROID: sched: Add ANDROID_OEM_DATA_ARRAY in user_struct.
  ANDROID: power: Add vendor hook to qos for GKI purpose.
  ANDROID: GKI: update the ABI symbol list
  ANDROID: export find_user() & free_uid()for GKI purpose.
  ANDROID: user: Add vendor hook to user for GKI purpose
  ANDROID: sched: add trace_android_vh_map_util_freq parameter
  FROMGIT: usb: gadget: udc: core: Prevent redundant calls to pullup
  FROMGIT: usb: gadget: udc: core: Invoke usb_gadget_connect only when started
  Revert "Revert "KVM: arm64: PMU: Don't save PMCR_EL0.{C,P} for the vCPU""
  Revert "Revert "KVM: arm64: PMU: Sanitise PMCR_EL0.LP on first vcpu run""
  Revert "Revert "KVM: arm64: PMU: Distinguish between 64bit counter and 64bit overflow""
  Revert "Revert "KVM: arm64: PMU: Align chained counter implementation with architecture pseudocode""
  Revert "Revert "pwm: meson: Explicitly set .polarity in .get_state()""
  Revert "Revert "pwm: sprd: Explicitly set .polarity in .get_state()""
  Revert "Revert "pwm: iqs620a: Explicitly set .polarity in .get_state()""
  Revert "Revert "pwm: cros-ec: Explicitly set .polarity in .get_state()""
  Revert "Revert "pwm: hibvt: Explicitly set .polarity in .get_state()""
  Revert "Revert "pwm: Make .get_state() callback return an error code""
  Revert "Revert "raw: Fix NULL deref in raw_get_next().""
  Revert "Revert "raw: use net_hash_mix() in hash function""
  FROMLIST: scsi: ufs: core: Fix mcq nr_hw_queues
  FROMLIST: scsi: ufs: core: Rename symbol sizeof_utp_transfer_cmd_desc()
  FROMLIST: scsi: ufs: core: Fix mcq tag calcualtion
  ANDROID: GKI: Remove MAKE_GOALS from build.config
  ANDROID: GKI: Add symbols to symbol list for vivo
  ANDROID: KVM: arm64: Restrict pKVM hyp exports
  ANDROID: kleaf: move NDK_TRIPLE for arm to build.config.constants.
  FROMLIST: clocksource/drivers/timer-mediatek: Make timer-mediatek become loadable module
  FROMLIST: clocksource/drivers/timer-of: Remove __init markings
  FROMLIST: clocksource/drivers/mmio: Export clocksource_mmio_init()
  FROMLIST: time/sched_clock: Export sched_clock_register()
  ANDROID: ABI: Update symbol list for Exynos SoC
  Revert "Revert "ANDROID: cpufreq: Add a restricted vendor hook for freq transition""
  ANDROID: usb: gadget: configfs: Protect composite_setup in a spinlock
  Revert "ANDROID: uid_sys_stat: split the global lock uid_lock to the fine-grained"
  ANDROID: GKI: update symbol list file for xiaomi
  ANDROID: GKI: x86_64: Remove 80211 from protected modules
  ANDROID: GKI: Update owners for GKI modules lists
  FROMLIST: binder: fix UAF caused by faulty buffer cleanup
  ANDROID: ABI: Update oplus symbol list
  ANDROID: vendor_hooks: Add hooks to select binder worklist
  ANDROID: vendor_hooks: Add hooks for binder
  ANDROID: vendor_hooks: Add hooks for rwsem and mutex
  ANDROID: vendor_hooks: Add hooks for binder proc transaction
  ANDROID: vendor_hooks: Add hook for binder
  ANDROID: vendor_hooks: Add hooks for mutex and rwsem optimistic spin
  ANDROID: vendor_hooks: Add hooks for rwsem and mutex
  ANDROID: ABI: Update cpu-profiler symbol list for Exynos SoC
  ANDROID: ABI: Update WLBT, Sensor symbol list for Exynos SoC
  ANDROID: ABI: Update GPU symbol for Exynos SoC
  ANDROID: ABI: Update oplus symbol list
  ANDROID: vendor_hook: add hooks to protect locking-tsk in cpu scheduler
  ufs: Update struct ufs_hba
  ANDROID: ABI: Update DRM symbol for Exynos SoC
  fscrypt: destroy keyring after security_sb_delete()
  ANDROID: GKI: Increase max 8250 uarts
  ANDROID: ABI: Update Audio symbol for Exynos SoC
  UPSTREAM: ufs: mcq: qcom: Fix passing zero to PTR_ERR
  UPSTREAM: ufs: mcq: qcom: Clean the return path of ufs_qcom_mcq_config_resource
  ANDROID: Update symbol list for Exynos SoC
  fscrypt: optimize fscrypt_initialize()
  fscrypt: use WARN_ON_ONCE instead of WARN_ON
  fscrypt: new helper function - fscrypt_prepare_lookup_partial()
  fscrypt: check for NULL keyring in fscrypt_put_master_key_activeref()
  fscrypt: improve fscrypt_destroy_keyring() documentation
  drm/rockchip: vop2: Use regcache_sync() to fix suspend/resume
  drm/rockchip: vop2: fix suspend/resume
  drm/amd/display: set dcn315 lb bpp to 48
  drm/amdgpu: Fix desktop freezed after gpu-reset
  drm/i915: Fix fast wake AUX sync len
  mmc: sdhci_am654: Set HIGH_SPEED_ENA for SDR12 and SDR25
  memstick: fix memory leak if card device is never registered
  writeback, cgroup: fix null-ptr-deref write in bdi_split_work_to_wbs
  tools/mm/page_owner_sort.c: fix TGID output when cull=tg is used
  kernel/sys.c: fix and improve control flow in __sys_setres[ug]id()
  nilfs2: initialize unused bytes in segment summary blocks
  maple_tree: fix a potential memory leak, OOB access, or other unpredictable bug
  maple_tree: fix mas_empty_area() search
  LoongArch: Mark 3 symbol exports as non-GPL
  rust: kernel: Mark rust_fmt_argument as extern "C"
  maple_tree: make maple state reusable after mas_empty_area_rev()
  LoongArch: Fix probing of the CRC32 feature
  btrfs: get the next extent map during fiemap/lseek more efficiently
  ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook
  iio: light: tsl2772: fix reading proximity-diodes from device tree
  iio: dac: ad5755: Add missing fwnode_handle_put()
  drm/amdgpu/vcn: Disable indirect SRAM on Vangogh broken BIOSes
  Revert "userfaultfd: don't fail on unrecognized features"
  mtd: spi-nor: fix memory leak when using debugfs_lookup()
  platform/x86: asus-nb-wmi: Add quirk_asus_tablet_mode to other ROG Flow X13 models
  platform/x86: gigabyte-wmi: add support for X570S AORUS ELITE
  xen/netback: use same error messages for same errors
  nvme-tcp: fix a possible UAF when failing to allocate an io queue
  drm: test: Fix 32-bit issue in drm_buddy_test
  drm: buddy_allocator: Fix buddy allocator init on 32-bit systems
  s390/ptrace: fix PTRACE_GET_LAST_BREAK error handling
  platform/x86: gigabyte-wmi: add support for B650 AORUS ELITE AX
  net: dsa: b53: mmap: add phy ops
  scsi: core: Improve scsi_vpd_inquiry() checks
  scsi: megaraid_sas: Fix fw_crash_buffer_show()
  selftests: sigaltstack: fix -Wuninitialized
  platform/x86 (gigabyte-wmi): Add support for A320M-S2H V2
  platform/x86/intel: vsec: Fix a memory leak in intel_vsec_add_aux
  f2fs: Fix f2fs_truncate_partial_nodes ftrace event
  net: bridge: switchdev: don't notify FDB entries with "master dynamic"
  e1000e: Disable TSO on i219-LM card to increase speed
  bpf: Fix incorrect verifier pruning due to missing register precision taints
  spi: spi-rockchip: Fix missing unwind goto in rockchip_sfc_probe()
  mlxsw: pci: Fix possible crash during initialization
  net: rpl: fix rpl header size calculation
  bonding: Fix memory leak when changing bond type to Ethernet
  mlxfw: fix null-ptr-deref in mlxfw_mfa2_tlv_next()
  bnxt_en: Do not initialize PTP on older P3/P4 chips
  netfilter: nf_tables: tighten netlink attribute requirements for catch-all elements
  netfilter: nf_tables: validate catch-all set elements
  i40e: fix i40e_setup_misc_vector() error handling
  i40e: fix accessing vsi->active_filters without holding lock
  netfilter: nf_tables: fix ifdef to also consider nf_tables=m
  sfc: Fix use-after-free due to selftest_work
  virtio_net: bugfix overflow inside xdp_linearize_page()
  net: sched: sch_qfq: prevent slab-out-of-bounds in qfq_activate_agg
  regulator: fan53555: Fix wrong TCS_SLEW_MASK
  regulator: fan53555: Explicitly include bits header
  rust: str: fix requierments->requirements typo
  netfilter: nf_tables: Modify nla_memdup's flag to GFP_KERNEL_ACCOUNT
  netfilter: br_netfilter: fix recent physdev match breakage
  arm64: dts: imx8mp-verdin: correct off-on-delay
  arm64: dts: imx8mm-verdin: correct off-on-delay
  arm64: dts: imx8mm-evk: correct pmic clock source
  arm64: dts: qcom: sc8280xp-pmics: fix pon compatible and registers
  arm64: dts: meson-g12-common: specify full DMC range
  arm64: dts: qcom: ipq8074-hk10: enable QMP device, not the PHY node
  arm64: dts: qcom: hk10: use "okay" instead of "ok"
  arm64: dts: qcom: ipq8074-hk01: enable QMP device, not the PHY node
  arm64: dts: rockchip: Lower sd speed on rk3566-soquartz
  ARM: dts: rockchip: fix a typo error for rk3288 spdif node

 Conflicts:
	android/abi_gki_aarch64.stg
	android/gki_system_dlkm_modules

Change-Id: I753eb5791de01079ea02b215e38a149fe0626f76
Upstream-Build: ks_qcom-android14-6.1-keystone-qcom-release@10256832 UKQ2.230604.001
Signed-off-by: jianzhou <quic_jianzhou@quicinc.com>
2023-06-08 00:45:30 -07:00
Stephen Dickey
00dd934ab0 sched/walt: core control: update meaning of paused-by-us masks
Current code includes all partially halted cpus in both the
partial-paused-by-us and fully-paused-by-us cpu masks. This
overlap becomes problematic when core control can both fully
and partially halt the same cpu.

In preparation of the single-core-boost support, split the
meaninng such that the fully halted and partially halted
states can be held by core control simultaneously.

Change-Id: I09a4a01b76f32cba9cad0d7967fde1789b4ad63e
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2023-06-02 15:04:41 -07:00
Xuewen Yan
3be7d118e7 ANDROID: Add vendor hook to the effective_cpu_util
android_rvh_effective_cpu_util:
	To perform vendor-specific cpu util, it is used in EAS/schedutil/thermal.

The effective_cpu_util would be called when thermal calc the dynamic power,
it's non-atomic context, so set the hook be restricted.

Bug: 226686099
Test: build pass

Signed-off-by: Xuewen Yan <xuewen.yan@unisoc.com>
Change-Id: I6fd77f44ca4328f5ef37d96989aa2e08d65e29bb
2023-06-01 00:39:32 +00:00
Choonghoon Park
ca0b1abfc5 ANDROID: GKI: sched: add rvh for new cfs task util
A vendor hook is added in post_init_entity_util_avg before
a new cfs task's util is attached to cfs_rq's util so that
vendors can gather and modify se's information to modify
scheduling behavior and DVFS as they want.

trace_android_rvh_new_task_stats is not a proper hook because
it is called after the task's util is attached to cfs_rq's util,
which means updating cfs_rq's sched_avg and DVFS request are done.

Bug: 184219858

Signed-off-by: Choonghoon Park <choong.park@samsung.com>
Change-Id: I2deaa93297f8464895978496c9838cdffaa35b7f
(cherry picked from commit 1eea1cbdd3)
2023-05-26 17:36:43 +08:00
qctecmdr
6eae876c62 Merge "sched/walt: Expand newidle balance tracepoint" 2023-05-25 19:47:17 -07:00
qctecmdr
49e469b669 Merge "sched/walt: Update capacities for all CPUs in policy" 2023-05-25 19:47:15 -07:00
qctecmdr
9a99015e7f Merge "Merge keystone/android14-6.1-keystone-qcom-release.6.1.25 (98d56a5) into qcom-6.1" 2023-05-24 11:43:59 -07:00
Liangliang Li
527e7b1ee8 ANDROID: vendor_hooks: Add hooks for account irqtime process tick
Add a hook in irqtime_account_process_tick, which helps to get
information about the high load task.

Bug: 187904818

Change-Id: I644f7d66b09d047ca6b0a0fbd2915a6387c8c007
Signed-off-by: Liangliang Li <liliangliang@vivo.com>
(cherry picked from commit fe580539f6cec43ddb0d6ecfd39aa2f4e45754ca)
(cherry picked from commit bf3b384e0876a3111d114392b405ed269dcb9c9e)
2023-05-19 19:41:20 +00:00
Liangliang Li
3b573277d4 ANDROID: vendor_hooks: Add hooks to dup_task_struct
Add hook to dup_task_struct for vendor data fields initialisation.

Bug: 188004638

Change-Id: I4b58604ee822fb8d1e0cc37bec72e820e7318427
Signed-off-by: Liangliang Li <liliangliang@vivo.com>
(cherry picked from commit f66d96b14aab5051fdf6b5054d87362c17a7b365)
(cherry picked from commit bafafe0ec46160573bef46d3d0f5d6c65fadaa3b)
2023-05-19 19:41:20 +00:00
Liujie Xie
310995a546 ANDROID: vendor_hooks: Add hooks to record the time of the process in various states
These hooks will do the following works:
a) record the time of the process in various states
b) Make corresponding optimization strategies in different hooks

Bug: 205938967

Signed-off-by: Liujie Xie <xieliujie@oppo.com>
Change-Id: Ia3c47bbf0aadd17337ce18fd910343b1b8c3ef93
(cherry picked from commit a61d61bab7c3d221d5d2250eacab2e4e9f59b252)
Signed-off-by: Carlos Llamas <cmllamas@google.com>
(cherry picked from commit b7a1174cc5dfc68cf769547b91958df407e55981)
(cherry picked from commit e1f430a48702844c01933a925c92b077ba14ec3f)
2023-05-19 19:41:20 +00:00
Shaleen Agrawal
273dbd370b sched/walt: Update capacities for all CPUs in policy
When changing frequencies, update capacities across all CPUs in the
policy.

Change-Id: Ic9c1b5176bbd668d062a580230eec974f2e01872
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-05-18 15:59:01 -07:00
Georgi Djakov
d39f39ccb9 ANDROID: psi: Add vendor hooks for PSI tracing
Add hooks to capture various per-zone memory stats when
a trigger threshold is hit.

Bug: 268290366
Change-Id: Ibe39263ddb05ffc3fa63b5225497a90c6480c8d7
Signed-off-by: Georgi Djakov <quic_c_gdjako@quicinc.com>
2023-05-18 21:53:34 +00:00
Liujie Xie
2878003246 ANDROID: android: Export symbols for invoking cpufreq_update_util()
In order to update cpufreq, vendor modules invoke cpufreq_update_util(),
but when we build our modules, report error:
ERROR: modpost: "cpufreq_update_util_data" [xxx.ko] undefined!

Bug: 192218676
Signed-off-by: Liujie Xie <xieliujie@oppo.com>
Change-Id: Ib1da70229f04b08d8d812d065021dec0bf891e0e
(cherry picked from commit 8943a2e7a33e33fd89614ac83b33b30f8d8c6b96)
(cherry picked from commit d1bc61dd85e8d28f1df0e22e2d73aa9e99cb645e)
2023-05-18 20:39:10 +00:00
Shaleen Agrawal
21f1245149 sched/walt: Expand newidle balance tracepoint
Add task information for pulled task in walt_newidle_balance to better
help debug.

Change-Id: Id8e8982cfb4af33a2c2e2e312f145a8382e2ab3c
Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com>
2023-05-17 12:01:50 -07:00
Liujie Xie
c92b19e8e4 ANDROID: vendor_hooks: Add hooks for account process tick
Add a hook in account_process_tick, which help us to get information
about the high load task and the cpu they running on.

Bug: 183260319
Change-Id: I54162ce3c65bd69e08d2d4747e4d4883efe4c442
Signed-off-by: Liujie Xie <xieliujie@oppo.com>
2023-05-17 11:31:51 +00:00
Liujie Xie
ec8c8f6e33 ANDROID: vendor_hooks: add hook account_process_tick_gran
this hook will allow to account tick in every third of more ticks
to save cpu time for accounting

Bug: 279549765
Change-Id: I5d18e0167fdce076d13aecc653dcf6387bcb25f2
Signed-off-by: Liujie Xie <xieliujie@oppo.com>
2023-05-17 11:31:51 +00:00
Liujie Xie
44337937b1 ANDROID: vendor_hooks: Export the tracepoints sched_stat_sleep
and sched_waking to let module probe them

Get task info about sleep and waking

Bug: 190422437
Signed-off-by: Liujie Xie <xieliujie@oppo.com>
Change-Id: I828c93f531f84e6133c2c3a7f8faada51683afcf
(cherry picked from commit 13af062abf9b3586623adf7c3cdc5ced7bb5caed)
(cherry picked from commit 869954e72dac700580d0ea5734d07b574e41afe9)
(cherry picked from commit b7f527071c7716c1cc8dfea79353a0f00cec89d8)
2023-05-15 23:43:01 +00:00
Liujie Xie
527ffd22ad ANDROID: vendor_hooks: Export the tracepoints sched_stat_iowait, sched_stat_blocked, sched_stat_wait to let modules probe them
Get task info about scheduling delay, iowait, and block time.

It is used to get thread scheduling info when thread happened abnormal situation.

Bug: 189415303
Change-Id: Ib6b548f8a78de5b26d555e9a89e3cc79ea2d1024
Signed-off-by: Liujie Xie <xieliujie@oppo.com>
(cherry picked from commit a6bb1af39d11ef0360cb34bb31b7224ca4db031f)
(cherry picked from commit 6d8d2ab52facfd6d5de2715e2470872e6a70cf22)
(cherry picked from commit c3c29177681354b815763c3592e227b2288f341d)
2023-05-15 23:43:01 +00:00
qctecmdr
ac255f96a4 Merge "sched/walt: Count misfits for partially halted cpus" 2023-05-15 12:54:10 -07:00
jianzhou
106629f5e1 Merge keystone/android14-6.1-keystone-qcom-release.6.1.25 (98d56a5) into qcom-6.1
* refs/heads/tmp-98d56a5:
  FROMLIST: ANDROID: GKI: psi: remove 500ms min window size limitation for triggers
  ANDROID: uid_sys_stat: split the global lock uid_lock to the fine-grained locks for each hlist in hash_table.
  ANDROID: uid_sys_stats: defer process_notifier work if uid_lock is contended
  ANDROID: Add symbols for pkvm module support
  ANDROID: abi_gki_aarch64_qcom: Add dma_resv iterator symbols
  ANDROID: Unnest MAKE_GOALS from build configs
  ANDROID: iommu/dma: Add support for DMA_ATTR_SYS_CACHE_NWA
  ANDROID: iommu/dma: Add support for DMA_ATTR_SYS_CACHE
  ANDROID: iommu/io-pgtable-arm: Add IOMMU_SYS_CACHE/_NWA
  ANDROID: Enable CONFIG_ZONE_DEVICE
  ANDROID: abi_gki_aarch64_qcom: Add sock_gen_put
  BACKPORT: FROMLIST: Revert "scsi: ufs: core: Initialize devfreq synchronously"
  FROMLIST: staging: greybus: drop loopback test files
  UPSTREAM: wifi: cfg80211: Authentication offload to user space for MLO connection in STA mode
  UPSTREAM: wifi: cfg80211: trace: remove MAC_PR_{FMT,ARG}
  ANDROID: arm64: Add support for system cache memory type
  ANDROID: fuse-bpf: Fix bpf_test_xattr testcase error
  ANDROID: fuse-bpf: Simplify and fix setting bpf program
  ANDROID: GKI: update the ABI symbol list
  ANDROID: schedutil: add vendor hook for adjusting util to freq calculation
  BACKPORT: FROMLIST: arm64: Also reset KASAN tag if page is not PG_mte_tagged
  FROMLIST: arm64: mte: Do not set PG_mte_tagged if tags were not initialized
  ANDROID: GKI: Convert USB network adpaters to modules
  ANDROID: KVM: arm64: Prevent kmemleak from accessing EL2 module sections
  ANDROID: KVM: arm64: Move addr_is_allowed_memory() check into host callback
  UPSTREAM: wifi: cfg80211: Authentication offload to user space for MLO connection in STA mode
  ANDROID: Enable CONFIG_ZONE_DEVICE
  ANDROID: abi_gki_aarch64_qcom: Add sock_gen_put
  BACKPORT: FROMLIST: Revert "scsi: ufs: core: Initialize devfreq synchronously"
  FROMLIST: staging: greybus: drop loopback test files
  ANDROID: fuse-bpf: Make fuse_test compile and pass
  ANDROID: abi_gki_aarch64_qcom: Add missing symbol to QCOM list
  ANDROID: Update ABI representation
  ANDROID: ABI: Update QCOM symbol list for display drivers
  ANDROID: KVM: arm64: Prevent kmemleak from accessing .hyp.data
  ANDROID: 4/26/2023 KMI update
  ANDROID: mm: Create hooks for ZONE_MOVABLE allocs
  ANDROID: zram: allow zram to allocate CMA pages
  ANDROID: mm: add cma pcp list
  ANDROID: cma: redirect page allocation to CMA
  ANDROID: GKI: fscrypt: add OEM data to struct fscrypt_operations
  ANDROID: KVM: arm64: iommu: Pass device specific flags to hypervisor
  ANDROID: abi_gki_aarch64_qcom: Update qcom abi symbol list
  ANDROID: vmscan: Support multiple kswapd threads per node
  ANDROID: mm: Export kswapd function
  ANDROID: gki_defconfig: enable IPV6_MROUTE_MULTIPLE_TABLES
  Revert "ANDROID: gki_defconfig: remove CONFIG_CLEANCACHE from gki_defconfig"
  ANDROID: Revert "mm: remove cleancache"
  ANDROID: dma-buf: heaps: dmabuf page pool spinlock should be spinlock_t
  ANDROID: GKI: Update db845c symbol list for dmabuf_page_pool_get_size
  ANDROID: GKI: Update virtual_device symbol list for dmabuf_page_pool_get_size
  ANDROID: dma-heap: Let system heap report total pool size
  ANDROID: dma-buf: heaps: Add a sysfs file to report total pool size.
  ANDROID: block: Prepare for preserving the zoned write order
  ANDROID: Update symbol list for Exynos SoC
  ANDROID: ABI: Update symbol list for imx
  ANDROID: db845c: Update symbol list
  ANDROID: preserve CRC for xhci symbols
  Revert "raw: use net_hash_mix() in hash function"
  Revert "raw: Fix NULL deref in raw_get_next()."
  Revert "pwm: Make .get_state() callback return an error code"
  Revert "pwm: hibvt: Explicitly set .polarity in .get_state()"
  Revert "pwm: cros-ec: Explicitly set .polarity in .get_state()"
  Revert "pwm: iqs620a: Explicitly set .polarity in .get_state()"
  Revert "pwm: sprd: Explicitly set .polarity in .get_state()"
  Revert "pwm: meson: Explicitly set .polarity in .get_state()"
  Revert "KVM: arm64: PMU: Align chained counter implementation with architecture pseudocode"
  Revert "KVM: arm64: PMU: Distinguish between 64bit counter and 64bit overflow"
  Revert "KVM: arm64: PMU: Sanitise PMCR_EL0.LP on first vcpu run"
  Revert "KVM: arm64: PMU: Don't save PMCR_EL0.{C,P} for the vCPU"
  BACKPORT: KVM: arm64: Make vcpu flag updates non-preemptible
  BACKPORT: KVM: arm64: Advertise ID_AA64PFR0_EL1.CSV2/3 to protected VMs
  FROMGIT: usb: dwc3: gadget: Refactor EP0 forced stall/restart into a separate API
  ANDROID: Update symbol list for mtk
  FROMGIT: usb: dwc3: gadget: Execute gadget stop after halting the controller
  UPSTREAM: scsi: ufs: core: Print trs for pending requests in MCQ mode
  UPSTREAM: scsi: ufs: core: Add trace event for MCQ
  ANDROID: ABI: update the pixel symbol list
  FROMGIT: USB: dwc3: gadget: drop dead hibernation code
  FROMGIT: usb: dwc3: gadget: Stall and restart EP0 if host is unresponsive
  FROMGIT: media: add RealVideo format RV30 and RV40
  FROMGIT: media: add Sorenson Spark video format
  ANDROID: Update ABI representation for imx symbol list updates
  ANDROID: ABI: Add clk/power related symbols for imx
  ANDROID: ABI: Add phy/pinctrl/regulator related symbols for imx
  ANDROID: ABI: Add bus/mmc/dma related symbols for imx
  ANDROID: ABI: Add display related symbols for imx
  ANDROID: ABI: Add video/camera related symbols for imx
  ANDROID: ABI: Add sensor/led/iput related symbols for imx
  ANDROID: ABI: Add usb related symbols for imx
  ANDROID: ABI: Add net related symbols for imx
  ANDROID: ABI: Add sound/soc/ related symbols for imx
  ANDROID: KVM: arm64: Clear the PTEs which are not refcounted on unmap path
  Revert "ANDROID: Add utf8_data_table for case-folding support"
  ANDROID: Add filp_open_block() for zram
  ANDROID: GKI: add init symbol list file for vivo
  FROMGIT: clocksource/drivers/timer-mediatek: Split out CPUXGPT timers
  ANDROID: dma-buf: Export is_dma_buf_file
  Linux 6.1.25
  cgroup/cpuset: Add cpuset_can_fork() and cpuset_cancel_fork() methods
  cgroup/cpuset: Make cpuset_fork() handle CLONE_INTO_CGROUP properly
  cgroup/cpuset: Skip spread flags update on v2
  nvme-pci: add NVME_QUIRK_BOGUS_NID for T-FORCE Z330 SSD
  nvme-pci: mark Lexar NM760 as IGNORE_DEV_SUBNQN
  cifs: fix negotiate context parsing
  i2c: ocores: generate stop condition after timeout in polling mode
  x86/rtc: Remove __init for runtime functions
  sched/fair: Fix imbalance overflow
  powerpc/papr_scm: Update the NUMA distance table for the target node
  i2c: mchp-pci1xxxx: Update Timing registers
  ubi: Fix deadlock caused by recursively holding work_sem
  ubi: Fix failure attaching when vid_hdr offset equals to (sub)page size
  mptcp: stricter state check in mptcp_worker
  mptcp: use mptcp_schedule_work instead of open-coding it
  drm/amd/pm: correct SMU13.0.7 max shader clock reporting
  drm/amd/pm: correct SMU13.0.7 pstate profiling clock settings
  cgroup/cpuset: Wake up cpuset_attach_wq tasks in cpuset_cancel_attach()
  cgroup/cpuset: Fix partition root's cpuset.cpus update bug
  cgroup: fix display of forceidle time at root
  x86/PCI: Add quirk for AMD XHCI controller that loses MSI-X state in D3hot
  scsi: ses: Handle enclosure with just a primary component gracefully
  net: phy: nxp-c45-tja11xx: fix unsigned long multiplication overflow
  net: phy: nxp-c45-tja11xx: add remove callback
  net: sfp: initialize sfp->i2c_block_size at sfp allocation
  HID: intel-ish-hid: Fix kernel panic during warm reset
  riscv: add icache flush for nommu sigreturn trampoline
  ksmbd: avoid out of bounds access in decode_preauth_ctxt()
  maple_tree: fix write memory barrier of nodes once dead for RCU mode
  tracing: Have tracing_snapshot_instance_cond() write errors to the appropriate instance
  tracing: Add trace_array_puts() to write into instance
  KVM: SVM: Flush Hyper-V TLB when required
  x86/hyperv: KVM: Rename "hv_enlightenments" to "hv_vmcb_enlightenments"
  KVM: SVM: Add a proper field for Hyper-V VMCB enlightenments
  KVM: selftests: Move "struct hv_enlightenments" to x86_64/svm.h
  x86/hyperv: Move VMCB enlightenment definitions to hyperv-tlfs.h
  ACPI: resource: Add Medion S17413 to IRQ override quirk
  drm/amdgpu/gfx: set cg flags to enter/exit safe mode
  drm/amdgpu: Force signal hw_fences that are embedded in non-sched jobs
  drm/amdgpu: add mes resume when do gfx post soft reset
  wifi: iwlwifi: mvm: protect TXQ list manipulation
  wifi: iwlwifi: mvm: fix mvmtxq->stopped handling
  nvme: send Identify with CNS 06h only to I/O controllers
  asymmetric_keys: log on fatal failures in PE/pkcs7
  verify_pefile: relax wrapper length check
  hwmon: (xgene) Fix ioremap and memremap leak
  hwmon: (peci/cputemp) Fix miscalculated DTS for SKX
  drm: panel-orientation-quirks: Add quirk for Lenovo Yoga Book X90F
  ACPI: video: Add backlight=native DMI quirk for Acer Aspire 3830TG
  block: ublk_drv: mark device as LIVE before adding disk
  efi: sysfb_efi: Add quirk for Lenovo Yoga Book X91F/L
  i2c: hisi: Avoid redundant interrupts
  i2c: imx-lpi2c: clean rx/tx buffers upon new message
  wifi: mwifiex: mark OF related data as maybe unused
  selftests/bpf: Fix progs/find_vma_fail1.c build error.
  power: supply: axp288_fuel_gauge: Added check for negative values
  power: supply: cros_usbpd: reclassify "default case!" as debug
  power: supply: rk817: Fix unsigned comparison with less than zero
  ARM: dts: qcom: apq8026-lg-lenok: add missing reserved memory
  ARM: 9290/1: uaccess: Fix KASAN false-positives
  libbpf: Fix single-line struct definition output in btf_dump
  skbuff: Fix a race between coalescing and releasing SKBs
  net: macb: fix a memory corruption in extended buffer descriptor mode
  udp6: fix potential access to stale information
  selftests: openvswitch: adjust datapath NL message declaration
  RDMA/core: Fix GID entry ref leak when create_ah fails
  sctp: fix a potential overflow in sctp_ifwdtsn_skip
  net: qrtr: Fix an uninit variable access bug in qrtr_tx_resume()
  cgroup,freezer: hold cpu_hotplug_lock before freezer_mutex
  net: wwan: iosm: Fix error handling path in ipc_pcie_probe()
  qlcnic: check pci_reset_function result
  drm/armada: Fix a potential double free in an error handling path
  Bluetooth: Set ISO Data Path on broadcast sink
  Bluetooth: SCO: Fix possible circular locking dependency sco_sock_getsockopt
  Bluetooth: Fix printing errors if LE Connection times out
  Bluetooth: hci_conn: Fix not cleaning up on LE Connection failure
  net: openvswitch: fix race on port output
  iavf: remove active_cvlans and active_svlans bitmaps
  iavf: refactor VLAN filter states
  bonding: fix ns validation on backup slaves
  tcp: restrict net.ipv4.tcp_app_win
  niu: Fix missing unwind goto in niu_alloc_channels()
  KVM: arm64: Advertise ID_AA64PFR0_EL1.CSV2/3 to protected VMs
  KVM: arm64: Initialise hypervisor copies of host symbols unconditionally
  bpf, arm64: Fixed a BTI error on returning to patched function
  9p/xen : Fix use after free bug in xen_9pfs_front_remove due to race condition
  dmaengine: apple-admac: Fix 'current_tx' not getting freed
  dmaengine: apple-admac: Set src_addr_widths capability
  dmaengine: apple-admac: Handle 'global' interrupt flags
  LoongArch, bpf: Fix jit to skip speculation barrier opcode
  bpf: tcp: Use sock_gen_put instead of sock_put in bpf_iter_tcp
  RDMA/cma: Allow UD qp_type to join multicast only
  clk: rs9: Fix suspend/resume
  RDMA/erdma: Defer probing if netdevice can not be found
  RDMA/erdma: Inline mtt entries into WQE if supported
  RDMA/erdma: Update default EQ depth to 4096 and max_send_wr to 8192
  IB/mlx5: Add support for 400G_8X lane speed
  RDMA/irdma: Add ipv4 check to irdma_find_listener()
  RDMA/irdma: Increase iWARP CM default rexmit count
  RDMA/irdma: Fix memory leak of PBLE objects
  RDMA/irdma: Do not generate SW completions for NOPs
  clk: sprd: set max_register according to mapping range
  drm/i915/dsi: fix DSS CTL register offsets for TGL+
  fbcon: set_con2fb_map needs to set con2fb_map!
  fbcon: Fix error paths in set_con2fb_map
  KVM: arm64: PMU: Restore the guest's EL0 event counting after migration
  mtd: rawnand: stm32_fmc2: use timings.mode instead of checking tRC_min
  mtd: rawnand: stm32_fmc2: remove unsupported EDO mode
  mtd: rawnand: meson: fix bitmask for length in command word
  mtdblock: tolerate corrected bit-flips
  fbmem: Reject FB_ACTIVATE_KD_TEXT from userspace
  btrfs: fix fast csum implementation detection
  btrfs: restore the thread_pool= behavior in remount for the end I/O workqueues
  Bluetooth: hci_conn: Fix possible UAF
  Bluetooth: Free potentially unfreed SCO connection
  bluetooth: btbcm: Fix logic error in forming the board name.
  Bluetooth: Fix race condition in hidp_session_thread
  Bluetooth: L2CAP: Fix use-after-free in l2cap_disconnect_{req,rsp}
  ALSA: hda/hdmi: disable KAE for Intel DG2
  ALSA: hda/sigmatel: fix S/PDIF out on Intel D*45* motherboards
  ALSA: emu10k1: don't create old pass-through playback device on Audigy
  ALSA: firewire-tascam: add missing unwind goto in snd_tscm_stream_start_duplex()
  ALSA: hda/realtek: Add quirks for Lenovo Z13/Z16 Gen2
  ALSA: hda: patch_realtek: add quirk for Asus N7601ZM
  ALSA: i2c/cs8427: fix iec958 mixer control deactivation
  ALSA: hda/sigmatel: add pin overrides for Intel DP45SG motherboard
  ALSA: emu10k1: fix capture interrupt handler unlinking
  drm/amd/display: Pass the right info to drm_dp_remove_payload
  Revert "pinctrl: amd: Disable and mask interrupts on resume"
  f2fs: remove unnessary comment in __may_age_extent_tree
  f2fs: allocate node blocks for atomic write block replacement
  f2fs: use cow inode data when updating atomic write
  f2fs: remove power-of-two limitation of zoned device
  f2fs: allocate trace path buffer from names_cache
  ANDROID: ABI: Update the tcpci symbols for pixel
  ANDROID: ABI: Add drm_atomic_bridge_chain_disable and drm_atomic_bridge_chain_enable in QCOM symbol list
  ANDROID: firmware/psci: Remove PSCI_1_1_FN64_MEM_PROTECT definition
  ANDROID: Add initial symbol list for Exynos SoC
  f2fs: add has_enough_free_secs()
  f2fs: relax sanity check if checkpoint is corrupted
  f2fs: refactor f2fs_gc to call checkpoint in urgent condition
  f2fs: remove folio_detach_private() in .invalidate_folio and .release_folio
  f2fs: remove bulk remove_proc_entry() and unnecessary kobject_del()
  f2fs: support iopoll method
  Linux 6.1.24
  bpftool: Print newline before '}' for struct with padding only fields
  mm: enable maple tree RCU mode by default.
  maple_tree: add RCU lock checking to rcu callback functions
  maple_tree: add smp_rmb() to dead node detection
  maple_tree: remove extra smp_wmb() from mas_dead_leaves()
  maple_tree: fix freeing of nodes in rcu mode
  maple_tree: detect dead nodes in mas_start()
  maple_tree: refine ma_state init from mas_start()
  maple_tree: be more cautious about dead nodes
  maple_tree: fix mas_prev() and mas_find() state handling
  maple_tree: fix handle of invalidated state in mas_wr_store_setup()
  maple_tree: reduce user error potential
  maple_tree: fix potential rcu issue
  maple_tree: remove GFP_ZERO from kmem_cache_alloc() and kmem_cache_alloc_bulk()
  mm: take a page reference when removing device exclusive entries
  drm/i915: Split icl_color_commit_noarm() from skl_color_commit_noarm()
  drm/i915: Use _MMIO_PIPE() for SKL_BOTTOM_COLOR
  drm/bridge: lt9611: Fix PLL being unable to lock
  drm/i915/dp_mst: Fix payload removal during output disabling
  drm/display/dp_mst: Handle old/new payload states in drm_dp_remove_payload()
  drm/amdgpu: skip psp suspend for IMU enabled ASICs mode2 reset
  drm/amdgpu: for S0ix, skip SDMA 5.x+ suspend/resume
  drm/amd/display: Clear MST topology if it fails to resume
  blk-throttle: Fix that bps of child could exceed bps limited in parent
  maple_tree: fix a potential concurrency bug in RCU mode
  maple_tree: fix get wrong data_end in mtree_lookup_walk()
  mm/hugetlb: fix uffd wr-protection for CoW optimization path
  mm/swap: fix swap_info_struct race between swapoff and get_swap_pages()
  ring-buffer: Fix race while reader and writer are on the same page
  drm/i915: fix race condition UAF in i915_perf_add_config_ioctl
  drm/i915: Fix context runtime accounting
  drm/nouveau/disp: Support more modes by checking with lower bpc
  drm/panfrost: Fix the panfrost_mmu_map_fault_addr() error path
  ublk: read any SQE values upfront
  wifi: mt76: ignore key disable commands
  mm: vmalloc: avoid warn_alloc noise caused by fatal signal
  zsmalloc: document freeable stats
  tracing/synthetic: Make lastcmd_mutex static
  ASoC: hdac_hdmi: use set_stream() instead of set_tdm_slots()
  tracing: Free error logs of tracing instances
  tracing/osnoise: Fix notify new tracing_max_latency
  tracing/timerlat: Notify new max thread latency
  tracing/synthetic: Fix races on freeing last_cmd
  net: stmmac: Add queue reset into stmmac_xdp_open() function
  ACPI: video: Add acpi_backlight=video quirk for Lenovo ThinkPad W530
  ACPI: video: Add acpi_backlight=video quirk for Apple iMac14,1 and iMac14,2
  ACPI: video: Make acpi_backlight=video work independent from GPU driver
  ACPI: video: Add auto_detect arg to __acpi_video_get_backlight_type()
  can: isotp: isotp_recvmsg(): use sock_recv_cmsgs() to get SOCK_RXQ_OVFL infos
  can: isotp: isotp_ops: fix poll() to not report false EPOLLOUT events
  can: isotp: fix race between isotp_sendsmg() and isotp_release()
  can: j1939: j1939_tp_tx_dat_new(): fix out-of-bounds memory access
  fs: drop peer group ids under namespace lock
  ftrace: Fix issue that 'direct->addr' not restored in modify_ftrace_direct()
  ftrace: Mark get_lock_parent_ip() __always_inline
  perf/core: Fix the same task check in perf_event_set_output
  block: don't set GD_NEED_PART_SCAN if scan partition failed
  block: ublk: make sure that block size is set correctly
  cifs: sanitize paths in cifs_update_super_prepath.
  nvme: fix discard support without oncs
  scsi: iscsi_tcp: Check that sock is valid before iscsi_set_param()
  scsi: qla2xxx: Fix memory leak in qla2x00_probe_one()
  io_uring: fix memory leak when removing provided buffers
  io_uring: fix return value when removing provided buffers
  iio: adc: ad7791: fix IRQ flags
  blk-mq: directly poll requests
  counter: 104-quad-8: Fix Synapse action reported for Index signals
  counter: 104-quad-8: Fix race condition between FLAG and CNTR reads
  coresight-etm4: Fix for() loop drvdata->nr_addr_cmp range bug
  coresight: etm4x: Do not access TRCIDR1 for identification
  mm: kfence: fix handling discontiguous page
  mm: kfence: fix PG_slab and memcg_data clearing
  KVM: nVMX: Do not report error code when synthesizing VM-Exit from Real Mode
  KVM: x86: Clear "has_error_code", not "error_code", for RM exception injection
  x86/ACPI/boot: Use FADT version to check support for online capable
  x86/acpi/boot: Correct acpi_is_processor_usable() check
  ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook
  ALSA: hda/realtek: Add quirk for Clevo X370SNW
  ksmbd: fix slab-out-of-bounds in init_smb2_rsp_hdr
  ksmbd: do not call kvmalloc() with __GFP_NORETRY | __GFP_NO_WARN
  serial: 8250: Prevent starting up DMA Rx on THRI interrupt
  dt-bindings: serial: renesas,scif: Fix 4th IRQ for 4-IRQ SCIFs
  nilfs2: fix sysfs interface lifetime
  nilfs2: fix potential UAF of struct nilfs_sc_info in nilfs_segctor_thread()
  tty: serial: fsl_lpuart: avoid checking for transfer complete when UARTCTRL_SBK is asserted in lpuart32_tx_empty
  tty: serial: sh-sci: Fix Rx on RZ/G2L SCI
  tty: serial: sh-sci: Fix transmit end interrupt handler
  iio: light: cm32181: Unregister second I2C client if present
  iio: buffer: make sure O_NONBLOCK is respected
  iio: buffer: correctly return bytes written in output buffers
  iio: dac: cio-dac: Fix max DAC write value check for 12-bit
  iio: adc: ti-ads7950: Set `can_sleep` flag for GPIO chip
  iio: adc: qcom-spmi-adc5: Fix the channel name
  iio: adis16480: select CONFIG_CRC32
  drivers: iio: adc: ltc2497: fix LSB shift
  USB: serial: option: add Quectel RM500U-CN modem
  USB: serial: option: add Telit FE990 compositions
  usb: typec: altmodes/displayport: Fix configure initial pin assignment
  USB: serial: cp210x: add Silicon Labs IFS-USB-DATACABLE IDs
  usb: dwc3: pci: add support for the Intel Meteor Lake-S
  usb: cdnsp: Fixes error: uninitialized symbol 'len'
  xhci: also avoid the XHCI_ZERO_64B_REGS quirk with a passthrough iommu
  xhci: Free the command allocated for setting LPM if we return early
  usb: xhci: tegra: fix sleep in atomic call
  PCI/DOE: Fix memory leak with CONFIG_DEBUG_OBJECTS=y
  PCI/DOE: Silence WARN splat with CONFIG_DEBUG_OBJECTS=y
  cxl/pci: Handle excessive CDAT length
  cxl/pci: Handle truncated CDAT entries
  cxl/pci: Handle truncated CDAT header
  cxl/pci: Fix CDAT retrieval on big endian
  net: stmmac: check fwnode for phy device before scanning for phy
  arm64: compat: Work around uninitialized variable warning
  gve: Secure enough bytes in the first TX desc for all TCP pkts
  netlink: annotate lockless accesses to nlk->max_recvmsg_len
  ethtool: reset #lanes when lanes is omitted
  ping: Fix potentail NULL deref for /proc/net/icmp.
  raw: Fix NULL deref in raw_get_next().
  raw: use net_hash_mix() in hash function
  ice: Reset FDIR counter in FDIR init stage
  ice: fix wrong fallback logic for FDIR
  NFSD: callback request does not use correct credential for AUTH_SYS
  sunrpc: only free unix grouplist after RCU settles
  net: stmmac: fix up RX flow hash indirection table when setting channels
  net: ethernet: ti: am65-cpsw: Fix mdio cleanup in probe
  gpio: davinci: Add irq chip flag to skip set wake
  gpio: davinci: Do not clear the bank intr enable bit in save_context
  platform/x86: think-lmi: Clean up display of current_value on Thinkstation
  platform/x86: think-lmi: Fix memory leaks when parsing ThinkStation WMI strings
  platform/x86: think-lmi: Fix memory leak when showing current settings
  ipv6: Fix an uninit variable access bug in __ip6_make_skb()
  net: qrtr: Do not do DEL_SERVER broadcast after DEL_CLIENT
  sctp: check send stream number after wait_for_sndbuf
  net: dsa: mv88e6xxx: Reset mv88e6393x force WD event bit
  net: don't let netpoll invoke NAPI if in xmit context
  ALSA: hda/hdmi: Preserve the previous PCM device upon re-enablement
  icmp: guard against too small mtu
  nfsd: call op_release, even when op_func returns an error
  NFSD: Avoid calling OPDESC() with ops->opnum == OP_ILLEGAL
  wifi: brcmfmac: Fix SDIO suspend/resume regression
  l2tp: generate correct module alias strings
  net: stmmac: remove redundant fixup to support fixed-link mode
  net: stmmac: check if MAC needs to attach to a PHY
  net: phylink: add phylink_expects_phy() method
  net: qrtr: Fix a refcount bug in qrtr_recvmsg()
  wifi: mac80211: fix invalid drv_sta_pre_rcu_remove calls for non-uploaded sta
  wifi: mac80211: fix the size calculation of ieee80211_ie_len_eht_cap()
  KVM: s390: pv: fix external interruption loop not always detected
  ASoC: codecs: lpass: fix the order or clks turn off during suspend
  pwm: meson: Explicitly set .polarity in .get_state()
  pwm: sprd: Explicitly set .polarity in .get_state()
  pwm: iqs620a: Explicitly set .polarity in .get_state()
  pwm: cros-ec: Explicitly set .polarity in .get_state()
  pwm: hibvt: Explicitly set .polarity in .get_state()
  pwm: Make .get_state() callback return an error code
  ASoC: SOF: ipc4: Ensure DSP is in D0I0 during sof_ipc4_set_get_data()
  Drivers: vmbus: Check for channel allocation before looking up relids
  gpio: GPIO_REGMAP: select REGMAP instead of depending on it
  KVM: arm64: PMU: Don't save PMCR_EL0.{C,P} for the vCPU
  KVM: arm64: PMU: Sanitise PMCR_EL0.LP on first vcpu run
  KVM: arm64: PMU: Distinguish between 64bit counter and 64bit overflow
  KVM: arm64: PMU: Align chained counter implementation with architecture pseudocode
  dm: fix improper splitting for abnormal bios
  dm: change "unsigned" to "unsigned int"
  dm integrity: Remove bi_sector that's only used by commented debug code
  dm cache: Add some documentation to dm-cache-background-tracker.h
  f2fs: remove batched_trim_sections node description
  f2fs: fix to check return value of inc_valid_block_count()
  f2fs: fix to check return value of f2fs_do_truncate_blocks()
  f2fs: fix passing relative address when discard zones
  f2fs: fix potential corruption when moving a directory
  f2fs: add radix_tree_preload_end in error case
  f2fs: fix to recover quota data correctly
  f2fs: fix to check readonly condition correctly
  docs: f2fs: Correct instruction to disable checkpoint
  f2fs: fix to keep consistent i_gc_rwsem lock order
  f2fs: fix to drop all dirty pages during umount() if cp_error is set
  f2fs: fix to avoid use-after-free for cached IPU bio
  f2fs: remove unneeded in-memory i_crtime copy
  f2fs: use f2fs_hw_is_readonly() instead of bdev_read_only()
  f2fs: use common implementation of file type
  f2fs: merge lz4hc_compress_pages() to lz4_compress_pages()
  f2fs: convert to use sysfs_emit
  f2fs: set default compress option only when sb_has_compression
  f2fs: Fix system crash due to lack of free space in LFS
  f2fs: remove struct victim_selection default_v_ops
  f2fs: fix null pointer panic in tracepoint in __replace_atomic_write_block
  f2fs: fix iostat lock protection
  f2fs: fix align check for npo2
  f2fs: add compression feature check for all compress mount opt
  f2fs: convert is_extension_exist() to return bool type
  f2fs: fix scheduling while atomic in decompression path
  f2fs: preserve direct write semantics when buffering is forced
  f2fs: compress: fix to call f2fs_wait_on_page_writeback() in f2fs_write_raw_pages()
  f2fs: remove else in f2fs_write_cache_pages()
  f2fs: apply zone capacity to all zone type
  f2fs: fix to handle filemap_fdatawrite() error in f2fs_ioc_decompress_file/f2fs_ioc_compress_file
  f2fs: convert to MAX_SBI_FLAG instead of 32 in stat_show()
  f2fs: Fix discard bug on zoned block devices with 2MiB zone size
  f2fs: remove entire rb_entry sharing
  f2fs: factor out discard_cmd usage from general rb_tree use
  f2fs: factor out victim_entry usage from general rb_tree use
  f2fs: fix uninitialized skipped_gc_rwsem
  f2fs: handle dqget error in f2fs_transfer_project_quota()
  f2fs: convert to use bitmap API
  f2fs: export compress_percent and compress_watermark entries
  f2fs: make f2fs_sync_inode_meta() static
  f2fs: Fix f2fs_truncate_partial_nodes ftrace event

 Conflicts:
	Documentation/devicetree/bindings
	Documentation/devicetree/bindings/serial/renesas,scif.yaml
	android/abi_gki_aarch64.stg
	net/qrtr/af_qrtr.c
	net/qrtr/ns.c

Change-Id: I2b2b2f1569aa65700b2382c7ea4ea5d84c8f573c
Upstream-Build: ks_qcom-android14-6.1-keystone-qcom-release@10066587 UKQ2.230504.001
Signed-off-by: jianzhou <quic_jianzhou@quicinc.com>
2023-05-15 08:16:35 -07:00
qctecmdr
238538f846 Merge "sched/walt: nr_big calculation" 2023-05-12 15:36:21 -07:00
Stephen Dickey
f1484dd63a sched/walt: Count misfits for partially halted cpus
The current code will ignore misfits if it is on a
partially halted cpu. A partially halted cpu may
be helping with small tasks, but new work load which
could ultimately be a big task can end up on those cpus.
When that happens the task can stay there indefinitely,
even as the task reaches fmax and becomes misfit.

If cpus that are monitoring cpus for misfits can count
those misfits even on partially halted cpus, they can
unhalt early, and pull the misfit load on the partially
halted cpu.

Change compute_cluster_nr_misfit such that partially halted
cpus can be monitored and action on other clusters can be
taken.

Change-Id: Iab41fa60a66a90eae9035c0ee6ded0a657442937
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2023-05-12 10:51:11 -07:00
Stephen Dickey
efb8cdbc86 sched/walt: nr_big calculation
With the introduction of partial halt, statistics for partially
halted cpus were not counted in the core control decision making
process. Part of this, number of big tasks, impacts big task
rotation. As a result, big task rotation may turn on a little
later than expected, if the cpus are still partially halted
when the calculation is happening, and those cpus are running
tasks.

Correct the big task rotation case by ensuring the one routine
that is used for only this case, cluster_real_big_tasks(),
includes task running on partially halted cpus.

Change-Id: I922ff85949a40e6701cad02676fa300135db5089
Signed-off-by: Stephen Dickey <quic_dickey@quicinc.com>
2023-05-11 12:47:30 -07:00
lijianzhong
8979a0b16a ANDROID: sched: Add vendor hooks for cpu affinity.
Add vendor hooks for CPU affinity to support OEM's tuning policy, where
we can block or unblock a certain type of application's CPU affinity.

Bug: 183674818

Signed-off-by: lijianzhong <lijianzhong@xiaomi.com>
Change-Id: I3402abec4d9faa08f564409bfb8db8d7902f3aa2
(cherry picked from commit 7cf9646c245fdc63e2a3c9fad457c11fabdd2dfc)
2023-05-11 13:10:00 +00:00