Re: [PATCH v3 15/15] slab: Allocate frozen pages

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

 



On 12/4/24 15:43, Vlastimil Babka wrote:
> On 11/27/24 16:52, Matthew Wilcox wrote:
>> On Wed, Nov 27, 2024 at 04:07:01PM +0100, David Hildenbrand wrote:
>>> I think we discussed in v1 or v2 that page isolation should be taught about that.
>>> 
>>> Likely we want something like:
>>> 
>>> diff --git a/mm/page_isolation.c b/mm/page_isolation.c
>>> index 7e04047977cfe..7db2f79b39f0d 100644
>>> --- a/mm/page_isolation.c
>>> +++ b/mm/page_isolation.c
>>> @@ -101,6 +101,8 @@ static struct page *has_unmovable_pages(unsigned long start_pfn, unsigned long e
>>>                  * because their page->_refcount is zero at all time.
>>>                  */
>>>                 if (!page_ref_count(page)) {
>>> +                       if (PageSlab(page))
>>> +                               return page;
>>>                         if (PageBuddy(page))
>>>                                 pfn += (1 << buddy_order(page)) - 1;
>> 
>> Ah, for order 0 slabs!  I got caught up thinking that slabs would be
>> caught by the earlier PageTransCompound() check.  But that's also a
>> bit messy since we know that __folio_test_movable() can sometimes appear
>> true on slab pages.  So I'm tempted to hoist this way up to between the
>> check for ZONE_MOVABLE and PageHuge.
> 
> That should work. Are you going to try advancing by folio_nr_pages() in that
> case as well?

This seems also unresolved?




[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