author | tao zeng <tao.zeng@amlogic.com> | 2017-12-28 09:07:53 (GMT) |
---|---|---|
committer | jie.yuan <jie.yuan@amlogic.com> | 2018-03-20 03:06:24 (GMT) |
commit | 16cffaaab36de952915a8125d920096f23a4f1e9 (patch) | |
tree | ec3ebd45391dc77997597220d41dd7ae353613ee | |
parent | ad09151d3a5e783b8777927bfb63c5216f1543c9 (diff) | |
download | common-16cffaaab36de952915a8125d920096f23a4f1e9.zip common-16cffaaab36de952915a8125d920096f23a4f1e9.tar.gz common-16cffaaab36de952915a8125d920096f23a4f1e9.tar.bz2 |
memory: merge modification of tao.zeng [2/9]
mm: do not increase CMA bitmap base pfn if retry
PD#157412: mm: do not increase CMA bitmap base pfn if retry
This behavior may cause some device can't allocate buffer.
From bit map debug:
txlx_t962x_r311:/ # cat /sys/kernel/debug/cma/cma-0/bitmap
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffefff ffffffff ffffffff ffffffff
~~~~~~~~ Here is a bit map gap!!!
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff 003fffff 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
ff000000 ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff 3fffffff 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Change-Id: Ic3440d62ab1b339d6b5531ebc5aa7aa9e28df0e2
Signed-off-by: tao zeng <tao.zeng@amlogic.com>
-rw-r--r-- | mm/cma.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -456,8 +456,10 @@ struct page *cma_alloc(struct cma *cma, size_t count, unsigned int align) pr_debug("%s(): memory range at %p is busy, retrying\n", __func__, pfn_to_page(pfn)); + #ifndef CONFIG_AMLOGIC_MODIFY /* try again with a bit different memory target */ start = bitmap_no + mask + 1; + #endif /* CONFIG_AMLOGIC_MODIFY */ } trace_cma_alloc(pfn, page, count, align); |