On 23.05.23 15:57, xu xin wrote:
---
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 ...
--
Thanks,
David / dhildenb