| /linux-6.15/mm/ |
| H A D | hugetlb_vmemmap.h | 23 int hugetlb_vmemmap_restore_folio(const struct hstate *h, struct folio *folio); 24 long hugetlb_vmemmap_restore_folios(const struct hstate *h, 27 void hugetlb_vmemmap_optimize_folio(const struct hstate *h, struct folio *folio); 28 void hugetlb_vmemmap_optimize_folios(struct hstate *h, struct list_head *folio_list); 29 void hugetlb_vmemmap_optimize_bootmem_folios(struct hstate *h, struct list_head *folio_list); 36 static inline unsigned int hugetlb_vmemmap_size(const struct hstate *h) in hugetlb_vmemmap_size() 45 static inline unsigned int hugetlb_vmemmap_optimizable_size(const struct hstate *h) in hugetlb_vmemmap_optimizable_size() 59 static inline long hugetlb_vmemmap_restore_folios(const struct hstate *h, in hugetlb_vmemmap_restore_folios() 75 static inline void hugetlb_vmemmap_optimize_bootmem_folios(struct hstate *h, in hugetlb_vmemmap_optimize_bootmem_folios() 88 static inline unsigned int hugetlb_vmemmap_optimizable_size(const struct hstate *h) in hugetlb_vmemmap_optimizable_size() [all …]
|
| H A D | hugetlb_cma.h | 7 struct folio *hugetlb_cma_alloc_folio(struct hstate *h, gfp_t gfp_mask, 9 struct huge_bootmem_page *hugetlb_cma_alloc_bootmem(struct hstate *h, int *nid, 15 bool hugetlb_early_cma(struct hstate *h); 21 static inline struct folio *hugetlb_cma_alloc_folio(struct hstate *h, in hugetlb_cma_alloc_folio() 28 struct huge_bootmem_page *hugetlb_cma_alloc_bootmem(struct hstate *h, int *nid, in hugetlb_cma_alloc_bootmem() 52 static inline bool hugetlb_early_cma(struct hstate *h) in hugetlb_early_cma()
|
| H A D | hugetlb.c | 176 spool->hstate = h; in hugepage_new_subpool() 1816 struct hstate *h; in size_to_hstate() 2227 struct hstate *h; in dissolve_free_hugetlb_folios() 2901 struct hstate *h; in isolate_or_dissolve_huge_page() 2944 struct hstate *h; in replace_free_hugepage_folios() 3234 m->hstate = h; in alloc_bootmem() 3446 h = m->hstate; in gather_bootmem_prealloc_node() 3592 struct hstate *h = (struct hstate *)arg; in hugetlb_pages_alloc_boot_node() 3748 struct hstate *h; in report_hugepages() 4189 struct hstate *h; in nr_hugepages_show_common() [all …]
|
| H A D | hugetlb_vmemmap.c | 453 static int __hugetlb_vmemmap_restore_folio(const struct hstate *h, in __hugetlb_vmemmap_restore_folio() 499 int hugetlb_vmemmap_restore_folio(const struct hstate *h, struct folio *folio) in hugetlb_vmemmap_restore_folio() 517 long hugetlb_vmemmap_restore_folios(const struct hstate *h, in hugetlb_vmemmap_restore_folios() 563 static int __hugetlb_vmemmap_optimize_folio(const struct hstate *h, in __hugetlb_vmemmap_optimize_folio() 652 static void __hugetlb_vmemmap_optimize_folios(struct hstate *h, in __hugetlb_vmemmap_optimize_folios() 757 if (!hugetlb_vmemmap_optimizable(m->hstate)) in vmemmap_should_optimize_bootmem_page() 760 psize = huge_page_size(m->hstate); in vmemmap_should_optimize_bootmem_page() 813 nr_pages = pages_per_huge_page(m->hstate); in hugetlb_vmemmap_init_early() 846 struct hstate *h; in hugetlb_vmemmap_init_late() 860 h = m->hstate; in hugetlb_vmemmap_init_late() [all …]
|
| H A D | page_vma_mapped.c | 200 struct hstate *hstate = hstate_vma(vma); in page_vma_mapped_walk() local 201 unsigned long size = huge_page_size(hstate); in page_vma_mapped_walk() 214 pvmw->ptl = huge_pte_lock(hstate, mm, pvmw->pte); in page_vma_mapped_walk() 215 if (!check_pte(pvmw, pages_per_huge_page(hstate))) in page_vma_mapped_walk()
|
| H A D | hugetlb_cma.c | 29 struct folio *hugetlb_cma_alloc_folio(struct hstate *h, gfp_t gfp_mask, in hugetlb_cma_alloc_folio() 57 hugetlb_cma_alloc_bootmem(struct hstate *h, int *nid, bool node_exact) in hugetlb_cma_alloc_bootmem() 269 bool __init hugetlb_early_cma(struct hstate *h) in hugetlb_early_cma()
|
| H A D | hugetlb_cgroup.c | 88 struct hstate *h; in hugetlb_cgroup_have_usage() 233 struct hstate *h; in hugetlb_cgroup_css_offline() 813 hugetlb_cgroup_cfttypes_init(struct hstate *h, struct cftype *cft, in hugetlb_cgroup_cfttypes_init() 840 static void __init __hugetlb_cgroup_file_dfl_init(struct hstate *h) in __hugetlb_cgroup_file_dfl_init() 848 static void __init __hugetlb_cgroup_file_legacy_init(struct hstate *h) in __hugetlb_cgroup_file_legacy_init() 856 static void __init __hugetlb_cgroup_file_init(struct hstate *h) in __hugetlb_cgroup_file_init() 884 struct hstate *h; in hugetlb_cgroup_file_init() 900 struct hstate *h = folio_hstate(old_folio); in hugetlb_cgroup_migrate()
|
| /linux-6.15/include/linux/ |
| H A D | hugetlb.h | 44 struct hstate *hstate; member 168 bool hugetlbfs_pagecache_present(struct hstate *h, 506 struct hstate *hstate; member 539 return HUGETLBFS_SB(i->i_sb)->hstate; in hstate_inode() 665 struct hstate { struct 692 struct hstate *hstate; argument 726 struct hstate *size_to_hstate(unsigned long size); 732 extern struct hstate hstates[HUGE_MAX_HSTATE]; 860 static inline int hstate_index(struct hstate *h) in hstate_index() 1073 struct hstate {}; [all …]
|
| /linux-6.15/drivers/gpu/drm/atmel-hlcdc/ |
| H A D | atmel_hlcdc_plane.c | 735 if ((hstate->src_x | hstate->src_y | hstate->src_w | hstate->src_h) & in atmel_hlcdc_plane_atomic_check() 761 offset += ((hstate->src_x + hstate->src_w - 1) / in atmel_hlcdc_plane_atomic_check() 769 offset = ((hstate->src_y + hstate->src_h - 1) / in atmel_hlcdc_plane_atomic_check() 771 offset += ((hstate->src_x + hstate->src_w - 1) / in atmel_hlcdc_plane_atomic_check() 775 hstate->pstride[i] = -2 * hstate->bpp[i]; in atmel_hlcdc_plane_atomic_check() 778 offset = ((hstate->src_y + hstate->src_h - 1) / in atmel_hlcdc_plane_atomic_check() 780 offset += (hstate->src_x / xdiv) * hstate->bpp[i]; in atmel_hlcdc_plane_atomic_check() 781 hstate->xstride[i] = ((hstate->src_h - 1) / ydiv) * in atmel_hlcdc_plane_atomic_check() 788 offset += (hstate->src_x / xdiv) * hstate->bpp[i]; in atmel_hlcdc_plane_atomic_check() 803 swap(hstate->src_w, hstate->src_h); in atmel_hlcdc_plane_atomic_check() [all …]
|
| H A D | atmel_hlcdc_crtc.c | 418 struct atmel_hlcdc_crtc_state *hstate; in atmel_hlcdc_crtc_select_output_mode() local 445 hstate = drm_crtc_state_to_atmel_hlcdc_crtc_state(state); in atmel_hlcdc_crtc_select_output_mode() 446 hstate->output_mode = fls(output_fmts) - 1; in atmel_hlcdc_crtc_select_output_mode() 450 hstate->output_mode -= 4; in atmel_hlcdc_crtc_select_output_mode() 451 hstate->dpi = 1; in atmel_hlcdc_crtc_select_output_mode() 453 hstate->dpi = 0; in atmel_hlcdc_crtc_select_output_mode()
|
| /linux-6.15/arch/powerpc/mm/book3s64/ |
| H A D | radix_hugetlbpage.c | 13 struct hstate *hstate = hstate_file(vma->vm_file); in radix__flush_hugetlb_page() local 15 psize = hstate_get_psize(hstate); in radix__flush_hugetlb_page() 22 struct hstate *hstate = hstate_file(vma->vm_file); in radix__local_flush_hugetlb_page() local 24 psize = hstate_get_psize(hstate); in radix__local_flush_hugetlb_page() 32 struct hstate *hstate = hstate_file(vma->vm_file); in radix__flush_hugetlb_tlb_range() local 34 psize = hstate_get_psize(hstate); in radix__flush_hugetlb_tlb_range()
|
| H A D | slice.c | 641 struct hstate *hstate = hstate_file(file); in file_to_psize() local 643 return shift_to_mmu_psize(huge_page_shift(hstate)); in file_to_psize()
|
| /linux-6.15/Documentation/translations/zh_CN/mm/ |
| H A D | hugetlbfs_reserv.rst | 39 这是一个全局的(per-hstate)预留的巨页的计数。预留的巨页只对预留它们的任 240 有一个结构体hstate与每个巨页尺寸相关联。hstate跟踪所有指定大小的巨页。一个子池代表一 241 个hstate中的页面子集,它与一个已挂载的hugetlbfs文件系统相关 344 long vma_needs_reservation(struct hstate *h, 350 long vma_commit_reservation(struct hstate *h, 359 void vma_end_reservation(struct hstate *h, 366 long vma_add_reservation(struct hstate *h, 409 当git第一次被用来管理Linux代码时,每个节点的巨页列表就存在于hstate结构中。预留的概念是
|
| /linux-6.15/fs/hugetlbfs/ |
| H A D | inode.c | 53 struct hstate *hstate; member 104 struct hstate *h = hstate_file(file); in hugetlbfs_file_mmap() 178 struct hstate *h = hstate_file(file); in hugetlb_get_unmapped_area() 239 struct hstate *h = hstate_file(file); in hugetlbfs_read_iter() 574 struct hstate *h = hstate_inode(inode); in remove_inode_hugepages() 1302 struct hstate *h; in hugetlbfs_parse_param() 1348 ctx->hstate = h; in hugetlbfs_parse_param() 1411 sbinfo->hstate = ctx->hstate; in hugetlbfs_fill_super() 1485 ctx->hstate = &default_hstate; in hugetlbfs_init_fs_context() 1589 ctx->hstate = h; in mount_one_hugetlbfs() [all …]
|
| /linux-6.15/arch/powerpc/mm/ |
| H A D | hugetlbpage.c | 107 static int __init pseries_alloc_bootmem_huge_page(struct hstate *hstate) in pseries_alloc_bootmem_huge_page() argument 115 m->hstate = hstate; in pseries_alloc_bootmem_huge_page() 127 int __init alloc_bootmem_huge_page(struct hstate *h, int nid) in alloc_bootmem_huge_page()
|
| /linux-6.15/arch/powerpc/include/asm/book3s/64/ |
| H A D | hugetlb.h | 19 static inline int hstate_get_psize(struct hstate *hstate) in hstate_get_psize() argument 23 shift = huge_page_shift(hstate); in hstate_get_psize()
|
| /linux-6.15/arch/powerpc/mm/nohash/ |
| H A D | e500_hugetlbpage.c | 189 struct hstate *hstate = hstate_file(vma->vm_file); in flush_hugetlb_page() local 190 unsigned long tsize = huge_page_shift(hstate) - 10; in flush_hugetlb_page()
|
| /linux-6.15/kernel/events/ |
| H A D | uprobes.c | 724 switch (*hstate) { in hprobe_consume() 744 switch (hstate) { in hprobe_finalize() 755 WARN(1, "hprobe invalid state %d", hstate); in hprobe_finalize() 778 enum hprobe_state hstate; in hprobe_expire() local 790 hstate = READ_ONCE(hprobe->state); in hprobe_expire() 791 switch (hstate) { in hprobe_expire() 839 WARN(1, "unknown hprobe state %d", hstate); in hprobe_expire() 1945 enum hprobe_state hstate; in free_ret_instance() local 1948 hprobe_finalize(&ri->hprobe, hstate); in free_ret_instance() 2610 enum hprobe_state hstate; in uprobe_handle_trampoline() local [all …]
|
| /linux-6.15/arch/riscv/include/asm/ |
| H A D | hugetlb.h | 15 bool arch_hugetlb_migration_supported(struct hstate *h);
|
| /linux-6.15/arch/arm64/include/asm/ |
| H A D | hugetlb.h | 19 extern bool arch_hugetlb_migration_supported(struct hstate *h);
|
| /linux-6.15/arch/powerpc/include/asm/ |
| H A D | kvm_book3s_asm.h | 140 struct kvmppc_host_state hstate; member
|
| /linux-6.15/arch/riscv/mm/ |
| H A D | hugetlbpage.c | 128 unsigned long hugetlb_mask_last_page(struct hstate *h) in hugetlb_mask_last_page() 434 bool arch_hugetlb_migration_supported(struct hstate *h) in arch_hugetlb_migration_supported()
|
| /linux-6.15/Documentation/mm/ |
| H A D | hugetlbfs_reserv.rst | 34 This is a global (per-hstate) count of reserved huge pages. Reserved 301 There is a struct hstate associated with each huge page size. The hstate 303 of pages within a hstate that is associated with a mounted hugetlbfs 466 long vma_needs_reservation(struct hstate *h, 473 long vma_commit_reservation(struct hstate *h, 485 void vma_end_reservation(struct hstate *h, 494 long vma_add_reservation(struct hstate *h, 555 Per-node huge page lists existed in struct hstate when git was first used
|
| /linux-6.15/arch/arm64/mm/ |
| H A D | hugetlbpage.c | 69 bool arch_hugetlb_migration_supported(struct hstate *h) in arch_hugetlb_migration_supported() 330 unsigned long hugetlb_mask_last_page(struct hstate *h) in hugetlb_mask_last_page()
|
| /linux-6.15/mm/damon/ |
| H A D | vaddr.c | 374 struct hstate *h = hstate_vma(walk->vma); in damon_mkold_hugetlb_entry() 509 struct hstate *h = hstate_vma(walk->vma); in damon_young_hugetlb_entry()
|