X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=mm%2Fmmu_notifier.c;h=8d032de4088e0a55d3f9a4d733dc530e2962a678;hb=efe8dc556cd0f22e04c453188ffbc408b492eb82;hp=438951d366f27cb449d7872f40ced3f791186f07;hpb=772320e84588dcbe1600ffb83e5f328f2209ac2a;p=mv-sheeva.git diff --git a/mm/mmu_notifier.c b/mm/mmu_notifier.c index 438951d366f..8d032de4088 100644 --- a/mm/mmu_notifier.c +++ b/mm/mmu_notifier.c @@ -100,6 +100,26 @@ int __mmu_notifier_clear_flush_young(struct mm_struct *mm, return young; } +int __mmu_notifier_test_young(struct mm_struct *mm, + unsigned long address) +{ + struct mmu_notifier *mn; + struct hlist_node *n; + int young = 0; + + rcu_read_lock(); + hlist_for_each_entry_rcu(mn, n, &mm->mmu_notifier_mm->list, hlist) { + if (mn->ops->test_young) { + young = mn->ops->test_young(mn, mm, address); + if (young) + break; + } + } + rcu_read_unlock(); + + return young; +} + void __mmu_notifier_change_pte(struct mm_struct *mm, unsigned long address, pte_t pte) {