Commit 9938b82b authored by Minchan Kim's avatar Minchan Kim Committed by Todd Kjos
Browse files

ANDROID: mm: bail out tlb free batching on page zapping when cma is going on



I found sometime cma allocation took a long time to be succeeded
because one of the pages is in the middle of zapping(e.g., munmap, exit)
so alloc_contig_range couldn't migrate the page because it was zero
page mapcount. So, CMA allocator need to wait it until tlb batching
frees the page and the batching free happens on the target process's
context which is quite random, sometimes, very low priority process
on little core. It makes CMA allocation very slow up to several hundreds
millisecond.

To solve the issue, let's make the TLB free batching aware of CMA
progress so whenever cma allocation is going on, TLB free batching
should bail out asap to minimize cma allocation latency.

Bug: 192475091
Signed-off-by: default avatarMinchan Kim <minchan@google.com>
Change-Id: Ic76ecff795639085c4372791d922301467563a06
parent c8578a3e
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment