The purpose is to eliminate direct references to add_mm_counter().
add_mm_counter() makes use of mm_trace_rss_stat().
While, Android 14.0 GKI prohibits driver modules from referencing mm_trace_rss_stat().
The implementation of kbasep_add_mm_counter() here is derived from bifrost DDK g21.
Change-Id: I619e4ecb164e87dcab8f101bae179f316d57360c
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Merge made by the 'ours' strategy.
* commit '5ffae8fffc291148e0b2472aaaa8ef7eb4959cba': (29 commits)
FROMGIT: PM / devfreq: Synchronize devfreq_monitor_[start/stop]
UPSTREAM: dm verity: don't perform FEC for failed readahead IO
UPSTREAM: netfilter: nft_set_pipapo: skip inactive elements during set walk
UPSTREAM: ipv4: igmp: fix refcnt uaf issue when receiving igmp query packet
UPSTREAM: x86/sev: Check for user-space IOIO pointing to kernel space
UPSTREAM: x86/sev: Check IOBM for IOIO exceptions from user-space
UPSTREAM: nvmet-tcp: Fix a possible UAF in queue intialization setup
FROMLIST: binder: fix memory leaks of spam and pending work
ANDROID: Snapshot Mainline's version of checkpatch.pl
ANDROID: scsi: ufs: vendor check response and recovery addition
ANDROID: scsi: ufs: add perf heuristic design
ANDROID: ABI: Update symbol list for Mediatek
ANDROID: Add vendor hook for ufs perf heuristic and error recovery
UPSTREAM: io_uring/fdinfo: lock SQ thread while retrieving thread cpu/pid
UPSTREAM: ufs: core: wlun send SSU timeout recovery
ANDROID: GKI: db845c: Update symbols list and ABI on rpmsg_register_device_override
ANDROID: fix up rpmsg_device ABI break
ANDROID: fix up platform_device ABI break
UPSTREAM: rpmsg: Fix possible refcount leak in rpmsg_register_device_override()
UPSTREAM: rpmsg: glink: Release driver_override
...
Change-Id: I6a5428ef1851cf6ecd279791f92aed786ee96b38
* commit '3d9e7100637001159451fc7421209106987fe1d0':
mtd: spinand: Winbond: Support new device W25N01JWZEIG
media: i2c: sc4336 adapt sleep_wakeup
media: rockchip: vicap fixes the probability of stream data loss after tool nodes capture raw data
Change-Id: I9541ed8bacbd39618a7395ed5240b344adceabf0
The old method to description color space and range is borrowing V4L2
defined, It's difficult to understand, so we change to DRM defined
property.
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I7eacc60dfda912b9becae1ce026cdb82eebef7f8
https://source.android.com/docs/security/bulletin/2024-01-01
* tag 'ASB-2024-01-05_12-5.10': (29 commits)
FROMGIT: PM / devfreq: Synchronize devfreq_monitor_[start/stop]
UPSTREAM: dm verity: don't perform FEC for failed readahead IO
UPSTREAM: netfilter: nft_set_pipapo: skip inactive elements during set walk
UPSTREAM: ipv4: igmp: fix refcnt uaf issue when receiving igmp query packet
UPSTREAM: x86/sev: Check for user-space IOIO pointing to kernel space
UPSTREAM: x86/sev: Check IOBM for IOIO exceptions from user-space
UPSTREAM: nvmet-tcp: Fix a possible UAF in queue intialization setup
FROMLIST: binder: fix memory leaks of spam and pending work
ANDROID: Snapshot Mainline's version of checkpatch.pl
ANDROID: scsi: ufs: vendor check response and recovery addition
ANDROID: scsi: ufs: add perf heuristic design
ANDROID: ABI: Update symbol list for Mediatek
ANDROID: Add vendor hook for ufs perf heuristic and error recovery
UPSTREAM: io_uring/fdinfo: lock SQ thread while retrieving thread cpu/pid
UPSTREAM: ufs: core: wlun send SSU timeout recovery
ANDROID: GKI: db845c: Update symbols list and ABI on rpmsg_register_device_override
ANDROID: fix up rpmsg_device ABI break
ANDROID: fix up platform_device ABI break
UPSTREAM: rpmsg: Fix possible refcount leak in rpmsg_register_device_override()
UPSTREAM: rpmsg: glink: Release driver_override
...
Change-Id: I758558dcd135c3ed787c59b0a62a909c66016d80
fix commit ea5b7f59a7 ("media: rockchip: isp: frame start to check and config next buf")
Change-Id: I166a5030ea4e9b666f7a0ceb6f2c4379e077bb36
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
* commit 'ef84fb2dc967e18e44e13c42e2ea3e85d8d7f2a0':
UPSTREAM: sched/fair: Use all little CPUs for CPU-bound workloads
drm/rockchip: vop2: remove ARGB2101010 support from VOP2
drm/rockchip: vop2: hdisplay must roundup 2/4 when calc pre_scan_dly
media: rockchip: vicap get_channel_info add param of field to cover value from get_fmt
media: i2c: rk628: add hdmirxphy debugfs
media: rockchip: vicap increase wake up cnt for rv1126/rk3568 monitor mode
media: i2c: maxim: remote: record the status of the serializer
misc: rk628: Fix `warning: `rk628_pin_iomux_groups` defined but not used`
misc: rk628: Fix the NULL in .suspend/.resume helper when working on hdmi tx mode.
arm64: dts: rockchip: add pd_perihp support for rk3399 usb2
Change-Id: I74e34fdd098bb791609848cb634c204bc2b501cb
Running N CPU-bound tasks on an N CPUs platform:
- with asymmetric CPU capacity
- not being a DynamIq system (i.e. having a PKG level sched domain
without the SD_SHARE_PKG_RESOURCES flag set)
.. might result in a task placement where two tasks run on a big CPU
and none on a little CPU. This placement could be more optimal by
using all CPUs.
Testing platform:
Juno-r2:
- 2 big CPUs (1-2), maximum capacity of 1024
- 4 little CPUs (0,3-5), maximum capacity of 383
Testing workload ([1]):
Spawn 6 CPU-bound tasks. During the first 100ms (step 1), each tasks
is affine to a CPU, except for:
- one little CPU which is left idle.
- one big CPU which has 2 tasks affine.
After the 100ms (step 2), remove the cpumask affinity.
Behavior before the patch:
During step 2, the load balancer running from the idle CPU tags sched
domains as:
- little CPUs: 'group_has_spare'. Cf. group_has_capacity() and
group_is_overloaded(), 3 CPU-bound tasks run on a 4 CPUs
sched-domain, and the idle CPU provides enough spare capacity
regarding the imbalance_pct
- big CPUs: 'group_overloaded'. Indeed, 3 tasks run on a 2 CPUs
sched-domain, so the following path is used:
group_is_overloaded()
\-if (sgs->sum_nr_running <= sgs->group_weight) return true;
The following path which would change the migration type to
'migrate_task' is not taken:
calculate_imbalance()
\-if (env->idle != CPU_NOT_IDLE && env->imbalance == 0)
as the local group has some spare capacity, so the imbalance
is not 0.
The migration type requested is 'migrate_util' and the busiest
runqueue is the big CPU's runqueue having 2 tasks (each having a
utilization of 512). The idle little CPU cannot pull one of these
task as its capacity is too small for the task. The following path
is used:
detach_tasks()
\-case migrate_util:
\-if (util > env->imbalance) goto next;
After the patch:
As the number of failed balancing attempts grows (with
'nr_balance_failed'), progressively make it easier to migrate
a big task to the idling little CPU. A similar mechanism is
used for the 'migrate_load' migration type.
Improvement:
Running the testing workload [1] with the step 2 representing
a ~10s load for a big CPU:
Before patch: ~19.3s
After patch: ~18s (-6.7%)
Similar issue reported at:
https://lore.kernel.org/lkml/20230716014125.139577-1-qyousef@layalina.io/
Suggested-by: Vincent Guittot <vincent.guittot@linaro.org>
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Acked-by: Qais Yousef <qyousef@layalina.io>
Link: https://lore.kernel.org/r/20231206090043.634697-1-pierre.gondois@arm.com
(cherry picked from commit 3af7524b14198f5159a86692d57a9f28ec9375ce)
Change-Id: Ibfd3ed5fc36ed067d1223603aac336dae11b4ce0
Signed-off-by: Liang Chen <cl@rock-chips.com>
At RK3568 and RK3588 platform, cluster only can support AFBC XRGB2101010 and
not support ARGB2101010.
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: If0695793ea102fdd10be2bcffd6bd428149da646
When use GKI, if the driver is Buildin and there is a reference
clock, the driver start to Probe after clk's ko load, but this clk
will failed if the parent clock is gpll and gpll has not been
initialized in Pmucru.
GKI err log:
dw-apb-uart ff158000.serial: error -EINVAL: clock rate not defined
dw-apb-uart: probe of ff158000.serial failed with error -22
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Ib587ac3594fef94133f12e3f39d42995131067f5
1. update vop afbc format define according to vop2;
2. add afbc modifiers format support for px30 win1.
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I54a878a01188466fa94b30468d163c6a31385809
splice mode: hdisplay must roundup as 4 pixel,
no splice mode: hdisplay must roundup as 2 pixel.
otherwise will lead to POST_BUF_EMPTY and display black screen.
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I0971a052751c411acef8ed2fcfd9f142caa37598