From 2cd3b4b514c9095343037cce62f7db6492ad93a4 Mon Sep 17 00:00:00 2001 From: KyungsanKim <kim1158@gmail.com> Date: Tue, 23 Aug 2022 13:51:13 +0900 Subject: [PATCH] smdk v1.2 - fix issue : build failure on CONFIG_LOCKDEP=y or CONFIG_EXMEM=n Signed-off-by: KyungsanKim <ks0204.kim@samsung.com> Signed-off-by: JongchanLim <jongchan.im@samsung.com> Signed-off-by: DonghwaKang <dh1128.kang@samsung.com> Signed-off-by: JunhyeokIm<junhyeok.im@samsung.com> --- lib/linux-5.18-rc3-smdk/lib/radix-tree.c | 4 ++++ lib/linux-5.18-rc3-smdk/mm/page_alloc.c | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/linux-5.18-rc3-smdk/lib/radix-tree.c b/lib/linux-5.18-rc3-smdk/lib/radix-tree.c index b3afafe46f..c09adb5b67 100644 --- a/lib/linux-5.18-rc3-smdk/lib/radix-tree.c +++ b/lib/linux-5.18-rc3-smdk/lib/radix-tree.c @@ -1594,7 +1594,11 @@ void __init radix_tree_init(void) { int ret; +#ifdef CONFIG_EXMEM + BUILD_BUG_ON(RADIX_TREE_MAX_TAGS + __GFP_BITS_SHIFT > 34); +#else BUILD_BUG_ON(RADIX_TREE_MAX_TAGS + __GFP_BITS_SHIFT > 32); +#endif BUILD_BUG_ON(ROOT_IS_IDR & ~GFP_ZONEMASK); BUILD_BUG_ON(XA_CHUNK_SIZE > 255); radix_tree_node_cachep = kmem_cache_create("radix_tree_node", diff --git a/lib/linux-5.18-rc3-smdk/mm/page_alloc.c b/lib/linux-5.18-rc3-smdk/mm/page_alloc.c index cdc50e5c7a..f9149f0378 100644 --- a/lib/linux-5.18-rc3-smdk/mm/page_alloc.c +++ b/lib/linux-5.18-rc3-smdk/mm/page_alloc.c @@ -4496,6 +4496,8 @@ static inline unsigned int gfp_to_alloc_flags_cma(gfp_t gfp_mask, return alloc_flags; } + +#ifdef CONFIG_EXMEM static inline bool __is_zone_allowed(struct zone *z, gfp_t gfp_mask) { if (user_zonelist_order == ZONELIST_ORDER_NONE && @@ -4522,6 +4524,7 @@ static inline bool __is_zone_allowed(struct zone *z, gfp_t gfp_mask) return true; } +#endif /* * get_page_from_freelist goes through the zonelist trying to allocate @@ -5786,7 +5789,7 @@ unsigned long __alloc_pages_bulk(gfp_t gfp, int preferred_nid, for_each_zone_zonelist_nodemask(zone, z, ac.zonelist, ac.highest_zoneidx, ac.nodemask) { unsigned long mark; -#if CONFIG_EXMEM +#ifdef CONFIG_EXMEM if (!__is_zone_allowed(zone, gfp)) continue; #endif