Re: [PATCH] mm/gup: restore the ability to pin more than 2GB at a time

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/30/24 4:03 AM, Vlastimil Babka wrote:
On 10/30/24 05:39, John Hubbard wrote:
On 10/29/24 9:33 PM, Christoph Hellwig wrote:
On Tue, Oct 29, 2024 at 09:30:41PM -0700, John Hubbard wrote:
...
It might be a regression even if you don't try to pin over 2GB. high-order
(>costly order) allocations can fail and/or cause disruptive
reclaim/compaction cycles even below MAX_PAGE_ORDER and it's better to use
kvmalloc if physical contiguity is not needed, it will attempt the physical
kmalloc() allocation with __GFP_NORETRY (little disruption) and fallback to
vmalloc() quickly.

Of course if there's a way to avoid the allocation completely, even beter.

Why not both? I'm going to ask our driver team to batch the pinning calls,
as recommended nearby, just to be sure that we are following best
practices.

But it also seems good to use kvmalloc() here, and avoid any other
regressions. That's also a best practice.

thanks,
--
John Hubbard





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux