Re: [PATCH] mm: alloc_contig: re-allow CMA to compact FS pages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri 13-01-17 14:35:10, Lucas Stach wrote:
> Am Freitag, den 13.01.2017, 14:24 +0100 schrieb Vlastimil Babka:
> > On 01/13/2017 12:51 PM, Lucas Stach wrote:
> > > Commit 73e64c51afc5 (mm, compaction: allow compaction for GFP_NOFS requests)
> > > changed compation to skip FS pages if not explicitly allowed to touch them,
> > > but missed to update the CMA compact_control.
> > >
> > > This leads to a very high isolation failure rate, crippling performance of
> > > CMA even on a lightly loaded system. Re-allow CMA to compact FS pages by
> > > setting the correct GFP flags, restoring CMA behavior and performance to
> > > the kernel 4.9 level.
> > >
> > > Fixes: 73e64c51afc5 (mm, compaction: allow compaction for GFP_NOFS requests)
> > > Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
> > 
> > Acked-by: Vlastimil Babka <vbabka@xxxxxxx>
> > 
> > It's true that this restores the behavior for CMA to 4.9. But it also reveals 
> > that CMA always implicitly assumed to be called from non-fs context. That's 
> > expectable for the original CMA use-case of drivers for devices such as cameras, 
> > but I now wonder if there's danger when CMA gets invoked via dma-cma layer with 
> > generic cma range for e.g. a disk device... I guess that would be another 
> > argument for scoped GFP_NOFS, which should then be applied to adjust the 
> > gfp_mask here. Or we could apply at least memalloc_noio_flags() right now, which 
> > should already handle the disk device -> dma -> cma scenario?
> 
> That's right. But I don't think we need to fix this for 4.10. The
> minimal fix in this patch brings things back to the old assumptions.
> 
> As dma allocations already carry proper GFP flags it's just a matter of
> passing them through to CMA, to make things work correctly. I'll cook up
> a follow up patch for that, but I think this should wait for the next
> merge window to be applied.

Agreed. Thanks!
-- 
Michal Hocko
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]