On 9/25/25 20:01, David Hildenbrand wrote:
> On 16.09.25 14:21, Balbir Singh wrote:
>> Add support for splitting device-private THP folios, enabling fallback
>> to smaller page sizes when large page allocation or migration fails.
>>
>> Key changes:
>> - split_huge_pmd(): Handle device-private PMD entries during splitting
>> - Preserve RMAP_EXCLUSIVE semantics for anonymous exclusive folios
>> - Skip RMP_USE_SHARED_ZEROPAGE for device-private entries as they
>>    don't support shared zero page semantics
>>
>> Signed-off-by: Balbir Singh <[email protected]>
>> Cc: David Hildenbrand <[email protected]>
>> Cc: Zi Yan <[email protected]>
>> Cc: Joshua Hahn <[email protected]>
>> Cc: Rakie Kim <[email protected]>
>> Cc: Byungchul Park <[email protected]>
>> Cc: Gregory Price <[email protected]>
>> Cc: Ying Huang <[email protected]>
>> Cc: Alistair Popple <[email protected]>
>> Cc: Oscar Salvador <[email protected]>
>> Cc: Lorenzo Stoakes <[email protected]>
>> Cc: Baolin Wang <[email protected]>
>> Cc: "Liam R. Howlett" <[email protected]>
>> Cc: Nico Pache <[email protected]>
>> Cc: Ryan Roberts <[email protected]>
>> Cc: Dev Jain <[email protected]>
>> Cc: Barry Song <[email protected]>
>> Cc: Lyude Paul <[email protected]>
>> Cc: Danilo Krummrich <[email protected]>
>> Cc: David Airlie <[email protected]>
>> Cc: Simona Vetter <[email protected]>
>> Cc: Ralph Campbell <[email protected]>
>> Cc: Mika Penttilä <[email protected]>
>> Cc: Matthew Brost <[email protected]>
>> Cc: Francois Dugast <[email protected]>
>> ---
>>   mm/huge_memory.c | 138 +++++++++++++++++++++++++++++++++--------------
>>   1 file changed, 98 insertions(+), 40 deletions(-)
>>
>> diff --git a/mm/huge_memory.c b/mm/huge_memory.c
>> index 78166db72f4d..5291ee155a02 100644
>> --- a/mm/huge_memory.c
>> +++ b/mm/huge_memory.c
>> @@ -2872,16 +2872,18 @@ static void __split_huge_pmd_locked(struct 
>> vm_area_struct *vma, pmd_t *pmd,
>>       struct page *page;
>>       pgtable_t pgtable;
>>       pmd_t old_pmd, _pmd;
>> -    bool young, write, soft_dirty, pmd_migration = false, uffd_wp = false;
>> -    bool anon_exclusive = false, dirty = false;
>> +    bool soft_dirty, uffd_wp = false, young = false, write = false;
>> +    bool anon_exclusive = false, dirty = false, present = false;
>>       unsigned long addr;
>>       pte_t *pte;
>>       int i;
>> +    swp_entry_t swp_entry;
> 
> Not renaming this variable avoids a lot of churn below. So please keep it 
> called "entry" in this patch.
> 

Ack, will fix

Thanks,
Balbir

Reply via email to