On 5/31/23 21:17, Jason Gunthorpe wrote:
+       int (*test_clear_young)(struct mmu_notifier *mn, struct mm_struct *mm,
+                               unsigned long start, unsigned long end,
+                               bool clear, unsigned long *bitmap);
+
Why leave clear_young behind? Just make a NULL bitmap mean
clear_young?

It goes away in patch 2, together with:

@@ -437,7 +412,7 @@ static inline int mmu_notifier_clear_young(struct mm_struct 
*mm,
                                           unsigned long end)
 {
        if (mm_has_notifiers(mm))
-               return __mmu_notifier_clear_young(mm, start, end);
+               return __mmu_notifier_test_clear_young(mm, start, end, true, 
NULL);
        return 0;
 }
@@ -445,7 +420,7 @@ static inline int mmu_notifier_test_young(struct mm_struct *mm,
                                          unsigned long address)
 {
        if (mm_has_notifiers(mm))
-               return __mmu_notifier_test_young(mm, address);
+               return __mmu_notifier_test_clear_young(mm, address, address + 
1, false, NULL);
        return 0;
 }
Paolo

Reply via email to