| /linux/tools/testing/selftests/mm/ |
| H A D | madv_populate.c | 40 ret = madvise(addr, pagesize, MADV_POPULATE_READ); in sense_support() 44 ret = madvise(addr, pagesize, MADV_POPULATE_WRITE); in sense_support() 62 ret = madvise(addr, SIZE, MADV_POPULATE_READ); in test_prot_read() 65 ret = madvise(addr, SIZE, MADV_POPULATE_WRITE); in test_prot_read() 83 ret = madvise(addr, SIZE, MADV_POPULATE_READ); in test_prot_write() 87 ret = madvise(addr, SIZE, MADV_POPULATE_WRITE); in test_prot_write() 109 ret = madvise(addr, SIZE, MADV_POPULATE_READ); in test_holes() 112 ret = madvise(addr, SIZE, MADV_POPULATE_WRITE); in test_holes() 117 ret = madvise(addr, 2 * pagesize, MADV_POPULATE_READ); in test_holes() 120 ret = madvise(addr, 2 * pagesize, MADV_POPULATE_WRITE); in test_holes() [all …]
|
| H A D | guard-regions.c | 360 ASSERT_EQ(madvise(ptr, page_size, MADV_GUARD_INSTALL), 0); in TEST_F() 373 ASSERT_EQ(madvise(&ptr[(NUM_PAGES - 1) * page_size], page_size, in TEST_F() 381 ASSERT_FALSE(madvise(ptr, page_size, MADV_GUARD_REMOVE)); in TEST_F() 387 ASSERT_FALSE(madvise(&ptr[(NUM_PAGES - 1) * page_size], page_size, in TEST_F() 398 ASSERT_EQ(madvise(ptr, 3 * page_size, MADV_GUARD_INSTALL), 0); in TEST_F() 415 ASSERT_EQ(madvise(ptr, NUM_PAGES * page_size, MADV_GUARD_REMOVE), 0); in TEST_F() 428 ASSERT_EQ(madvise(ptr, NUM_PAGES * page_size, MADV_GUARD_REMOVE), 0); in TEST_F() 488 ASSERT_EQ(madvise(ptr_region, 100 * page_size, MADV_GUARD_INSTALL), -1); in TEST_F() 511 ASSERT_EQ(madvise(ptr_region, 100 * page_size, MADV_GUARD_REMOVE), -1); in TEST_F() 551 ASSERT_EQ(madvise(ptr_region, 100 * page_size, MADV_GUARD_INSTALL), 0); in TEST_F() [all …]
|
| H A D | hugetlb-madvise.c | 116 ret = madvise(addr - base_page_size, NR_HUGE_PAGES * huge_page_size, in main() 125 ret = madvise(addr, (NR_HUGE_PAGES * huge_page_size) + base_page_size, in main() 150 ret = madvise(addr + base_page_size, in main() 160 if (madvise(addr, in main() 187 if (madvise(addr, NR_HUGE_PAGES * huge_page_size, MADV_DONTNEED)) { in main() 219 if (madvise(addr, NR_HUGE_PAGES * huge_page_size, MADV_DONTNEED)) { in main() 230 if (madvise(addr, NR_HUGE_PAGES * huge_page_size, MADV_DONTNEED)) { in main() 278 if (madvise(addr, NR_HUGE_PAGES * huge_page_size, MADV_DONTNEED)) { in main() 289 if (madvise(addr, NR_HUGE_PAGES * huge_page_size, MADV_REMOVE)) { in main() 334 if (madvise(addr, NR_HUGE_PAGES * huge_page_size, MADV_DONTNEED)) { in main() [all …]
|
| H A D | khugepaged.c | 292 ret = madvise(p, size, MADV_COLLAPSE); in madvise_collapse_retry() 326 if (madvise(p, hpage_pmd_size, MADV_HUGEPAGE)) { in alloc_hpage() 419 if (madvise(((char *)p) + start, end - start, MADV_POPULATE_READ)) { in file_fault() 513 madvise(p, nr_hpages * hpage_pmd_size, MADV_HUGEPAGE); in __madvise_collapse() 549 madvise(p, nr_hpages * hpage_pmd_size, MADV_HUGEPAGE); in wait_for_scan() 632 madvise(p, page_size, MADV_DONTNEED); in alloc_at_fault() 719 if (madvise(p, page_size, MADV_PAGEOUT)) { in collapse_swapin_single_pte() 746 if (madvise(p, (max_ptes_swap + 1) * page_size, MADV_PAGEOUT)) { in collapse_max_ptes_swap() 765 if (madvise(p, max_ptes_swap * page_size, MADV_PAGEOUT)) { in collapse_max_ptes_swap() 797 madvise(p, hpage_pmd_size, MADV_NOHUGEPAGE); in collapse_single_pte_entry_compound() [all …]
|
| H A D | ksm_functional_tests.c | 101 if (madvise(map, size, MADV_NOHUGEPAGE) && errno != EINVAL) { in __mmap_and_merge_range() 128 if (madvise(map, size, MADV_MERGEABLE)) { in __mmap_and_merge_range() 186 if (madvise(map, size, MADV_UNMERGEABLE)) { in test_unmerge() 230 if (madvise(map, size / 2, MADV_UNMERGEABLE)) { in test_unmerge_zero_pages() 272 if (madvise(map, size / 2, MADV_DONTNEED)) { in test_unmerge_discarded() 277 if (madvise(map, size, MADV_UNMERGEABLE)) { in test_unmerge_discarded() 362 if (madvise(map, size, MADV_UNMERGEABLE)) { in test_unmerge_uffd_wp() 643 if (madvise(map + size / 2, size / 2, MADV_UNMERGEABLE)) { in test_prot_none()
|
| H A D | prctl_thp_disable.c | 57 madvise(mem, pmdsize, MADV_HUGEPAGE); in test_mmap_thp() 59 madvise(mem, pmdsize, MADV_NOHUGEPAGE); in test_mmap_thp() 65 madvise(mem, pmdsize, MADV_COLLAPSE); in test_mmap_thp() 121 FIXTURE_VARIANT_ADD(prctl_thp_disable_completely, madvise) in FIXTURE_VARIANT_ADD() argument 229 FIXTURE_VARIANT_ADD(prctl_thp_disable_except_madvise, madvise) in FIXTURE_VARIANT_ADD() argument
|
| H A D | cow.c | 781 ret = madvise(mem, pagesize, MADV_NOHUGEPAGE); in do_run_with_base_page() 793 madvise(mem, pagesize, MADV_PAGEOUT); in do_run_with_base_page() 848 ret = madvise(mem, thpsize, MADV_HUGEPAGE); in do_run_with_thp() 899 ret = madvise(mem + pagesize, thpsize - pagesize, MADV_DONTNEED); in do_run_with_thp() 935 ret = madvise(mem + pagesize, thpsize - pagesize, MADV_DONTFORK); in do_run_with_thp() 951 ret = madvise(mem + pagesize, thpsize - pagesize, MADV_DOFORK); in do_run_with_thp() 966 madvise(mem, size, MADV_PAGEOUT); in do_run_with_thp() 1297 ret = madvise(mem, size, MADV_COLLAPSE); in do_test_anon_thp_collapse() 1309 ret = madvise(mem + size / 2, size / 2, MADV_DONTFORK); in do_test_anon_thp_collapse() 1318 ret = madvise(mem, size / 2, MADV_DONTFORK); in do_test_anon_thp_collapse() [all …]
|
| H A D | transhuge-stress.c | 82 if (madvise(ptr, len, MADV_HUGEPAGE)) in main() 122 if (madvise(p, HPAGE_SIZE - psize(), MADV_DONTNEED)) in main()
|
| H A D | uffd-unit-tests.c | 361 if (madvise(gopts->area_dst, gopts->page_size, MADV_DONTNEED)) in uffd_wp_unpopulated_test() 371 if (madvise(gopts->area_dst, gopts->page_size, MADV_DONTNEED)) in uffd_wp_unpopulated_test() 378 if (madvise(gopts->area_dst, gopts->page_size, MADV_DONTNEED)) in uffd_wp_unpopulated_test() 419 if (madvise(gopts->area_dst, gopts->page_size, MADV_DONTNEED)) in uffd_wp_fork_test_common() 426 madvise(gopts->area_dst, gopts->page_size, MADV_PAGEOUT); in uffd_wp_fork_test_common() 587 if (madvise(gopts->area_dst_alias, gopts->nr_pages * gopts->page_size, in uffd_minor_test_common() 1139 if (madvise(gopts->area_src, gopts->nr_pages * gopts->page_size, MADV_DONTFORK)) in uffd_move_test_common() 1224 if (madvise(gopts->area_dst, gopts->nr_pages * gopts->page_size, MADV_HUGEPAGE)) in uffd_move_pmd_test() 1232 if (madvise(gopts->area_dst, gopts->nr_pages * gopts->page_size, MADV_NOHUGEPAGE)) in uffd_move_pmd_split_test() 1351 ret = madvise(gopts->area_dst, gopts->page_size, MADV_REMOVE); in uffd_mmap_changing_thread() [all …]
|
| H A D | gup_test.c | 238 madvise(p, size, MADV_HUGEPAGE); in main() 240 madvise(p, size, MADV_NOHUGEPAGE); in main()
|
| H A D | hmm-tests.c | 573 ret = madvise(map, size, MADV_HUGEPAGE); in TEST_F() 750 ret = madvise(map, size, MADV_HUGEPAGE); in TEST_F() 2128 ret = madvise(map, size, MADV_HUGEPAGE); in TEST_F() 2180 ret = madvise(map, size, MADV_HUGEPAGE); in TEST_F() 2243 ret = madvise(map, size, MADV_HUGEPAGE); in TEST_F() 2262 ret = madvise(map, size, MADV_FREE); in TEST_F() 2302 ret = madvise(map, size, MADV_HUGEPAGE); in TEST_F() 2363 ret = madvise(map, size, MADV_HUGEPAGE); in TEST_F() 2365 ret = madvise(map, size, MADV_NOHUGEPAGE); in TEST_F() 2436 ret = madvise(map, size, MADV_HUGEPAGE); in TEST_F() [all …]
|
| H A D | split_huge_page_test.c | 300 madvise(result, len, MADV_HUGEPAGE); in allocate_zero_filled_hugepage() 359 madvise(one_page, len, MADV_HUGEPAGE); in split_pmd_thp_to_order() 405 madvise(thp_area, thp_area_size, MADV_HUGEPAGE); in split_pte_mapped_thp() 653 madvise(*addr, fd_size, MADV_HUGEPAGE); in create_pagecache_thp_and_fd()
|
| H A D | .gitignore | 7 hugetlb-madvise
|
| H A D | hugetlb_madv_vs_map.c | 47 madvise(huge_ptr, mmap_size, MADV_DONTNEED); in madv()
|
| H A D | uffd-common.c | 55 if (madvise(rel_area, gopts->nr_pages * gopts->page_size, MADV_DONTNEED)) in anon_release_pages() 78 if (madvise(rel_area, gopts->nr_pages * gopts->page_size, MADV_DONTNEED)) in hugetlb_release_pages() 81 if (madvise(rel_area, gopts->nr_pages * gopts->page_size, MADV_REMOVE)) in hugetlb_release_pages() 133 if (madvise(rel_area, gopts->nr_pages * gopts->page_size, MADV_REMOVE)) in shmem_release_pages()
|
| H A D | hugetlb_fault_after_madv.c | 49 madvise(huge_ptr, huge_page_size, MADV_DONTNEED); in madv()
|
| H A D | migration.c | 200 ASSERT_EQ(madvise(ptr, TWOMEG, MADV_HUGEPAGE), 0); 232 ASSERT_EQ(madvise(ptr, TWOMEG, MADV_HUGEPAGE), 0);
|
| /linux/Documentation/translations/zh_CN/admin-guide/mm/ |
| H A D | ksm.rst | 35 以madvise控制KSM 38 KSM仅在特定的地址空间区域时运行,即应用程序通过使用如下所示的madvise(2)系统调 41 int madvise(addr, length, MADV_MERGEABLE) 45 int madvise(addr, length, MADV_UNMERGEABLE) 51 如果KSM未被配置到正在运行的内核中,则madvise MADV_MERGEABLE 和 MADV_UNMERGEABLE 58 当该进程将超过 ``vm.max_map_count`` 的设定,则madvise可能返回ENOMEM。(请参阅文档 61 与其他madvise调用一样,它们在用户地址空间的映射区域上使用:如果指定的范围包含未 174 味着不好的madvise-applied策略,所以开发者或管理员必须重新考虑如何改变madvis策 177 的比例在64位CPU上超过64,或者在32位CPU上超过128,那么应用程序的madvise策略应 185 是否或如何使用KSM。例如,如果cow_ksm增加得太快,用户可以减少madvise(, , MADV_MERGEABLE)
|
| /linux/Documentation/translations/zh_TW/admin-guide/mm/ |
| H A D | ksm.rst | 35 以madvise控制KSM 38 KSM僅在特定的地址空間區域時運行,即應用程序通過使用如下所示的madvise(2)系統調 41 int madvise(addr, length, MADV_MERGEABLE) 45 int madvise(addr, length, MADV_UNMERGEABLE) 51 如果KSM未被配置到正在運行的內核中,則madvise MADV_MERGEABLE 和 MADV_UNMERGEABLE 58 當該進程將超過 ``vm.max_map_count`` 的設定,則madvise可能返回ENOMEM。(請參閱文檔 61 與其他madvise調用一樣,它們在用戶地址空間的映射區域上使用:如果指定的範圍包含未 174 味着不好的madvise-applied策略,所以開發者或管理員必須重新考慮如何改變madvis策 177 的比例在64位CPU上超過64,或者在32位CPU上超過128,那麼應用程序的madvise策略應 185 是否或如何使用KSM。例如,如果cow_ksm增加得太快,用戶可以減少madvise(, , MADV_MERGEABLE)
|
| /linux/tools/mm/ |
| H A D | thp_swap_allocator_test.c | 76 if (madvise(addr, align_size, MADV_DONTNEED) != 0) in random_madvise_dontneed() 138 if (madvise(mem1, MEMSIZE_MTHP, MADV_HUGEPAGE) != 0) { in main() 152 if (madvise(mem2, MEMSIZE_SMALLFOLIO, MADV_NOHUGEPAGE) != 0) { in main() 162 madvise(mem1, MEMSIZE_MTHP, MADV_PAGEOUT); in main() 165 madvise(mem2, MEMSIZE_SMALLFOLIO, MADV_PAGEOUT); in main() 199 if (madvise(mem1, MEMSIZE_MTHP, MADV_PAGEOUT) != 0) { in main() 208 if (madvise(mem2, MEMSIZE_SMALLFOLIO, MADV_PAGEOUT) != 0) { in main()
|
| /linux/Documentation/admin-guide/mm/ |
| H A D | transhuge.rst | 69 interface and using madvise(2) and prctl(2) system calls. 92 MADV_HUGEPAGE madvise regions. 94 Embedded systems should enable hugepages only inside madvise regions 100 madvise(MADV_HUGEPAGE) on their critical mmapped regions. 116 echo madvise >/sys/kernel/mm/transparent_hugepage/hugepages-<size>kB/enabled 123 Transparent Huge Pages globally. This is because ``madvise(..., 144 echo madvise >/sys/kernel/mm/transparent_hugepage/enabled 153 anonymous hugepages in case they're not immediately free to madvise 165 echo defer+madvise >/sys/kernel/mm/transparent_hugepage/defrag 166 echo madvise >/sys/kernel/mm/transparent_hugepage/defrag [all …]
|
| H A D | ksm.rst | 30 Controlling KSM with madvise 34 has advised to be likely candidates for merging, by using the madvise(2) 37 int madvise(addr, length, MADV_MERGEABLE) 43 int madvise(addr, length, MADV_UNMERGEABLE) 50 If KSM is not configured into the running kernel, madvise MADV_MERGEABLE 59 or MADV_UNMERGEABLE region, the madvise may return ENOMEM if the process 62 Like other madvise calls, they are intended for use on mapped areas of 227 indicate poor use of madvise MADV_MERGEABLE. 266 ``ksm_merging_pages`` means a bad madvise-applied policy, so developers or 267 administrators have to rethink how to change madvise policy. Giving an example [all …]
|
| /linux/arch/um/os-Linux/ |
| H A D | process.c | 132 err = madvise(addr, length, MADV_REMOVE); in os_drop_memory() 159 if (madvise(addr, UM_KERN_PAGE_SIZE, MADV_REMOVE) != 0) { in can_drop_memory()
|
| H A D | mem.c | 43 if (madvise(start, len, MADV_DONTDUMP)) { in kasan_map_memory() 49 if (madvise(start, len, MADV_DONTFORK)) { in kasan_map_memory()
|
| /linux/tools/testing/selftests/bpf/ |
| H A D | uprobe_multi.c | 110 madvise(addr, page_sz, MADV_POPULATE_READ); in trigger_uprobe() 112 madvise(addr, page_sz, MADV_PAGEOUT); in trigger_uprobe()
|