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>
PD#SWPL-101523
Problem:
The input parameter of the function "__get_free_pages"
in the function "aml_stack_alloc" is incorrect, the function
is in drivers\amlogic\memory_ext\vmap_stack.c
Solution:
fix input parameters
Verify:
TM2
Change-Id: I698ca5dc0beae707bbd50bcfad647cd9c8442d6d
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-131211
Problem:
kernel crash in check_page_to_cma
Solution:
The problem is that page_mapping function returns a invalid mapping
pointer, when a compound page is building while a compaction is doing
at same time, there will have a risk of compound page status checking.
page->mapping is set to TAIL_MAPPING first then set compound header.
But check_page_to_cma don't check real status of page, which caused
panic
Verify:
local
Change-Id: Id44ac3d43d1385148e0527b0ba4d3421c68d825e
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
PD#SWPL-131448
Problem:
__getblk_gfp func get memory from cma can not migrate.
Solution:
not allow the __getblk_gfp get memory from cma pool.
Verify:
ohm.
Change-Id: If30d1eb2bef647368495965cf316debce5b05c54
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-131448
Problem:
cma alloc time too long.
cma_alloc() is different between T and U.
Solution:
use the common14-5.15 cma api.
add more debug information.
Verify:
ohm.
Change-Id: Iead77f878fcb77854667ba117c57025afc5de0a4
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-135009
Problem:
The function 'within_secmon_region' can
not filter out secure monitor region.
Solution:
'within_secmon_region' will get the
'secmon_start_virt' from the dts,and filter
out secure monitor region.
Verify:
SC2
Change-Id: Ie434e66d2b7ca6f269c7f8c0e06e1f53807b8a24
Signed-off-by: qiankun.wang <qiankun.wang@amlogic.com>
PD#SWPL-135009
Problem:
The config 'CONFIG_AMLOGIC_SEC' has been
converted to CONFIG_AMLOGIC_SECMON.
Solution:
delete the config 'CONFIG_AMLOGIC_SEC',and
add the config 'CONFIG_AMLOGIC_SECMON'.
Verify:
SC2
Change-Id: I664ce36b86af24ff3e92adcf31f6149ecf381dcb
Signed-off-by: qiankun.wang <qiankun.wang@amlogic.com>
PD#SWPL-112188
Problem:
aml smmu need to meet requirement of gki2.0.
Solution:
try to set aml smmu driver to ko.
Verify:
build failed.
Change-Id: I8a6a1fc2312aaa82f68f7e97cc05be731d03ac49
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-112188
Problem:
need to trace buffer info in cma ko.
Solution:
print pagetrace info in aml cma ko.
Verify:
local
Change-Id: I288c78ffb0bb7b10cf149f149324ef0b8b236528
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-112188
Problem:
it takes a long time to find symbols.
Solution:
asynchronous initialization of user fault.
Verify:
t5w.
Change-Id: If0327b8285ec722bd84a5dbc7e97419b5752120f
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-112188
Problem:
insmod the aml_cma.ko causes too long startup time.
Solution:
asynchronous initialization of aml_cma.
Verify:
ohm.
Change-Id: Ibd0d72cd85755783a9b25867baa7d86c9f272f35
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>