summaryrefslogtreecommitdiff
authortao 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)
commit16cffaaab36de952915a8125d920096f23a4f1e9 (patch)
treeec3ebd45391dc77997597220d41dd7ae353613ee
parentad09151d3a5e783b8777927bfb63c5216f1543c9 (diff)
downloadcommon-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>
Diffstat
-rw-r--r--mm/cma.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/cma.c b/mm/cma.c
index 9944f86..a07c7ba 100644
--- a/mm/cma.c
+++ b/mm/cma.c
@@ -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);