Lines Matching full:behavior

56 static int madvise_need_mmap_write(int behavior)  in madvise_need_mmap_write()  argument
58 switch (behavior) { in madvise_need_mmap_write()
866 int behavior) in madvise_dontneed_free_valid_vma() argument
871 if (behavior != MADV_DONTNEED_LOCKED) in madvise_dontneed_free_valid_vma()
877 if (behavior != MADV_DONTNEED && behavior != MADV_DONTNEED_LOCKED) in madvise_dontneed_free_valid_vma()
896 int behavior) in madvise_dontneed_free() argument
901 if (!madvise_dontneed_free_valid_vma(vma, start, &end, behavior)) in madvise_dontneed_free()
919 behavior)) in madvise_dontneed_free()
948 if (behavior == MADV_DONTNEED || behavior == MADV_DONTNEED_LOCKED) in madvise_dontneed_free()
950 else if (behavior == MADV_FREE) in madvise_dontneed_free()
957 unsigned long end, int behavior) in madvise_populate() argument
959 const bool write = behavior == MADV_POPULATE_WRITE; in madvise_populate()
1251 * Apply an madvise behavior to a region of a vma. madvise_update_vma
1253 * behavior.
1258 unsigned long behavior) in madvise_vma_behavior() argument
1264 if (unlikely(!can_modify_vma_madv(vma, behavior))) in madvise_vma_behavior()
1267 switch (behavior) { in madvise_vma_behavior()
1279 return madvise_dontneed_free(vma, prev, start, end, behavior); in madvise_vma_behavior()
1319 error = ksm_madvise(vma, start, end, behavior, &new_flags); in madvise_vma_behavior()
1325 error = hugepage_madvise(vma, &new_flags, behavior); in madvise_vma_behavior()
1357 static int madvise_inject_error(int behavior, in madvise_inject_error() argument
1383 if (behavior == MADV_SOFT_OFFLINE) { in madvise_inject_error()
1404 madvise_behavior_valid(int behavior) in madvise_behavior_valid() argument
1406 switch (behavior) { in madvise_behavior_valid()
1447 /* Can we invoke process_madvise() on a remote mm for the specified behavior? */
1448 static bool process_madvise_remote_valid(int behavior) in process_madvise_remote_valid() argument
1450 switch (behavior) { in process_madvise_remote_valid()
1586 * behavior values:
1587 * MADV_NORMAL - the default behavior is to read clusters. This
1638 * "behavior" is not a valid value, or application
1649 int do_madvise(struct mm_struct *mm, unsigned long start, size_t len_in, int behavior) in do_madvise() argument
1657 if (!madvise_behavior_valid(behavior)) in do_madvise()
1676 if (behavior == MADV_HWPOISON || behavior == MADV_SOFT_OFFLINE) in do_madvise()
1677 return madvise_inject_error(behavior, start, start + len_in); in do_madvise()
1680 write = madvise_need_mmap_write(behavior); in do_madvise()
1692 switch (behavior) { in do_madvise()
1695 error = madvise_populate(mm, start, end, behavior); in do_madvise()
1698 error = madvise_walk_vmas(mm, start, end, behavior, in do_madvise()
1712 SYSCALL_DEFINE3(madvise, unsigned long, start, size_t, len_in, int, behavior) in SYSCALL_DEFINE3() argument
1714 return do_madvise(current->mm, start, len_in, behavior); in SYSCALL_DEFINE3()
1719 int behavior) in vector_madvise() argument
1728 iter_iov_len(iter), behavior); in vector_madvise()
1757 size_t, vlen, int, behavior, unsigned int, flags) in SYSCALL_DEFINE5() argument
1793 if (mm != current->mm && !process_madvise_remote_valid(behavior)) { in SYSCALL_DEFINE5()
1808 ret = vector_madvise(mm, &iter, behavior); in SYSCALL_DEFINE5()