From: Alexandra Kossovsky <alexandra.kossov...@oktetlabs.ru> If we fail to allocate a page when in atomic context this is handled by scheduling a fill in non-atomic context. As such, a warning is not needed.
Signed-off-by: Shradha Shah <ss...@solarflare.com> --- drivers/net/ethernet/sfc/rx.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/sfc/rx.c b/drivers/net/ethernet/sfc/rx.c index 809ea461..3f0e129 100644 --- a/drivers/net/ethernet/sfc/rx.c +++ b/drivers/net/ethernet/sfc/rx.c @@ -163,8 +163,15 @@ static int efx_init_rx_buffers(struct efx_rx_queue *rx_queue, bool atomic) do { page = efx_reuse_page(rx_queue); if (page == NULL) { + /* GFP_ATOMIC may fail because of various reasons, + * and we re-schedule rx_fill from non-atomic + * context in such a case. So, use __GFP_NO_WARN + * in case of atomic. + */ page = alloc_pages(__GFP_COLD | __GFP_COMP | - (atomic ? GFP_ATOMIC : GFP_KERNEL), + (atomic ? + (GFP_ATOMIC | __GFP_NOWARN) + : GFP_KERNEL), efx->rx_buffer_order); if (unlikely(page == NULL)) return -ENOMEM; -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html