On Thu, Sep 09, 2021 at 02:37:41AM +0000, John Stultz wrote: > When trying to do mid-order allocations, set __GFP_NOWARN to > avoid warning messages if the allocation fails, as we will > still fall back to single page allocatitions in that case. > This is the similar to what we already do for large order > allocations. > > Cc: Daniel Vetter <[email protected]> > Cc: Christian Koenig <[email protected]> > Cc: Sumit Semwal <[email protected]> > Cc: Liam Mark <[email protected]> > Cc: Chris Goldsworthy <[email protected]> > Cc: Laura Abbott <[email protected]> > Cc: Brian Starkey <[email protected]> > Cc: Hridya Valsaraju <[email protected]> > Cc: Suren Baghdasaryan <[email protected]> > Cc: Sandeep Patil <[email protected]> > Cc: Daniel Mentz <[email protected]> > Cc: Ørjan Eide <[email protected]> > Cc: Robin Murphy <[email protected]> > Cc: Simon Ser <[email protected]> > Cc: James Jones <[email protected]> > Cc: Leo Yan <[email protected]> > Cc: [email protected] > Cc: [email protected] > Signed-off-by: John Stultz <[email protected]>
Acked-by: Daniel Vetter <[email protected]> > --- > drivers/dma-buf/heaps/system_heap.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/dma-buf/heaps/system_heap.c > b/drivers/dma-buf/heaps/system_heap.c > index 23a7e74ef966..f57a39ddd063 100644 > --- a/drivers/dma-buf/heaps/system_heap.c > +++ b/drivers/dma-buf/heaps/system_heap.c > @@ -40,11 +40,12 @@ struct dma_heap_attachment { > bool mapped; > }; > > +#define LOW_ORDER_GFP (GFP_HIGHUSER | __GFP_ZERO | __GFP_COMP) > +#define MID_ORDER_GFP (LOW_ORDER_GFP | __GFP_NOWARN) > #define HIGH_ORDER_GFP (((GFP_HIGHUSER | __GFP_ZERO | __GFP_NOWARN \ > | __GFP_NORETRY) & ~__GFP_RECLAIM) \ > | __GFP_COMP) > -#define LOW_ORDER_GFP (GFP_HIGHUSER | __GFP_ZERO | __GFP_COMP) > -static gfp_t order_flags[] = {HIGH_ORDER_GFP, LOW_ORDER_GFP, LOW_ORDER_GFP}; > +static gfp_t order_flags[] = {HIGH_ORDER_GFP, MID_ORDER_GFP, LOW_ORDER_GFP}; > /* > * The selection of the orders used for allocation (1MB, 64K, 4K) is designed > * to match with the sizes often found in IOMMUs. Using order 4 pages instead > -- > 2.25.1 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch
