PD#SWPL-106998
Problem:
Boottime is too slow.
Solution:
Speed up boottime 50ms.
Verify:
C3 aw402
Change-Id: I48d8d319f933d89fa9c32c91db7139c51c47ce9d
Signed-off-by: yao zhang1 <yao.zhang1@amlogic.com>
PD#SWPL-163856
Problem:
not support Image.zstd build target
Solution:
add it
Change-Id: I95a4214fd19a3d6206f972ddc3f318de5b58cc4c
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
PD#SWPL-57667
Problem:
ZSTD compress level is fixed
Solution:
add module parameters to control it. By default, set
compress level to 1
Verify:
t5d am311
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
Change-Id: I4c80eb8cd591c8a2197c7781e8afe589f121ffd7
PD#SWPL-80202
Problem:
If enabled 32bit kasan on T5W with VMAP, kernel can't boot.
This case can't happen on T5D.
Solution:
Rootcause is bss cleared but real data keeps in cache, not flushed
into DDR, and physical kasan shadow page soon be mapped to shadow
memory while in shadow virtual address we see random data, which
caused kasan check failed in vmap fixup function and crashed. So
just add a dcache flush function call after bss cleared.
Verify:
T5W
Change-Id: Id72d26046a2155ee8fea35c3bf8c7aa4fe52e7a4
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-145324
Problem:
There are too many trace event inodes
Solution:
Add white list for trace event, this can save about 10MB memory
Verify:
t5m
Change-Id: I290020fc93e6114650313328ec8757720bfc8b1d
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
PD#SWPL-139378
Problem:
MID_ORDER_GFP may cost a lot of CPU time in memor compaction when allocate
big system heap.
Solution:
change to HIGH_ORDER_GFP can prevent this cost.
Change order 4 to 3 let system heap can allocate more contiguous memory.
Verify:
ohm
Change-Id: I54799ad624fa2db3d63311209371654e35b2f5c3
Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
PD#SWPL-101774
Problem:
save_stack_trace can't simplify all callers'
use of stackdepot, because the value of
"__irqentry_text_start" and "__irqentry_text_end"
is same.
Solution:
"#define __exception_irq_entry __irq_entry" to
make the section ".irqentry.text" is not empty.
Verify:
THXD2
Change-Id: Ib99f366955a051cb439ee9f86dfe2c667288d2d0
Signed-off-by: qiankun.wang <qiankun.wang@amlogic.com>
PD#SWPL-101774
Problem:
save_stack_trace now record user calls
Solution:
add kernel_or_module_addr judgement before save stack
Verify:
t5w 32bit
Change-Id: Ie029f6082aa1be33924018ec655267b426054aae
Signed-off-by: qiankun.wang <qiankun.wang@amlogic.com>
PD#SWPL-132402
Problem:
read no map memory failed when arm build
Solution:
check memory map when arm build
Verify:
local
Change-Id: Ie9a0359168e3ed620a8bb2a5b7a3ef3e85d983bc
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
PD#SWPL-128513
Problem:
enable kasan on arm32 will crash
Solution:
disable AMLOGIC_VMAP when kasan enabled
increase modules region form 16M to 32M
Verify:
TXHD2
Change-Id: Ia909a2f3522f5d994a6b74f2e853f10d0a7ac6ca
Signed-off-by: song.han <song.han@amlogic.com>
PD#SWPL-124928
Problem:
Android P no LMKD.
Solution:
add statistics for free file cma and more.
Verify:
local.
Change-Id: If31f74666d97b9e42627e7d7fff693b52e0fbc2e
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-114632
Problem:
Kernel size is too big
Solution:
Remove some CONFIGs
Verify:
c3 pass
Change-Id: I259aa858e541cd18400c94abea5b2bb447720fbf
Signed-off-by: qiankun.wang <qiankun.wang@amlogic.com>
PD#SWPL-95400
Problem:
If we pin a file in android, the whole data of this file
will be loaded to DDR, but most of these data may not be
used, this caused memory waste.
Solution:
delay mark mlocked flags for unevictable pages until
it has been faulted.
You can use following command to disable this function:
echo 0 > /proc/sys/vm/shrink_unevictable
Verify:
sc2_ah212
Change-Id: I05bb7654cc228604fe692429efbe40af713ca5c3
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-94445
Problem:
play video system crash.
Solution:
disable FAULT_FLAG_SPECULATIVE.
Verify:
sc2_ah212.
Change-Id: Ib056ffe1f48e68ae8e7b848c23db8218710fbbb7
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-92714
Problem:
llmv can't guarantee frame pointer register is saved in leaf function
calls. But x29 is dedicated used by vmap stack function. This caused
stack mistake and system hung.
Solution:
Add -mno-omit-leaf-frame-pointer to force x29 used as dedicated frame
pointer
Verify:
t5d am301
Change-Id: I688d61894bdbaaf8f968d1b7689f533d3d62cb88
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-73422
Problem:
When driver/kernel call kmalloc with large size, memory may waste
if size is not equal to 2^n. For example, driver call kmalloc with
size 129KB, kmalloc will allocate a 256KB memory block to caller.
Then 127kb memory will be wasted if this caller do not free it.
Solution:
Free tail of slab memory if size is not match to 2^n. This change
can save about 900KB memory after boot, and more than 100KB during
runtime.
mm: reset page order to slab size. [1/1]
gki: modify the slabtrace to meet gki request. [1/2]
mm: fix slab info stat error. [2/2]
Verify:
local.
Change-Id: If0b5aa61f123c657ddd6f49b42b0a60220a25910
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
PD#SWPL-72254
Problem:
No mem debug.
Solution:
porting it from 5.4.
Verify:
local.
Signed-off-by: Jianxiong Pan <jianxiong.pan@amlogic.com>
Change-Id: Ibdae855520510910e8f9a9dba9a469e0b46cc512
PD#SWPL-70022
PD#SWPL-131211
Problem:
No cma optimization on 5.15
Solution:
1, kernel only allow zram/anon pages use cma, new solution all
all movable pages can use cma;
2, add __GFP_NO_CMAto tell buddy system which cases can't use
cma;
3, keep high reference/active file cache pages when cma allocating;
4, hook real cma allocate/release interface to aml_cma.c, which can
use boost mode when allocate large amount of cma;
5, count cma isolated pages to avoid deadloop congestion wait in kswapd
or compaction case;
6, keep cma-unsuitable pages not compacte to cma area;
7, fix SWPL-131211
Verify:
local
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
Change-Id: Ib82b898a596eba62e1aa1cb13719eab41f03ae58
PD#SWPL-70022
Problem:
No slab trace on 5.15
Solution:
Porting it from 5.4
Verify:
local
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
Change-Id: I8604e6d144ba212e33db9d2a842b128c791fc2bd
PD#SWPL-70022
Problem:
No pagetrace function on 5.15 kernel
Solution:
porting it from 5.4
Verify:
local
Signed-off-by: Tao Zeng <tao.zeng@amlogic.com>
Change-Id: I69cc8b4f4fa4c323204f86e5c76613cd3d6087df
PD#SWPL-121806
Problem:
arm OPTPROBES will cause kprobe handler unexpected behavior
memory atrace need kprobe at handle_pte_fault()
Solution:
disable HAVE_OPTPROBES and noinline handle_pte_fault
Verify:
sc2
Change-Id: I4efbec5aeeb7b6fe56f6fbd0d413bae123549c5a
Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
PD#SWPL-114632
Problem:
support iotrace driver
Solution:
support iotrace
Verify:
on s4d_ap222 and c2_af400
Change-Id: Id4dc4f64d886dc551f32d776ebaa2c9c2d5650b0
Signed-off-by: qiankun.wang <qiankun.wang@amlogic.com>
PD#SWPL-114632
Problem:
use vendor_hook print cpu and irq info
Solution:
use vendor_hook print cpu and irq info
Verify:
sc2
Change-Id: I337e61de17494367063f0a14d59ce4cde6d07679
Signed-off-by: qiankun.wang <qiankun.wang@amlogic.com>
PD#SWPL-114632
Problem:
too much unwind warning when pt_regs pc register is invalid
Solution:
use pt_regs lr register to unwind, replace pc register
Verify:
C3
Change-Id: I53bc7739e2909818c04d6e50b2172a06984bd883
Signed-off-by: qiankun.wang <qiankun.wang@amlogic.com>
PD#SWPL-195843
Problem:
cts fail when aarch32 run dotprod code;
Generate undefined error.
Solution:
add dotprod instructions support in aarch32.
Verify:
sc2 ah212
Change-Id: I0b527b670af8bdcbfe55fca7a8755b3acc1d44a8
Signed-off-by: Yan Wang <yan.wang@amlogic.com>
PD#SWPL-182182
Problem:
The .text addr of Kernel 32bit is 0. When enabling the
ramdump, it needs to be offset to 24MB+.
Solution:
1. modify textofs-y := 0x02008000, LOADADDR=0x02008000
2. enable for .ko link error: CONFIG_ARM_MODULE_PLTS
3. disable AUTO_ZRELADDR (less than 128MB, not necessary)
4. enable for gdb debug: CONFIG_AMLOGIC_RAMDUMP, CONFIG_KALLSYMS,
CONFIG_KALLSYMS_ALL, CONFIG_DEBUG_INFO, CONFIG_FRAME_POINTER,
CONFIG_DEBUG_KERNEL
5. add trace_android_vh_ipi_stop() for ker 32bit IPI_STOP.
Verify:
sc2, T5D, T5W, TXHD2, S4D
Change-Id: I771e8d82c0ec4c51f85a3b71aba6cc3540fac98c
Signed-off-by: dongqing.li <dongqing.li@amlogic.com>
PD#SWPL-144091
Problem:
swapper_pg_dir is the virtual address of the initial page table.
It will use this value as the starting address for the reserved memory.
the value depend on TEXT_OFF in arm, and default is 0x8000.
In 5.4, CONFIG_ARCH_MESON be set, it be set 0x208000, but
in 5.15, CONFIG_ARCH_MESON not set, so the start addr conflict with dmc.
Solution:
set TEXT_OFF default with 0x208000
Verify:
planck
Change-Id: Iea66ca0edcd360f9f54e8df3574553170403d571
Signed-off-by: qinglin.li <qinglin.li@amlogic.com>
PD#SWPL-58611
Problem:
upported FP instruction in kernel mode
Solution:
disable access to FPINST/FPINST2 for aarch32 because there is
no fpinst/fpinst2 in armv8 aarch32.
Verify:
T5D
Change-Id: I930193d2a28b80c875d250b7dbc0287c47d84c84
Signed-off-by: Jianxin Pan <jianxin.pan@amlogic.com>
(cherry picked from commit f430dfd5d417fa5ccf739502bb3be89d48232a24)
PD#SWPL-94239
Problem:
dump register and pfn
Solution:
dump register and pfn
Verify:
on PXP
Signed-off-by: Lei Zhang <lei.zhang@amlogic.com>
Change-Id: I9acbabb63e4647b8619c29f822d54ade9abcb1ba
PD#SWPL-178341
Problem:
5.15 accommodate common drivers dir moved out from 6.6
make config setting for extra drivers
Solution:
add config setting
Verify:
local
Change-Id: I64e3bfa9100d642e10472f4159c2a0556efad9af
Signed-off-by: Dezhen Wang <dezhen.wang@amlogic.com>
PD#SWPL-112151
Problem:
support use bazel tool to build
Solution:
support use bazel tool to build
Verify:
sc2
Change-Id: I96e80b97ed481f32239955748ffa52e7d40a85aa
Signed-off-by: Wanwei Jiang <wanwei.jiang@amlogic.com>
PD#SWPL-109858
Problem:
Initialize the building framework of androidu-5.15 for amlogic
Solution:
Initialize the building framework of androidu-5.15 for amlogic
Verify:
sc2
Change-Id: Icfbc29709af1545b802ed7794808a2ab560ed08a
Signed-off-by: Wanwei Jiang <wanwei.jiang@amlogic.com>