On Mon 30-05-16 11:14:59, Michal Hocko wrote: > From: Michal Hocko <mhocko@xxxxxxxx> > > jbd2_alloc is explicit about its allocation preferences wrt. the > allocation size. Sub page allocations go to the slab allocator > and larger are using either the page allocator or vmalloc. This > is all good but the logic is unnecessarily complex. > 1) as per Ted, the vmalloc fallback is a left-over: > : jbd2_alloc is only passed in the bh->b_size, which can't be > > : PAGE_SIZE, so the code path that calls vmalloc() should never get > : called. When we conveted jbd2_alloc() to suppor sub-page size > : allocations in commit d2eecb039368, there was an assumption that it > : could be called with a size greater than PAGE_SIZE, but that's > : certaily not true today. > Moreover vmalloc allocation might even lead to a deadlock because > the callers expect GFP_NOFS context while vmalloc is GFP_KERNEL. > > 2) __GFP_REPEAT for requests <= PAGE_ALLOC_COSTLY_ORDER is ignored > since the flag was introduced. > > Let's simplify the code flow and use the slab allocator for sub-page > requests and the page allocator for others. Even though order > 0 is > not currently used as per above leave that option open. > > Cc: "Theodore Ts'o" <tytso@xxxxxxx> > Cc: Jan Kara <jack@xxxxxxx> > Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> The patch looks good. You can add: Reviewed-by: Jan Kara <jack@xxxxxxx> Since the patch is in pretty stable parts of JBD2 I think it is fine to merge it through Andrew's tree with the rest of the series. Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR -- 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>