Lines Matching full:behavior
50 static int madvise_need_mmap_write(int behavior) in madvise_need_mmap_write() argument
52 switch (behavior) { in madvise_need_mmap_write()
823 int behavior) in madvise_dontneed_free_valid_vma() argument
828 if (behavior != MADV_DONTNEED_LOCKED) in madvise_dontneed_free_valid_vma()
834 if (behavior != MADV_DONTNEED && behavior != MADV_DONTNEED_LOCKED) in madvise_dontneed_free_valid_vma()
853 int behavior) in madvise_dontneed_free() argument
858 if (!madvise_dontneed_free_valid_vma(vma, start, &end, behavior)) in madvise_dontneed_free()
876 behavior)) in madvise_dontneed_free()
896 if (behavior == MADV_DONTNEED || behavior == MADV_DONTNEED_LOCKED) in madvise_dontneed_free()
898 else if (behavior == MADV_FREE) in madvise_dontneed_free()
907 int behavior) in madvise_populate() argument
909 const bool write = behavior == MADV_POPULATE_WRITE; in madvise_populate()
1011 * Apply an madvise behavior to a region of a vma. madvise_update_vma
1013 * behavior.
1018 unsigned long behavior) in madvise_vma_behavior() argument
1024 switch (behavior) { in madvise_vma_behavior()
1036 return madvise_dontneed_free(vma, prev, start, end, behavior); in madvise_vma_behavior()
1039 return madvise_populate(vma, prev, start, end, behavior); in madvise_vma_behavior()
1076 error = ksm_madvise(vma, start, end, behavior, &new_flags); in madvise_vma_behavior()
1082 error = hugepage_madvise(vma, &new_flags, behavior); in madvise_vma_behavior()
1110 static int madvise_inject_error(int behavior, in madvise_inject_error() argument
1136 if (behavior == MADV_SOFT_OFFLINE) { in madvise_inject_error()
1157 madvise_behavior_valid(int behavior) in madvise_behavior_valid() argument
1159 switch (behavior) { in madvise_behavior_valid()
1198 static bool process_madvise_behavior_valid(int behavior) in process_madvise_behavior_valid() argument
1200 switch (behavior) { in process_madvise_behavior_valid()
1336 * behavior values:
1337 * MADV_NORMAL - the default behavior is to read clusters. This
1388 * "behavior" is not a valid value, or application
1398 int do_madvise(struct mm_struct *mm, unsigned long start, size_t len_in, int behavior) in do_madvise() argument
1406 if (!madvise_behavior_valid(behavior)) in do_madvise()
1425 if (behavior == MADV_HWPOISON || behavior == MADV_SOFT_OFFLINE) in do_madvise()
1426 return madvise_inject_error(behavior, start, start + len_in); in do_madvise()
1429 write = madvise_need_mmap_write(behavior); in do_madvise()
1441 error = madvise_walk_vmas(mm, start, end, behavior, in do_madvise()
1452 SYSCALL_DEFINE3(madvise, unsigned long, start, size_t, len_in, int, behavior) in SYSCALL_DEFINE3() argument
1454 return do_madvise(current->mm, start, len_in, behavior); in SYSCALL_DEFINE3()
1458 size_t, vlen, int, behavior, unsigned int, flags) in SYSCALL_DEFINE5() argument
1484 if (!process_madvise_behavior_valid(behavior)) { in SYSCALL_DEFINE5()
1509 iter_iov_len(&iter), behavior); in SYSCALL_DEFINE5()