PD#SWPL-179193
Problem:
pcie white list not work.
Solution:
init the specified memory area.
Verify:
local.
Change-Id: Id01c40c7f3403246302fd968611424d9b07d8dd1
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-180393
Problem:
swiotlb pool size too large.
Solution:
reduce swiotlb pool size.
Verify:
s6.
Change-Id: Ib32bbbbb0dfc978984aed353b6509384f19dde08
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-179075
Problem:
dmc monitor not filter cma allocation function by default.
Solution:
set the special migrate flags for dmc monitor.
Verify:
local.
Change-Id: Ie55a22685edc386c1e2af53a31269669e852d089
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-170794
Problem:
not found the init_mm parameter.
Solution:
get init_mm via kprobe.
Verify:
t7.
Change-Id: Ibb8da3176be2695ffc6a02bbd322c2787eaaa627
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-173433
Problem:
add cma debug information.
Solution:
print more info when cma alloc too long.
Verify:
local.
Change-Id: Ib5ca53a017b05e9327e87ebdf5267c5d2a63e9e2
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-161628
Problem:
arm64 unable get _text and module_base parameters via find symbal.
Solution:
use long type to store pagetrace information.
Verify:
sc2.
Change-Id: Id52bed43bbeed50a6d8ef0e32a54c5d9d9eab331
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-170794
Problem:
not found the init_mm parameter.
Solution:
get init_mm parameter via active_mm.
Verify:
t7.
Change-Id: I823eeb93be19d06ced0afb22b3e85f1df1cc4a21
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-169062
Problem:
enable kasan the aml_cma.ko can not work.
Solution:
no longer getting the total cma size.
Verify:
t5w.
Change-Id: Ifeae569341fe4376174a4f9b67646844858e6885
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-165424
Problem:
aml smmu not work after suspend and resume.
Solution:
reinit the memory after resume.
Verify:
s7.
Change-Id: I1dc2da25da6a8837a701ec3a2b2b7e3b2f8ebe70
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-166736
Problem:
aml smmu init failed.
Solution:
get max_pfn from node instead of find symbol.
Verify:
s5.
Change-Id: I1af0dbe7006ee590a82750491d9ab6a82835bf14
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-162740
Problem:
cma alloc too long in cts.
Solution:
CMA used up when startup and cause cma alloc slow
delay enable CMA until swap free ratio less than 70%
Verify:
t5d
Change-Id: Idac4be36533ed1ae9995ba84435ea7f44833dd61
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-156726
Problem:
support clang build for 5.15
Solution:
fix build error
Verify:
local
Change-Id: I8e5fe60e7cee109a3606b0f1aa55fbb3404999fc
Signed-off-by: Dezhen Wang <dezhen.wang@amlogic.com>
PD#SWPL-160189
Problem:
Compile fail when opening production mode
Solution:
Add macro definition control
to solve compatibility issues after enabling production mode
Verify:
droid14-sh
Signed-off-by: zhenyu.gao <zhenyu.gao@amlogic.com>
Change-Id: I7d0229010fefed4e44246b160f05aa3d886b5aad
PD#SWPL-159825
Problem:
not found function in pagetrace
Solution:
add kasan/kasan.h to pagetrace file.
Verify:
local
Change-Id: I47d208acd46c494a32ac19ef2331ef3935004035
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#GH-17
Problem:
If a task be killed during CMA allocation, then it will abort
cma allocation in function compact_unlock_should_abort. But in
function aml_cma_alloc_range, it will return -EBUSY. Which cause
cma allocation loop won't exit and run again and again.
Solution:
return -EINT for this case to exit cma allocation loop.
Verify:
newman platform
Change-Id: I648b1e4e119c5af7637cbd288c7d8684a5c9d60f
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-147355
Problem:
due to lockup when dmc irq ratio is too high
Solution:
use dmc irq thread when irq ratio is too high
Verify:
local
Change-Id: Ie13d584f81563e3c2e111fb5d6033f0e2aa0d337
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
PD#SWPL-149209
Problem:
si_swapinfo() can't used in timer and may caused softlockup
Solution:
use workqueue instead of timer
Verify:
sc2
Change-Id: Ied213f981cded785b394d19331c48c1833ff33cf
Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
PD#SWPL-149407
Problem:
const variables cannot be assigned a value after definition.
Solution:
initialize kprob symbols at definition time.
Verify:
t7c.
Change-Id: I9741da633db166750e51f0580f2bc6c02bb821e7
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-146738
Problem:
pagetrace too late in suspend phase.
Solution:
set pagetrace y default no gki20.
Verify:
local.
Change-Id: I258abab43c336e3de2a4190dce365705d2860f34
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-145324
Problem:
kernel NULL pointer panic when cpu off line
Solution:
The root cause is that context for zram is configured as 2 part:
one for direct reclaim and one for kswapd. They are not for per-cpu
but when a core is off, zram will free per-cpu context so caused panic
on other cpus. So we should remove free code for crypto hooks.
Verify:
T5M
Change-Id: I2e4c9362bda0ddf74c91c3dec55d39dd532f46c2
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
PD#SWPL-145324
Problem:
1, using contiguous conter for type identify is not uniform distribution
when compress for some tasks;
2, zram driver will alloc per-cpu contex for zstd, which will cause
about 3MB memory;
Solution:
1, using a fixed type array for uniform distribution of mix type
selection;
2, create 2 context: one dedicated for kswapd task; another one
dedicated for direct reclaim;
Verify:
t5m
Change-Id: I06683383e06d9601c9e6522bcd0fbcfa68a55987
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
PD#SWPL-139378
Problem:
playback not smooth when startup
Solution:
CMA used up when startup and cause cma alloc slow
delay enable CMA until swap free ratio less than 70%
Verify:
sc2
Change-Id: I42ddcaa281cae1c13128d028dbcf1128bede43b6
Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
PD#SWPL-145324
Problem:
zstd is high compress ratio but low speed, lz4 is fast but low
compress ratio. Need balance them.
Solution:
Add a mixed crypto layer and can set ratio of lz4/zstd
Verify:
t5m
Change-Id: I4fbe930d05ef66336acacaae640fa47855d4b47b
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
PD#SWPL-145324
Problem:
cma alloc too slow.
Solution:
let the idle cpu allocate more.
reduce drain lru in cma task.
Verify:
local.
Change-Id: I5f46112dcc4d5eb8fe7b21526d09a4078edc2752
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-121825
Problem:
livelock detected too long uninterrupt in vma_thread.
Solution:
use msleep_interrupt() install of msleep().
Verify:
local.
Change-Id: I63fd52a73c2cb1a72bde78a50c17051d36db6320
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-140760
Problem:
dmc get wrong pagetrace information.
Solution:
Retrieve the value of module base.
Verify:
ohm.
Change-Id: Ia58bdc613d7974d1d7ade05fa7d4cefbd1287d59
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-137693
Problem:
not need the page trace kprobe.
Solution:
remove kprobe for cma_alloc in pagetrace.
Verify:
local.
Change-Id: I4e787c0b0778d7b76930a209a1f597002d9127e0
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-140252
Problem:
The system will sleep in atomic,because 'show_user_data'
calls '__get_user' which calls 'might_sleep'.
Solution:
We use '__copy_from_user_inatomic' rather than
'__get_user'.
Verify:
T3x
Change-Id: I33368dcf371e528ea75b5f3e625c93109bf12907
Signed-off-by: qiankun.wang <qiankun.wang@amlogic.com>
PD#SWPL-136207
Problem:
use kprobe to forbid free module init text
Solution:
record module base and use offset to parse
this module symbol
Verify:
SC2_AH212
Change-Id: I43bd306e94e9a6a5afe6411a9cd9e93db0342b7a
Signed-off-by: song.han <song.han@amlogic.com>
PD#SWPL-138083
Problem:
cma alloc too long.
Solution:
compaction page in cma can not be migrated.
Verify:
adt4.
Change-Id: Ib26711f4530426cb0cec5699d3deeaf7626354b6
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>