Re: [PATCH V2] mlx4_core: allocate ICM memory in page size chunks

From: Qing Huang
Date: Tue May 15 2018 - 15:45:46 EST




On 5/15/2018 12:08 PM, Eric Dumazet wrote:

On 05/15/2018 11:53 AM, Qing Huang wrote:
This is control path so it is less latency-sensitive.
Let's not produce unnecessary degradation here, please call kvzalloc so we maintain a similar behavior when contiguous memory is available, and a fallback for resiliency.
No sure what exactly degradation is caused by vzalloc here. I think it's better to keep physically contiguous pages
to other requests which really need them. Besides slow path/mem compacting can be really expensive.

Just use kvzalloc(), and you get the benefit of having contiguous memory if available,
without expensive compact phase.

This thing _automatically_ falls back to vmalloc(), thus your problem will be solved.

If you are not sure, trust others.

Thanks for the review. There are many places in kernel and applications where physically contiguous pages are needed.
We saw quite a few issues when there were not enough contiguous phy mem available. My main concern here is that why
using physically contiguous pages when they are not really needed?