FROMGIT: maple_tree: add GFP_KERNEL to allocations in mas_expected_entries()
Users complained about OOM errors during fork without triggering compaction. This can be fixed by modifying the flags used in mas_expected_entries() so that the compaction will be triggered in low memory situations. Since mas_expected_entries() is only used during fork, the extra argument does not need to be passed through. Additionally, the two test_maple_tree test cases and one benchmark test were altered to use the correct locking type so that allocations would not trigger sleeping and thus fail. Testing was completed with lockdep atomic sleep detection. The additional locking change requires rwsem support additions to the tools/ directory through the use of pthreads pthread_rwlock_t. With this change test_maple_tree works in userspace, as a module, and in-kernel. Users may notice that the system gave up early on attempting to start new processes instead of attempting to reclaim memory. Link: https://lore.kernel.org/linux-mm/20231012155233.2272446-1-Liam.Howlett@oracle.com/ Fixes: 54a611b6 ("Maple Tree: add new data structure") Cc: <stable@vger.kernel.org> Cc: jason.sim@samsung.com Cc: Peng Zhang <zhangpeng.00@bytedance.com> Signed-off-by:Liam R. Howlett <Liam.Howlett@oracle.com> (cherry picked from commit 099d7439 https: //git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable) Bug: 305860603 Change-Id: I1ea250b37198fb3234136da4737b75c6ee3d9817 Signed-off-by:
john.hsu <john.hsu@mediatek.com>
Loading
Please register or sign in to comment