| /linux/fs/proc/ |
| H A D | internal.h | 186 int mapcount = atomic_read(&page->_mapcount) + 1; in folio_precise_page_mapcount() local 188 if (page_mapcount_is_type(mapcount)) in folio_precise_page_mapcount() 189 mapcount = 0; in folio_precise_page_mapcount() 191 mapcount += folio_entire_mapcount(folio); in folio_precise_page_mapcount() 193 return mapcount; in folio_precise_page_mapcount() 220 int mapcount, entire_mapcount, avg; in folio_average_page_mapcount() local 225 mapcount = folio_large_mapcount(folio); in folio_average_page_mapcount() 226 if (unlikely(mapcount <= 0)) in folio_average_page_mapcount() 229 if (mapcount <= entire_mapcount) in folio_average_page_mapcount() 231 mapcount -= entire_mapcount; in folio_average_page_mapcount() [all …]
|
| H A D | task_mmu.c | 911 int mapcount; in smaps_account() local 954 mapcount = folio_average_page_mapcount(folio); in smaps_account() 967 mapcount = folio_precise_page_mapcount(folio, page); in smaps_account() 968 exclusive = mapcount < 2; in smaps_account() 971 if (mapcount >= 2) in smaps_account() 972 pss /= mapcount; in smaps_account() 1026 int mapcount; in smaps_pte_entry() local 1029 mapcount = swp_swapcount(entry); in smaps_pte_entry() 1030 if (mapcount >= 2) { in smaps_pte_entry() 1033 do_div(pss_delta, mapcount); in smaps_pte_entry()
|
| /linux/include/trace/events/ |
| H A D | page_ref.h | 23 __field(int, mapcount) 33 __entry->mapcount = atomic_read(&page->_mapcount); 43 __entry->mapcount, __entry->mapping, __entry->mt, 71 __field(int, mapcount) 82 __entry->mapcount = atomic_read(&page->_mapcount); 93 __entry->mapcount, __entry->mapping, __entry->mt,
|
| /linux/mm/ |
| H A D | debug.c | 74 int mapcount = atomic_read(&page->_mapcount) + 1; in __dump_folio() local 77 if (page_mapcount_is_type(mapcount)) in __dump_folio() 78 mapcount = 0; in __dump_folio() 81 folio_ref_count(folio), mapcount, mapping, in __dump_folio()
|
| H A D | rmap.c | 815 int mapcount; member 836 pra->mapcount--; in folio_referenced_one() 889 pra->mapcount--; in folio_referenced_one() 902 if (!pra->mapcount) in folio_referenced_one() 949 .mapcount = folio_mapcount(folio), in folio_referenced() 961 if (!pra.mapcount) in folio_referenced()
|
| H A D | filemap.c | 164 int mapcount = folio_mapcount(folio); in filemap_unaccount_folio() local 166 if (folio_ref_count(folio) >= mapcount + 2) { in filemap_unaccount_folio() 174 folio_ref_sub(folio, mapcount); in filemap_unaccount_folio()
|
| H A D | Kconfig | 969 bool "No per-page mapcount (EXPERIMENTAL)" 976 instead: for example, using the average per-page mapcount in such 977 a large allocation instead of the per-page mapcount.
|
| /linux/drivers/xen/ |
| H A D | xen-scsiback.c | 466 int mapcount = 0, i, err = 0; in scsiback_gnttab_data_map_list() local 471 if (gnttab_page_cache_get(&info->free_pages, pg + mapcount)) { in scsiback_gnttab_data_map_list() 472 gnttab_page_cache_put(&info->free_pages, pg, mapcount); in scsiback_gnttab_data_map_list() 476 gnttab_set_map_op(&map[mapcount], vaddr_page(pg[mapcount]), in scsiback_gnttab_data_map_list() 478 mapcount++; in scsiback_gnttab_data_map_list() 479 if (mapcount < VSCSI_GRANT_BATCH) in scsiback_gnttab_data_map_list() 481 err = scsiback_gnttab_data_map_batch(map, pg, grant, mapcount); in scsiback_gnttab_data_map_list() 482 pg += mapcount; in scsiback_gnttab_data_map_list() 483 grant += mapcount; in scsiback_gnttab_data_map_list() 484 pending_req->n_grants += mapcount; in scsiback_gnttab_data_map_list() [all …]
|
| /linux/include/linux/ |
| H A D | rmap.h | 230 int mapcount, struct vm_area_struct *vma) in folio_set_large_mapcount() argument 232 __folio_large_mapcount_sanity_checks(folio, mapcount, vma->vm_mm->mm_id); in folio_set_large_mapcount() 238 atomic_set(&folio->_large_mapcount, mapcount - 1); in folio_set_large_mapcount() 239 folio->_mm_id_mapcount[0] = mapcount - 1; in folio_set_large_mapcount() 344 static inline void folio_set_large_mapcount(struct folio *folio, int mapcount, in folio_set_large_mapcount() argument 348 atomic_set(&folio->_large_mapcount, mapcount - 1); in folio_set_large_mapcount()
|
| H A D | mm.h | 1391 int mapcount; in folio_mapcount() local 1394 mapcount = atomic_read(&folio->_mapcount) + 1; in folio_mapcount() 1395 if (page_mapcount_is_type(mapcount)) in folio_mapcount() 1396 mapcount = 0; in folio_mapcount() 1397 return mapcount; in folio_mapcount() 2397 int mapcount = folio_mapcount(folio); in folio_maybe_mapped_shared() local 2401 return mapcount > 1; in folio_maybe_mapped_shared() 2416 if (mapcount <= 1) in folio_maybe_mapped_shared()
|
| H A D | page-flags.h | 947 static inline bool page_mapcount_is_type(unsigned int mapcount) in page_mapcount_is_type() argument 949 return page_type_has_type(mapcount - 1); in page_mapcount_is_type()
|
| H A D | irqdomain.h | 174 unsigned int mapcount; member
|
| /linux/Documentation/translations/zh_CN/mm/ |
| H A D | page_migration.rst | 80 4. 所有对该页的页表引用都被转换为迁移条目。这就减少了一个页面的mapcount。如果产生的 81 mapcount不是零,那么我们就不迁移该页。所有试图访问该页的用户空间进程现在将等待页
|
| /linux/Documentation/dev-tools/ |
| H A D | kasan.rst | 230 page:ffffea0007d13b00 count:1 mapcount:0 mapping:ffff8801f7001640 index:0x0
|
| /linux/Documentation/admin-guide/ |
| H A D | kernel-parameters.txt | 774 mapcount/refcount, memcg_data, etc.).
|