On Fri 15-03-24 16:18:03, liuhailong@xxxxxxxx wrote: > From: "Hailong.Liu" <liuhailong@xxxxxxxx> > > This reverts > commit b7108d66318a ("Multi-gen LRU: skip CMA pages when they are not eligible") > commit 5da226dbfce3 ("mm: skip CMA pages when they are not available") > > skip_cma may cause system not responding. if cma pages is large in lru_list > and system is in lowmemory, many tasks would direct reclaim and waste > cpu time to isolate_lru_pages and return. > > Test this patch on android-5.15 8G device > reproducer: > - cma_declare_contiguous 3G pages > - set /proc/sys/vm/swappiness 0 to enable direct_reclaim reclaim file > only. > - run a memleak process in userspace Does this represent a sane configuration? CMA memory is unusable for kernel allocations and memleak process is also hard to reclaim due to swap suppression. Isn't such a system doomed to struggle to reclaim any memory? Btw. how does the same setup behave with the regular LRU implementation? My guess would be that it would struggle as well. -- Michal Hocko SUSE Labs