Re: [PATCH v8 1/6] ksm: support unsharing KSM-placed zero pages

From: xu xin
Date: Tue May 23 2023 - 10:12:12 EST


>>>> ---
>>>> include/linux/ksm.h | 6 ++++++
>>>> mm/ksm.c | 5 +++--
>>>> 2 files changed, 9 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/include/linux/ksm.h b/include/linux/ksm.h
>>>> index 899a314bc487..7989200cdbb7 100644
>>>> --- a/include/linux/ksm.h
>>>> +++ b/include/linux/ksm.h
>>>> @@ -26,6 +26,9 @@ int ksm_disable(struct mm_struct *mm);
>>>>
>>>> int __ksm_enter(struct mm_struct *mm);
>>>> void __ksm_exit(struct mm_struct *mm);
>>>> +/* use pte_mkdirty to track a KSM-placed zero page */
>>>> +#define set_pte_ksm_zero(pte) pte_mkdirty(pte_mkspecial(pte))
>>>
>>> If there is only a single user (which I assume), please inline it instead.
>>
>> Excuse me, I'm wondering why using inline here instead of macro is better.
>> Thanks! :)
>
>Just to clarify: not an inline function but removing the macro
>completely and just place that code directly into the single caller.
>
>Single user, no need to put that into ksm.h -- and I'm not super happy
>about the set_pte_ksm_zero() name ;) because we get the zero-pte already
>passed in from the caller ...

Oh, I see. Thanks