Home
last modified time | relevance | path

Searched refs:hstate (Results 1 – 25 of 33) sorted by relevance

12

/linux/include/linux/
H A Dhugetlb.h45 struct hstate *hstate; member
119 struct hugepage_subpool *hugepage_new_subpool(struct hstate *h, long max_hpages,
168 bool hugetlbfs_pagecache_present(struct hstate *h,
242 unsigned long hugetlb_mask_last_page(struct hstate *h);
502 struct hstate *hstate; member
533 static inline struct hstate *hstate_inode(struct inode *i) in hstate_inode()
535 return HUGETLBFS_SB(i->i_sb)->hstate; in hstate_inode()
547 static inline struct hstate *hstate_inode(struct inode *i) in hstate_inode()
661 struct hstate { struct
688 struct hstate *hstate; argument
[all …]
/linux/arch/powerpc/mm/book3s64/
H A Dradix_hugetlbpage.c13 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()
/linux/mm/
H A Dhugetlb_sysfs.c26 static struct hstate *kobj_to_node_hstate(struct kobject *kobj, int *nidp);
28 static struct hstate *kobj_to_hstate(struct kobject *kobj, int *nidp) in kobj_to_hstate()
45 struct hstate *h; in nr_hugepages_show_common()
62 struct hstate *h; in nr_hugepages_store_common()
113 struct hstate *h = kobj_to_hstate(kobj, NULL); in nr_overcommit_hugepages_show()
122 struct hstate *h = kobj_to_hstate(kobj, NULL); in nr_overcommit_hugepages_store()
142 struct hstate *h; in free_hugepages_show()
159 struct hstate *h = kobj_to_hstate(kobj, NULL); in resv_hugepages_show()
167 struct hstate *h; in surplus_hugepages_show()
187 struct hstate *h; in demote_store()
[all …]
H A Dhugetlb_internal.h19 static inline bool hstate_is_gigantic_no_runtime(struct hstate *h) in hstate_is_gigantic_no_runtime()
71 static inline int hstate_next_node_to_free(struct hstate *h, nodemask_t *nodes_allowed) in hstate_next_node_to_free()
95 extern void remove_hugetlb_folio(struct hstate *h, struct folio *folio,
97 extern void add_hugetlb_folio(struct hstate *h, struct folio *folio,
100 extern void prep_and_add_allocated_folios(struct hstate *h,
102 extern long demote_pool_huge_page(struct hstate *src,
106 struct hstate *h, int nid,
H A Dhugetlb.c57 struct hstate hstates[HUGE_MAX_HSTATE];
82 static struct hstate * __initdata parsed_hstate;
117 static int hugetlb_acct_memory(struct hstate *h, long delta);
156 hugetlb_acct_memory(spool->hstate, in unlock_or_release_subpool()
162 struct hugepage_subpool *hugepage_new_subpool(struct hstate *h, long max_hpages, in hugepage_new_subpool()
174 spool->hstate = h; in hugepage_new_subpool()
499 struct hstate *h, in record_hugetlb_cgroup_uncharge_info()
581 long to, struct hstate *h, struct hugetlb_cgroup *cg, in hugetlb_resv_map_add()
607 struct hstate *h, long *regions_needed) in add_reservation_in_range()
739 long in_regions_needed, struct hstate *h, in region_add()
[all …]
H A Dhugetlb_cma.h9 struct huge_bootmem_page *hugetlb_cma_alloc_bootmem(struct hstate *h, int *nid,
15 bool hugetlb_early_cma(struct hstate *h);
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 Dhugetlb_vmemmap.c454 static int __hugetlb_vmemmap_restore_folio(const struct hstate *h, in __hugetlb_vmemmap_restore_folio()
500 int hugetlb_vmemmap_restore_folio(const struct hstate *h, struct folio *folio) in hugetlb_vmemmap_restore_folio()
518 long hugetlb_vmemmap_restore_folios(const struct hstate *h, in hugetlb_vmemmap_restore_folios()
550 static bool vmemmap_should_optimize_folio(const struct hstate *h, struct folio *folio) in vmemmap_should_optimize_folio()
564 static int __hugetlb_vmemmap_optimize_folio(const struct hstate *h, in __hugetlb_vmemmap_optimize_folio()
626 void hugetlb_vmemmap_optimize_folio(const struct hstate *h, struct folio *folio) in hugetlb_vmemmap_optimize_folio()
634 static int hugetlb_vmemmap_split_folio(const struct hstate *h, struct folio *folio) in hugetlb_vmemmap_split_folio()
653 static void __hugetlb_vmemmap_optimize_folios(struct hstate *h, in __hugetlb_vmemmap_optimize_folios()
737 void hugetlb_vmemmap_optimize_folios(struct hstate *h, struct list_head *folio_list) in hugetlb_vmemmap_optimize_folios()
742 void hugetlb_vmemmap_optimize_bootmem_folios(struct hstate *h, struct list_head *folio_list) in hugetlb_vmemmap_optimize_bootmem_folios()
[all …]
H A Dpage_vma_mapped.c196 struct hstate *hstate = hstate_vma(vma); in page_vma_mapped_walk() local
197 unsigned long size = huge_page_size(hstate); in page_vma_mapped_walk()
210 pvmw->ptl = huge_pte_lock(hstate, mm, pvmw->pte); in page_vma_mapped_walk()
211 if (!check_pte(pvmw, pages_per_huge_page(hstate))) in page_vma_mapped_walk()
H A Dhugetlb_sysctl.c32 struct hstate *h = &default_hstate; in hugetlb_sysctl_handler_common()
71 struct hstate *h = &default_hstate; in hugetlb_overcommit_handler()
H A Dhugetlb_cma.c56 hugetlb_cma_alloc_bootmem(struct hstate *h, int *nid, bool node_exact) in hugetlb_cma_alloc_bootmem()
271 bool __init hugetlb_early_cma(struct hstate *h) in hugetlb_early_cma()
H A Dpagewalk.c312 static unsigned long hugetlb_entry_end(struct hstate *h, unsigned long addr, in hugetlb_entry_end()
323 struct hstate *h = hstate_vma(vma); in walk_hugetlb_range()
H A Dmemfd.c82 struct hstate *h = hstate_file(memfd); in memfd_alloc_folio()
/linux/Documentation/translations/zh_CN/mm/
H A Dhugetlbfs_reserv.rst39 这是一个全局的(per-hstate)预留的巨页的计数。预留的巨页只对预留它们的任
240 有一个结构体hstate与每个巨页尺寸相关联。hstate跟踪所有指定大小的巨页。一个子池代表一
241hstate中的页面子集,它与一个已挂载的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/fs/hugetlbfs/
H A Dinode.c53 struct hstate *hstate; member
111 struct hstate *h = hstate_file(file); in hugetlbfs_file_mmap_prepare()
198 struct hstate *h = hstate_file(file); in hugetlb_get_unmapped_area()
242 struct hstate *h = hstate_file(file); in hugetlbfs_read_iter()
399 static void hugetlb_unmap_file_folio(struct hstate *h, in hugetlb_unmap_file_folio()
518 static bool remove_inode_single_folio(struct hstate *h, struct inode *inode, in remove_inode_single_folio()
580 struct hstate *h = hstate_inode(inode); in remove_inode_hugepages()
642 struct hstate *h = hstate_inode(inode); in hugetlb_vmtruncate()
656 static void hugetlbfs_zero_partial_page(struct hstate *h, in hugetlbfs_zero_partial_page()
683 struct hstate *h = hstate_inode(inode); in hugetlbfs_punch_hole()
[all …]
/linux/arch/powerpc/mm/nohash/
H A De500_hugetlbpage.c189 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/kernel/events/
H A Duprobes.c735 static inline struct uprobe *hprobe_consume(struct hprobe *hprobe, enum hprobe_state *hstate) in hprobe_consume() argument
737 *hstate = xchg(&hprobe->state, HPROBE_CONSUMED); in hprobe_consume()
738 switch (*hstate) { in hprobe_consume()
746 WARN(1, "hprobe invalid state %d", *hstate); in hprobe_consume()
756 static void hprobe_finalize(struct hprobe *hprobe, enum hprobe_state hstate) in hprobe_finalize() argument
758 switch (hstate) { in hprobe_finalize()
769 WARN(1, "hprobe invalid state %d", hstate); in hprobe_finalize()
792 enum hprobe_state hstate; in hprobe_expire() local
804 hstate = READ_ONCE(hprobe->state); in hprobe_expire()
805 switch (hstate) { in hprobe_expire()
[all …]
/linux/arch/riscv/include/asm/
H A Dhugetlb.h15 bool arch_hugetlb_migration_supported(struct hstate *h);
/linux/arch/powerpc/include/asm/
H A Dkvm_book3s_asm.h140 struct kvmppc_host_state hstate; member
/linux/arch/arm64/include/asm/
H A Dhugetlb.h19 extern bool arch_hugetlb_migration_supported(struct hstate *h);
/linux/arch/riscv/mm/
H A Dhugetlbpage.c128 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/Documentation/mm/
H A Dhugetlbfs_reserv.rst34 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/arch/arm64/mm/
H A Dhugetlbpage.c69 bool arch_hugetlb_migration_supported(struct hstate *h) in arch_hugetlb_migration_supported()
323 unsigned long hugetlb_mask_last_page(struct hstate *h) in hugetlb_mask_last_page()
/linux/mm/damon/
H A Dvaddr.c365 struct hstate *h = hstate_vma(walk->vma); in damon_mkold_hugetlb_entry()
485 struct hstate *h = hstate_vma(walk->vma); in damon_young_hugetlb_entry()
/linux/arch/powerpc/mm/
H A Dpgtable.c278 struct hstate *h = hstate_vma(vma); in huge_ptep_set_access_flags()
/linux/ipc/
H A Dshm.c741 struct hstate *hs; in newseg()
943 struct hstate *h = hstate_file(shp->shm_file); in shm_add_rss_swap()

12