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 18:29, John Hubbard wrote:
> 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.

By "avoid the allocation completely" I meant David's proof of concept
elsewhere in this thread, that seems to replace that kmalloc_array() with no
allocation :)

> thanks,





[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