Sean Christopherson <[email protected]> writes:

> On Tue, Feb 17, 2026, Ackerley Tng wrote:
>>
>> [...snip...]
>>
>> +
>> +    /*
>> +     * Use aligned address so that MADV_COLLAPSE will not be
>> +     * filtered out early in the collapsing routine.
>
> Please elaborate, the value below is way more magical than just being aligned.
>
>> +     */
>> +#define ALIGNED_ADDRESS ((void *)0x4000000000UL)
>
> Use a "const void *" instead of #define inside a function.  And use one of the
> appropriate size macros, e.g.
>
>       const void *ALIGNED_ADDRESS = (void *)(SZ_1G * <some magic value>);
>
> But why hardcode a virtual address in the first place?  If you a specific
> alignment, just allocate enough virtual memory to be able to meet those 
> alignment
> requirements.
>
>> +    mem = mmap(ALIGNED_ADDRESS, pmd_size, PROT_READ | PROT_WRITE,
>> +               MAP_FIXED | MAP_SHARED, fd, 0);
>>
>> [...snip...]
>>
>> @@ -370,6 +441,7 @@ static void __test_guest_memfd(struct kvm_vm *vm, 
>> uint64_t flags)
>>                      gmem_test(mmap_supported, vm, flags);
>>                      gmem_test(fault_overflow, vm, flags);
>>                      gmem_test(numa_allocation, vm, flags);
>> +                    test_collapse(vm, flags);
>
> Why diverge from everything else?  Yeah, the size is different, but that's 
> easy
> enough to handle.  And presumably the THP query needs to be able to fail 
> gracefully,
> so something like this?
>
>
> [...snip...]
>

Addressed your comments in a v2 [*], thanks for reviewing!

[*] https://lore.kernel.org/all/[email protected]/T/

Reply via email to