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?