Re: [RFC PATCH 0/1] vmxnet3: Adjust maximum Rx ring buffer size

From: Florian Fainelli
Date: Mon Jan 06 2025 - 18:51:21 EST


On 1/6/25 15:47, 'Jakub Kicinski' via BCM-KERNEL-FEEDBACK-LIST,PDL wrote:
On Sun, 5 Jan 2025 21:30:35 +0000 Aaron Tomlin wrote:
I managed to trigger the MAX_PAGE_ORDER warning in the context of function
__alloc_pages_noprof() with /usr/sbin/ethtool --set-ring rx 4096 rx-mini
2048 [devname]' using the maximum supported Ring 0 and Rx ring buffer size.
Admittedly this was under the stock Linux kernel-4.18.0-477.27.1.el8_8
whereby CONFIG_CMA is not enabled. I think it does not make sense to
attempt a large memory allocation request for physically contiguous memory,
to hold the Rx Data ring that could exceed the maximum page-order supported
by the system.

I think CMA should be a bit orthogonal to the warning.

Off the top of my head the usual way to solve the warning is to add
__GFP_NOWARN to the allocations which trigger it. And then handle
the error gracefully.

That IMHO should really be the default for any driver that calls __netdev_alloc_skb() under the hood, we should not really have to specify __GFP_NOWARN, rather if people want it, they should specify it.
--
Florian