Lines Matching refs:range
77 struct madvise_behavior_range range; member
156 struct madvise_behavior_range *range = &madv_behavior->range; in madvise_update_vma() local
159 VMA_ITERATOR(vmi, madv_behavior->mm, range->start); in madvise_update_vma()
167 range->start, range->end, anon_name); in madvise_update_vma()
170 range->start, range->end, new_flags); in madvise_update_vma()
288 unsigned long start = madv_behavior->range.start; in madvise_willneed()
289 unsigned long end = madv_behavior->range.end; in madvise_willneed()
581 struct madvise_behavior_range *range = &madv_behavior->range; in madvise_cold_page_range() local
588 walk_page_range_vma(vma, range->start, range->end, &cold_walk_ops, in madvise_cold_page_range()
616 struct madvise_behavior_range *range) in madvise_pageout_page_range() argument
624 walk_page_range_vma(vma, range->start, range->end, &cold_walk_ops, in madvise_pageout_page_range()
649 madvise_pageout_page_range(&tlb, vma, &madv_behavior->range); in madvise_pageout()
807 unsigned long start_addr = madv_behavior->range.start; in madvise_free_single_vma()
808 unsigned long end_addr = madv_behavior->range.end; in madvise_free_single_vma()
809 struct mmu_notifier_range range; in madvise_free_single_vma() local
819 range.start = max(vma->vm_start, start_addr); in madvise_free_single_vma()
820 if (range.start >= vma->vm_end) in madvise_free_single_vma()
822 range.end = min(vma->vm_end, end_addr); in madvise_free_single_vma()
823 if (range.end <= vma->vm_start) in madvise_free_single_vma()
825 mmu_notifier_range_init(&range, MMU_NOTIFY_CLEAR, 0, mm, in madvise_free_single_vma()
826 range.start, range.end); in madvise_free_single_vma()
831 mmu_notifier_invalidate_range_start(&range); in madvise_free_single_vma()
834 walk_page_range_vma(vma, range.start, range.end, in madvise_free_single_vma()
837 mmu_notifier_invalidate_range_end(&range); in madvise_free_single_vma()
863 struct madvise_behavior_range *range = &madv_behavior->range; in madvise_dontneed_single_vma() local
870 madv_behavior->tlb, madv_behavior->vma, range->start, in madvise_dontneed_single_vma()
871 range->end - range->start, &details); in madvise_dontneed_single_vma()
880 struct madvise_behavior_range *range = &madv_behavior->range; in madvise_dontneed_free_valid_vma() local
893 if (range->start & ~huge_page_mask(hstate_vma(vma))) in madvise_dontneed_free_valid_vma()
902 range->end = ALIGN_DOWN(range->end, huge_page_size(hstate_vma(vma))); in madvise_dontneed_free_valid_vma()
910 struct madvise_behavior_range *range = &madv_behavior->range; in madvise_dontneed_free() local
916 if (range->start == range->end) in madvise_dontneed_free()
919 if (!userfaultfd_remove(madv_behavior->vma, range->start, range->end)) { in madvise_dontneed_free()
924 madv_behavior->vma = vma = vma_lookup(mm, range->start); in madvise_dontneed_free()
933 if (range->end > vma->vm_end) { in madvise_dontneed_free()
946 range->end = vma->vm_end; in madvise_dontneed_free()
955 if (range->start == range->end) in madvise_dontneed_free()
957 VM_WARN_ON(range->start > range->end); in madvise_dontneed_free()
973 unsigned long start = madv_behavior->range.start; in madvise_populate()
974 unsigned long end = madv_behavior->range.end; in madvise_populate()
1018 unsigned long start = madv_behavior->range.start; in madvise_remove()
1019 unsigned long end = madv_behavior->range.end; in madvise_remove()
1136 struct madvise_behavior_range *range = &madv_behavior->range; in madvise_guard_install() local
1170 err = walk_page_range_mm(vma->vm_mm, range->start, range->end, in madvise_guard_install()
1177 PHYS_PFN(range->end - range->start); in madvise_guard_install()
1187 zap_page_range_single(vma, range->start, in madvise_guard_install()
1188 range->end - range->start, NULL); in madvise_guard_install()
1247 struct madvise_behavior_range *range = &madv_behavior->range; in madvise_guard_remove() local
1256 return walk_page_range_vma(vma, range->start, range->end, in madvise_guard_remove()
1338 struct madvise_behavior_range *range = &madv_behavior->range; in madvise_vma_behavior() local
1358 return madvise_collapse(vma, range->start, range->end, in madvise_vma_behavior()
1406 error = ksm_madvise(vma, range->start, range->end, in madvise_vma_behavior()
1445 unsigned long start = madv_behavior->range.start; in madvise_inject_error()
1446 unsigned long end = madv_behavior->range.end; in madvise_inject_error()
1588 vma = lock_vma_under_rcu(mm, madv_behavior->range.start); in try_vma_read_lock()
1595 if (madv_behavior->range.end > vma->vm_end || current->mm != mm || in try_vma_read_lock()
1622 struct madvise_behavior_range *range = &madv_behavior->range; in madvise_walk_vmas() local
1624 unsigned long last_end = range->end; in madvise_walk_vmas()
1640 vma = find_vma_prev(mm, range->start, &prev); in madvise_walk_vmas()
1641 if (vma && range->start > vma->vm_start) in madvise_walk_vmas()
1650 if (range->start < vma->vm_start) { in madvise_walk_vmas()
1658 range->start = vma->vm_start; in madvise_walk_vmas()
1659 if (range->start >= last_end) in madvise_walk_vmas()
1664 range->end = min(vma->vm_end, last_end); in madvise_walk_vmas()
1682 if (vma && range->end < vma->vm_end) in madvise_walk_vmas()
1683 range->end = vma->vm_end; in madvise_walk_vmas()
1684 if (range->end >= last_end) in madvise_walk_vmas()
1687 vma = find_vma(mm, vma ? vma->vm_end : range->end); in madvise_walk_vmas()
1688 range->start = range->end; in madvise_walk_vmas()
1870 struct madvise_behavior_range *range = &madv_behavior->range; in madvise_do_behavior() local
1873 range->start = start; in madvise_do_behavior()
1874 range->end = start + len_in; in madvise_do_behavior()
1878 range->start = get_untagged_addr(madv_behavior->mm, start); in madvise_do_behavior()
1879 range->end = range->start + PAGE_ALIGN(len_in); in madvise_do_behavior()
2160 madv_behavior.range.start = start; in madvise_set_anon_name()
2161 madv_behavior.range.end = end; in madvise_set_anon_name()