Symbol: ptdesc
arch/arm/include/asm/tlb.h
35
struct ptdesc *ptdesc = page_ptdesc(pte);
arch/arm/include/asm/tlb.h
46
tlb_remove_ptdesc(tlb, ptdesc);
arch/arm/include/asm/tlb.h
53
struct ptdesc *ptdesc = virt_to_ptdesc(pmdp);
arch/arm/include/asm/tlb.h
55
tlb_remove_ptdesc(tlb, ptdesc);
arch/arm/mm/mmu.c
735
void *ptdesc = pagetable_alloc(GFP_PGTABLE_KERNEL & ~__GFP_HIGHMEM,
arch/arm/mm/mmu.c
738
if (!ptdesc || !pagetable_pte_ctor(NULL, ptdesc))
arch/arm/mm/mmu.c
740
return ptdesc_address(ptdesc);
arch/arm64/include/asm/tlb.h
102
tlb_remove_ptdesc(tlb, ptdesc);
arch/arm64/include/asm/tlb.h
110
struct ptdesc *ptdesc = virt_to_ptdesc(p4dp);
arch/arm64/include/asm/tlb.h
115
tlb_remove_ptdesc(tlb, ptdesc);
arch/arm64/include/asm/tlb.h
78
struct ptdesc *ptdesc = page_ptdesc(pte);
arch/arm64/include/asm/tlb.h
80
tlb_remove_ptdesc(tlb, ptdesc);
arch/arm64/include/asm/tlb.h
87
struct ptdesc *ptdesc = virt_to_ptdesc(pmdp);
arch/arm64/include/asm/tlb.h
89
tlb_remove_ptdesc(tlb, ptdesc);
arch/arm64/include/asm/tlb.h
97
struct ptdesc *ptdesc = virt_to_ptdesc(pudp);
arch/arm64/mm/mmu.c
534
struct ptdesc *ptdesc = pagetable_alloc(gfp & ~__GFP_ZERO, 0);
arch/arm64/mm/mmu.c
537
if (!ptdesc)
arch/arm64/mm/mmu.c
540
pa = page_to_phys(ptdesc_page(ptdesc));
arch/arm64/mm/mmu.c
544
BUG_ON(!pagetable_pte_ctor(mm, ptdesc));
arch/arm64/mm/mmu.c
547
BUG_ON(!pagetable_pmd_ctor(mm, ptdesc));
arch/arm64/mm/mmu.c
550
pagetable_pud_ctor(ptdesc);
arch/arm64/mm/mmu.c
553
pagetable_p4d_ctor(ptdesc);
arch/loongarch/include/asm/pgalloc.h
65
struct ptdesc *ptdesc;
arch/loongarch/include/asm/pgalloc.h
67
ptdesc = pagetable_alloc(GFP_KERNEL_ACCOUNT, 0);
arch/loongarch/include/asm/pgalloc.h
68
if (!ptdesc)
arch/loongarch/include/asm/pgalloc.h
71
if (!pagetable_pmd_ctor(mm, ptdesc)) {
arch/loongarch/include/asm/pgalloc.h
72
pagetable_free(ptdesc);
arch/loongarch/include/asm/pgalloc.h
76
pmd = ptdesc_address(ptdesc);
arch/loongarch/include/asm/pgalloc.h
90
struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL, 0);
arch/loongarch/include/asm/pgalloc.h
92
if (!ptdesc)
arch/loongarch/include/asm/pgalloc.h
94
pagetable_pud_ctor(ptdesc);
arch/loongarch/include/asm/pgalloc.h
95
pud = ptdesc_address(ptdesc);
arch/m68k/include/asm/mcf_pgalloc.h
17
struct ptdesc *ptdesc = pagetable_alloc((GFP_DMA | __GFP_ZERO) &
arch/m68k/include/asm/mcf_pgalloc.h
20
if (!ptdesc)
arch/m68k/include/asm/mcf_pgalloc.h
22
if (!pagetable_pte_ctor(mm, ptdesc)) {
arch/m68k/include/asm/mcf_pgalloc.h
23
pagetable_free(ptdesc);
arch/m68k/include/asm/mcf_pgalloc.h
27
return ptdesc_address(ptdesc);
arch/m68k/include/asm/mcf_pgalloc.h
42
struct ptdesc *ptdesc = virt_to_ptdesc(pgtable);
arch/m68k/include/asm/mcf_pgalloc.h
44
pagetable_dtor(ptdesc);
arch/m68k/include/asm/mcf_pgalloc.h
45
pagetable_free(ptdesc);
arch/m68k/include/asm/mcf_pgalloc.h
50
struct ptdesc *ptdesc = pagetable_alloc(GFP_DMA | __GFP_ZERO, 0);
arch/m68k/include/asm/mcf_pgalloc.h
53
if (!ptdesc)
arch/m68k/include/asm/mcf_pgalloc.h
55
if (!pagetable_pte_ctor(mm, ptdesc)) {
arch/m68k/include/asm/mcf_pgalloc.h
56
pagetable_free(ptdesc);
arch/m68k/include/asm/mcf_pgalloc.h
60
pte = ptdesc_address(ptdesc);
arch/m68k/include/asm/mcf_pgalloc.h
66
struct ptdesc *ptdesc = virt_to_ptdesc(pgtable);
arch/m68k/include/asm/mcf_pgalloc.h
68
pagetable_dtor(ptdesc);
arch/m68k/include/asm/mcf_pgalloc.h
69
pagetable_free(ptdesc);
arch/m68k/include/asm/mcf_pgalloc.h
86
struct ptdesc *ptdesc = pagetable_alloc((GFP_DMA | __GFP_NOWARN) &
arch/m68k/include/asm/mcf_pgalloc.h
89
if (!ptdesc)
arch/m68k/include/asm/mcf_pgalloc.h
91
pagetable_pgd_ctor(ptdesc);
arch/m68k/include/asm/mcf_pgalloc.h
92
new_pgd = ptdesc_address(ptdesc);
arch/m68k/mm/motorola.c
106
#define PD_PTABLE(ptdesc) ((ptable_desc *)&(virt_to_ptdesc((void *)(ptdesc))->pt_list))
arch/m68k/mm/motorola.c
107
#define PD_PTDESC(ptable) (list_entry(ptable, struct ptdesc, pt_list))
arch/m68k/mm/motorola.c
155
struct ptdesc *ptdesc;
arch/m68k/mm/motorola.c
159
ptdesc = pagetable_alloc(GFP_KERNEL | __GFP_ZERO, 0);
arch/m68k/mm/motorola.c
160
if (!ptdesc)
arch/m68k/mm/motorola.c
163
pt_addr = ptdesc_address(ptdesc);
arch/m68k/mm/motorola.c
171
pagetable_pte_ctor(mm, ptdesc);
arch/m68k/mm/motorola.c
174
pagetable_pmd_ctor(mm, ptdesc);
arch/m68k/mm/motorola.c
177
pagetable_pgd_ctor(ptdesc);
arch/mips/include/asm/pgalloc.h
58
struct ptdesc *ptdesc;
arch/mips/include/asm/pgalloc.h
60
ptdesc = pagetable_alloc(GFP_KERNEL_ACCOUNT, PMD_TABLE_ORDER);
arch/mips/include/asm/pgalloc.h
61
if (!ptdesc)
arch/mips/include/asm/pgalloc.h
64
if (!pagetable_pmd_ctor(mm, ptdesc)) {
arch/mips/include/asm/pgalloc.h
65
pagetable_free(ptdesc);
arch/mips/include/asm/pgalloc.h
69
pmd = ptdesc_address(ptdesc);
arch/mips/include/asm/pgalloc.h
83
struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL, PUD_TABLE_ORDER);
arch/mips/include/asm/pgalloc.h
85
if (!ptdesc)
arch/mips/include/asm/pgalloc.h
87
pagetable_pud_ctor(ptdesc);
arch/mips/include/asm/pgalloc.h
88
pud = ptdesc_address(ptdesc);
arch/parisc/include/asm/pgalloc.h
34
struct ptdesc *ptdesc;
arch/parisc/include/asm/pgalloc.h
39
ptdesc = pagetable_alloc(gfp, PMD_TABLE_ORDER);
arch/parisc/include/asm/pgalloc.h
40
if (!ptdesc)
arch/parisc/include/asm/pgalloc.h
42
if (!pagetable_pmd_ctor(mm, ptdesc)) {
arch/parisc/include/asm/pgalloc.h
43
pagetable_free(ptdesc);
arch/parisc/include/asm/pgalloc.h
46
return ptdesc_address(ptdesc);
arch/powerpc/mm/book3s64/mmu_context.c
245
struct ptdesc *ptdesc;
arch/powerpc/mm/book3s64/mmu_context.c
247
ptdesc = virt_to_ptdesc(pmd_frag);
arch/powerpc/mm/book3s64/mmu_context.c
251
if (atomic_sub_and_test(PMD_FRAG_NR - count, &ptdesc->pt_frag_refcount)) {
arch/powerpc/mm/book3s64/mmu_context.c
252
pagetable_dtor(ptdesc);
arch/powerpc/mm/book3s64/mmu_context.c
253
pagetable_free(ptdesc);
arch/powerpc/mm/book3s64/pgtable.c
417
struct ptdesc *ptdesc;
arch/powerpc/mm/book3s64/pgtable.c
422
ptdesc = pagetable_alloc(gfp, 0);
arch/powerpc/mm/book3s64/pgtable.c
423
if (!ptdesc)
arch/powerpc/mm/book3s64/pgtable.c
425
if (!pagetable_pmd_ctor(mm, ptdesc)) {
arch/powerpc/mm/book3s64/pgtable.c
426
pagetable_free(ptdesc);
arch/powerpc/mm/book3s64/pgtable.c
430
atomic_set(&ptdesc->pt_frag_refcount, 1);
arch/powerpc/mm/book3s64/pgtable.c
432
ret = ptdesc_address(ptdesc);
arch/powerpc/mm/book3s64/pgtable.c
447
atomic_set(&ptdesc->pt_frag_refcount, PMD_FRAG_NR);
arch/powerpc/mm/book3s64/pgtable.c
468
struct ptdesc *ptdesc = virt_to_ptdesc(pmd);
arch/powerpc/mm/book3s64/pgtable.c
470
if (pagetable_is_reserved(ptdesc))
arch/powerpc/mm/book3s64/pgtable.c
471
return free_reserved_ptdesc(ptdesc);
arch/powerpc/mm/book3s64/pgtable.c
473
BUG_ON(atomic_read(&ptdesc->pt_frag_refcount) <= 0);
arch/powerpc/mm/book3s64/pgtable.c
474
if (atomic_dec_and_test(&ptdesc->pt_frag_refcount)) {
arch/powerpc/mm/book3s64/pgtable.c
475
pagetable_dtor(ptdesc);
arch/powerpc/mm/book3s64/pgtable.c
476
pagetable_free(ptdesc);
arch/powerpc/mm/pgtable-frag.c
109
struct ptdesc *ptdesc;
arch/powerpc/mm/pgtable-frag.c
111
ptdesc = container_of(head, struct ptdesc, pt_rcu_head);
arch/powerpc/mm/pgtable-frag.c
112
pagetable_dtor(ptdesc);
arch/powerpc/mm/pgtable-frag.c
113
pagetable_free(ptdesc);
arch/powerpc/mm/pgtable-frag.c
118
struct ptdesc *ptdesc = virt_to_ptdesc(table);
arch/powerpc/mm/pgtable-frag.c
120
if (pagetable_is_reserved(ptdesc))
arch/powerpc/mm/pgtable-frag.c
121
return free_reserved_ptdesc(ptdesc);
arch/powerpc/mm/pgtable-frag.c
123
BUG_ON(atomic_read(&ptdesc->pt_frag_refcount) <= 0);
arch/powerpc/mm/pgtable-frag.c
124
if (atomic_dec_and_test(&ptdesc->pt_frag_refcount)) {
arch/powerpc/mm/pgtable-frag.c
125
if (kernel || !folio_test_clear_active(ptdesc_folio(ptdesc)))
arch/powerpc/mm/pgtable-frag.c
126
pte_free_now(&ptdesc->pt_rcu_head);
arch/powerpc/mm/pgtable-frag.c
128
call_rcu(&ptdesc->pt_rcu_head, pte_free_now);
arch/powerpc/mm/pgtable-frag.c
21
struct ptdesc *ptdesc;
arch/powerpc/mm/pgtable-frag.c
23
ptdesc = virt_to_ptdesc(pte_frag);
arch/powerpc/mm/pgtable-frag.c
27
if (atomic_sub_and_test(PTE_FRAG_NR - count, &ptdesc->pt_frag_refcount)) {
arch/powerpc/mm/pgtable-frag.c
28
pagetable_dtor(ptdesc);
arch/powerpc/mm/pgtable-frag.c
29
pagetable_free(ptdesc);
arch/powerpc/mm/pgtable-frag.c
58
struct ptdesc *ptdesc;
arch/powerpc/mm/pgtable-frag.c
64
ptdesc = pagetable_alloc(gfp, 0);
arch/powerpc/mm/pgtable-frag.c
65
if (!ptdesc)
arch/powerpc/mm/pgtable-frag.c
67
if (!pagetable_pte_ctor(mm, ptdesc)) {
arch/powerpc/mm/pgtable-frag.c
68
pagetable_free(ptdesc);
arch/powerpc/mm/pgtable-frag.c
72
atomic_set(&ptdesc->pt_frag_refcount, 1);
arch/powerpc/mm/pgtable-frag.c
74
ret = ptdesc_address(ptdesc);
arch/powerpc/mm/pgtable-frag.c
88
atomic_set(&ptdesc->pt_frag_refcount, PTE_FRAG_NR);
arch/riscv/mm/init.c
1570
struct ptdesc *ptdesc = page_ptdesc(page);
arch/riscv/mm/init.c
1580
pagetable_dtor(ptdesc);
arch/riscv/mm/init.c
1584
pagetable_free(ptdesc);
arch/riscv/mm/init.c
1591
struct ptdesc *ptdesc = page_ptdesc(page);
arch/riscv/mm/init.c
1602
pagetable_dtor(ptdesc);
arch/riscv/mm/init.c
1606
pagetable_free(ptdesc);
arch/riscv/mm/init.c
438
struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL, 0);
arch/riscv/mm/init.c
445
BUG_ON(!ptdesc || !pagetable_pte_ctor(NULL, ptdesc));
arch/riscv/mm/init.c
446
return __pa((pte_t *)ptdesc_address(ptdesc));
arch/riscv/mm/init.c
523
struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL, 0);
arch/riscv/mm/init.c
526
BUG_ON(!ptdesc || !pagetable_pmd_ctor(NULL, ptdesc));
arch/riscv/mm/init.c
527
return __pa((pmd_t *)ptdesc_address(ptdesc));
arch/riscv/mm/init.c
588
struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL, 0);
arch/riscv/mm/init.c
590
BUG_ON(!ptdesc);
arch/riscv/mm/init.c
591
pagetable_pud_ctor(ptdesc);
arch/riscv/mm/init.c
592
return __pa((pud_t *)ptdesc_address(ptdesc));
arch/riscv/mm/init.c
626
struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL, 0);
arch/riscv/mm/init.c
628
BUG_ON(!ptdesc);
arch/riscv/mm/init.c
629
pagetable_p4d_ctor(ptdesc);
arch/riscv/mm/init.c
630
return __pa((p4d_t *)ptdesc_address(ptdesc));
arch/s390/mm/pgalloc.c
120
struct ptdesc *ptdesc;
arch/s390/mm/pgalloc.c
125
ptdesc = pagetable_alloc_noprof(gfp, 0);
arch/s390/mm/pgalloc.c
126
if (!ptdesc)
arch/s390/mm/pgalloc.c
128
if (!pagetable_pte_ctor(mm, ptdesc)) {
arch/s390/mm/pgalloc.c
129
pagetable_free(ptdesc);
arch/s390/mm/pgalloc.c
132
table = ptdesc_address(ptdesc);
arch/s390/mm/pgalloc.c
141
struct ptdesc *ptdesc = virt_to_ptdesc(table);
arch/s390/mm/pgalloc.c
143
if (pagetable_is_reserved(ptdesc))
arch/s390/mm/pgalloc.c
144
return free_reserved_ptdesc(ptdesc);
arch/s390/mm/pgalloc.c
145
pagetable_dtor_free(ptdesc);
arch/s390/mm/pgalloc.c
151
struct ptdesc *ptdesc = container_of(head, struct ptdesc, pt_rcu_head);
arch/s390/mm/pgalloc.c
153
pagetable_dtor_free(ptdesc);
arch/s390/mm/pgalloc.c
158
struct ptdesc *ptdesc = virt_to_ptdesc(pgtable);
arch/s390/mm/pgalloc.c
160
call_rcu(&ptdesc->pt_rcu_head, pte_free_now);
arch/s390/mm/pgalloc.c
189
struct ptdesc *ptdesc;
arch/s390/mm/pgalloc.c
191
ptdesc = pagetable_alloc(GFP_KERNEL, CRST_ALLOC_ORDER);
arch/s390/mm/pgalloc.c
192
if (!ptdesc)
arch/s390/mm/pgalloc.c
194
table = ptdesc_address(ptdesc);
arch/s390/mm/pgalloc.c
20
struct ptdesc *ptdesc;
arch/s390/mm/pgalloc.c
25
ptdesc = pagetable_alloc_noprof(gfp, CRST_ALLOC_ORDER);
arch/s390/mm/pgalloc.c
26
if (!ptdesc)
arch/s390/mm/pgalloc.c
28
table = ptdesc_address(ptdesc);
arch/sparc/mm/init_64.c
2870
struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL | __GFP_ZERO, 0);
arch/sparc/mm/init_64.c
2872
if (!ptdesc)
arch/sparc/mm/init_64.c
2874
if (!pagetable_pte_ctor(mm, ptdesc)) {
arch/sparc/mm/init_64.c
2875
pagetable_free(ptdesc);
arch/sparc/mm/init_64.c
2878
return ptdesc_address(ptdesc);
arch/sparc/mm/init_64.c
2893
struct ptdesc *ptdesc = virt_to_ptdesc(pte);
arch/sparc/mm/init_64.c
2895
pagetable_dtor(ptdesc);
arch/sparc/mm/init_64.c
2896
pagetable_free(ptdesc);
arch/x86/mm/pat/set_memory.c
407
struct ptdesc *ptdesc, *tmp;
arch/x86/mm/pat/set_memory.c
430
list_for_each_entry_safe(ptdesc, tmp, &pgtables, pt_list) {
arch/x86/mm/pat/set_memory.c
431
list_del(&ptdesc->pt_list);
arch/x86/mm/pat/set_memory.c
432
pagetable_free(ptdesc);
arch/x86/mm/pgtable.c
164
struct ptdesc *ptdesc;
arch/x86/mm/pgtable.c
168
ptdesc = virt_to_ptdesc(pmds[i]);
arch/x86/mm/pgtable.c
170
pagetable_dtor(ptdesc);
arch/x86/mm/pgtable.c
171
pagetable_free(ptdesc);
arch/x86/mm/pgtable.c
188
struct ptdesc *ptdesc = pagetable_alloc(gfp, 0);
arch/x86/mm/pgtable.c
190
if (!ptdesc)
arch/x86/mm/pgtable.c
192
if (ptdesc && !pagetable_pmd_ctor(mm, ptdesc)) {
arch/x86/mm/pgtable.c
193
pagetable_free(ptdesc);
arch/x86/mm/pgtable.c
194
ptdesc = NULL;
arch/x86/mm/pgtable.c
197
if (ptdesc) {
arch/x86/mm/pgtable.c
199
pmd = ptdesc_address(ptdesc);
arch/x86/mm/pgtable.c
60
struct ptdesc *ptdesc = virt_to_ptdesc(pgd);
arch/x86/mm/pgtable.c
62
list_add(&ptdesc->pt_list, &pgd_list);
arch/x86/mm/pgtable.c
67
struct ptdesc *ptdesc = virt_to_ptdesc(pgd);
arch/x86/mm/pgtable.c
69
list_del(&ptdesc->pt_list);
arch/x86/mm/pgtable.c
732
struct ptdesc *pt;
arch/x86/mm/pgtable.c
775
struct ptdesc *pt;
include/asm-generic/pgalloc.h
116
struct ptdesc *ptdesc = page_ptdesc(pte_page);
include/asm-generic/pgalloc.h
118
pagetable_dtor_free(ptdesc);
include/asm-generic/pgalloc.h
138
struct ptdesc *ptdesc;
include/asm-generic/pgalloc.h
143
ptdesc = pagetable_alloc_noprof(gfp, 0);
include/asm-generic/pgalloc.h
144
if (!ptdesc)
include/asm-generic/pgalloc.h
146
if (!pagetable_pmd_ctor(mm, ptdesc)) {
include/asm-generic/pgalloc.h
147
pagetable_free(ptdesc);
include/asm-generic/pgalloc.h
152
ptdesc_set_kernel(ptdesc);
include/asm-generic/pgalloc.h
154
return ptdesc_address(ptdesc);
include/asm-generic/pgalloc.h
162
struct ptdesc *ptdesc = virt_to_ptdesc(pmd);
include/asm-generic/pgalloc.h
165
pagetable_dtor_free(ptdesc);
include/asm-generic/pgalloc.h
176
struct ptdesc *ptdesc;
include/asm-generic/pgalloc.h
181
ptdesc = pagetable_alloc_noprof(gfp, 0);
include/asm-generic/pgalloc.h
182
if (!ptdesc)
include/asm-generic/pgalloc.h
185
pagetable_pud_ctor(ptdesc);
include/asm-generic/pgalloc.h
188
ptdesc_set_kernel(ptdesc);
include/asm-generic/pgalloc.h
190
return ptdesc_address(ptdesc);
include/asm-generic/pgalloc.h
21
struct ptdesc *ptdesc = pagetable_alloc_noprof(GFP_PGTABLE_KERNEL, 0);
include/asm-generic/pgalloc.h
213
struct ptdesc *ptdesc = virt_to_ptdesc(pud);
include/asm-generic/pgalloc.h
216
pagetable_dtor_free(ptdesc);
include/asm-generic/pgalloc.h
23
if (!ptdesc)
include/asm-generic/pgalloc.h
233
struct ptdesc *ptdesc;
include/asm-generic/pgalloc.h
238
ptdesc = pagetable_alloc_noprof(gfp, 0);
include/asm-generic/pgalloc.h
239
if (!ptdesc)
include/asm-generic/pgalloc.h
242
pagetable_p4d_ctor(ptdesc);
include/asm-generic/pgalloc.h
245
ptdesc_set_kernel(ptdesc);
include/asm-generic/pgalloc.h
247
return ptdesc_address(ptdesc);
include/asm-generic/pgalloc.h
25
if (!pagetable_pte_ctor(mm, ptdesc)) {
include/asm-generic/pgalloc.h
26
pagetable_free(ptdesc);
include/asm-generic/pgalloc.h
261
struct ptdesc *ptdesc = virt_to_ptdesc(p4d);
include/asm-generic/pgalloc.h
264
pagetable_dtor_free(ptdesc);
include/asm-generic/pgalloc.h
280
struct ptdesc *ptdesc;
include/asm-generic/pgalloc.h
285
ptdesc = pagetable_alloc_noprof(gfp, order);
include/asm-generic/pgalloc.h
286
if (!ptdesc)
include/asm-generic/pgalloc.h
289
pagetable_pgd_ctor(ptdesc);
include/asm-generic/pgalloc.h
292
ptdesc_set_kernel(ptdesc);
include/asm-generic/pgalloc.h
294
return ptdesc_address(ptdesc);
include/asm-generic/pgalloc.h
30
ptdesc_set_kernel(ptdesc);
include/asm-generic/pgalloc.h
300
struct ptdesc *ptdesc = virt_to_ptdesc(pgd);
include/asm-generic/pgalloc.h
303
pagetable_dtor_free(ptdesc);
include/asm-generic/pgalloc.h
32
return ptdesc_address(ptdesc);
include/asm-generic/pgalloc.h
74
struct ptdesc *ptdesc;
include/asm-generic/pgalloc.h
76
ptdesc = pagetable_alloc_noprof(gfp, 0);
include/asm-generic/pgalloc.h
77
if (!ptdesc)
include/asm-generic/pgalloc.h
79
if (!pagetable_pte_ctor(mm, ptdesc)) {
include/asm-generic/pgalloc.h
80
pagetable_free(ptdesc);
include/asm-generic/pgalloc.h
84
return ptdesc_page(ptdesc);
include/asm-generic/tlb.h
219
struct ptdesc *ptdesc = (struct ptdesc *)table;
include/asm-generic/tlb.h
221
pagetable_dtor_free(ptdesc);
include/asm-generic/tlb.h
236
struct ptdesc *ptdesc = (struct ptdesc *)table;
include/asm-generic/tlb.h
238
pagetable_dtor(ptdesc);
include/asm-generic/tlb.h
239
tlb_remove_page(tlb, ptdesc_page(ptdesc));
include/asm-generic/tlb.h
521
static inline void tlb_remove_ptdesc(struct mmu_gather *tlb, struct ptdesc *pt)
include/asm-generic/tlb.h
792
static inline void tlb_unshare_pmd_ptdesc(struct mmu_gather *tlb, struct ptdesc *pt,
include/linux/mm.h
3331
static inline struct ptdesc *virt_to_ptdesc(const void *x)
include/linux/mm.h
3342
static inline void *ptdesc_address(const struct ptdesc *pt)
include/linux/mm.h
3347
static inline bool pagetable_is_reserved(struct ptdesc *pt)
include/linux/mm.h
3359
static inline void ptdesc_set_kernel(struct ptdesc *ptdesc)
include/linux/mm.h
3361
set_bit(PT_kernel, &ptdesc->pt_flags.f);
include/linux/mm.h
3371
static inline void ptdesc_clear_kernel(struct ptdesc *ptdesc)
include/linux/mm.h
3378
clear_bit(PT_kernel, &ptdesc->pt_flags.f);
include/linux/mm.h
3387
static inline bool ptdesc_test_kernel(const struct ptdesc *ptdesc)
include/linux/mm.h
3389
return test_bit(PT_kernel, &ptdesc->pt_flags.f);
include/linux/mm.h
3402
static inline struct ptdesc *pagetable_alloc_noprof(gfp_t gfp, unsigned int order)
include/linux/mm.h
3410
static inline void __pagetable_free(struct ptdesc *pt)
include/linux/mm.h
3418
void pagetable_free_kernel(struct ptdesc *pt);
include/linux/mm.h
3420
static inline void pagetable_free_kernel(struct ptdesc *pt)
include/linux/mm.h
3432
static inline void pagetable_free(struct ptdesc *pt)
include/linux/mm.h
3445
bool ptlock_alloc(struct ptdesc *ptdesc);
include/linux/mm.h
3446
void ptlock_free(struct ptdesc *ptdesc);
include/linux/mm.h
3448
static inline spinlock_t *ptlock_ptr(struct ptdesc *ptdesc)
include/linux/mm.h
3450
return ptdesc->ptl;
include/linux/mm.h
3457
static inline bool ptlock_alloc(struct ptdesc *ptdesc)
include/linux/mm.h
3462
static inline void ptlock_free(struct ptdesc *ptdesc)
include/linux/mm.h
3466
static inline spinlock_t *ptlock_ptr(struct ptdesc *ptdesc)
include/linux/mm.h
3468
return &ptdesc->ptl;
include/linux/mm.h
3484
static inline bool ptlock_init(struct ptdesc *ptdesc)
include/linux/mm.h
3493
VM_BUG_ON_PAGE(*(unsigned long *)&ptdesc->ptl, ptdesc_page(ptdesc));
include/linux/mm.h
3494
if (!ptlock_alloc(ptdesc))
include/linux/mm.h
3496
spin_lock_init(ptlock_ptr(ptdesc));
include/linux/mm.h
3513
static inline bool ptlock_init(struct ptdesc *ptdesc) { return true; }
include/linux/mm.h
3514
static inline void ptlock_free(struct ptdesc *ptdesc) {}
include/linux/mm.h
3517
static inline void __pagetable_ctor(struct ptdesc *ptdesc)
include/linux/mm.h
3519
struct folio *folio = ptdesc_folio(ptdesc);
include/linux/mm.h
3525
static inline void pagetable_dtor(struct ptdesc *ptdesc)
include/linux/mm.h
3527
struct folio *folio = ptdesc_folio(ptdesc);
include/linux/mm.h
3529
ptlock_free(ptdesc);
include/linux/mm.h
3534
static inline void pagetable_dtor_free(struct ptdesc *ptdesc)
include/linux/mm.h
3536
pagetable_dtor(ptdesc);
include/linux/mm.h
3537
pagetable_free(ptdesc);
include/linux/mm.h
3541
struct ptdesc *ptdesc)
include/linux/mm.h
3543
if (mm != &init_mm && !ptlock_init(ptdesc))
include/linux/mm.h
3545
__pagetable_ctor(ptdesc);
include/linux/mm.h
3591
static inline struct ptdesc *pmd_ptdesc(pmd_t *pmd)
include/linux/mm.h
3601
static inline bool pmd_ptlock_init(struct ptdesc *ptdesc)
include/linux/mm.h
3604
ptdesc->pmd_huge_pte = NULL;
include/linux/mm.h
3606
return ptlock_init(ptdesc);
include/linux/mm.h
3618
static inline bool pmd_ptlock_init(struct ptdesc *ptdesc) { return true; }
include/linux/mm.h
3632
struct ptdesc *ptdesc)
include/linux/mm.h
3634
if (mm != &init_mm && !pmd_ptlock_init(ptdesc))
include/linux/mm.h
3636
ptdesc_pmd_pts_init(ptdesc);
include/linux/mm.h
3637
__pagetable_ctor(ptdesc);
include/linux/mm.h
3660
static inline void pagetable_pud_ctor(struct ptdesc *ptdesc)
include/linux/mm.h
3662
__pagetable_ctor(ptdesc);
include/linux/mm.h
3665
static inline void pagetable_p4d_ctor(struct ptdesc *ptdesc)
include/linux/mm.h
3667
__pagetable_ctor(ptdesc);
include/linux/mm.h
3670
static inline void pagetable_pgd_ctor(struct ptdesc *ptdesc)
include/linux/mm.h
3672
__pagetable_ctor(ptdesc);
include/linux/mm.h
3701
static inline void free_reserved_ptdesc(struct ptdesc *pt)
include/linux/mm_types.h
610
static_assert(offsetof(struct page, pg) == offsetof(struct ptdesc, pt))
include/linux/mm_types.h
623
static_assert(sizeof(struct ptdesc) <= sizeof(struct page));
include/linux/mm_types.h
626
const struct ptdesc *: (const struct page *)(pt), \
include/linux/mm_types.h
627
struct ptdesc *: (struct page *)(pt)))
include/linux/mm_types.h
630
const struct ptdesc *: (const struct folio *)(pt), \
include/linux/mm_types.h
631
struct ptdesc *: (struct folio *)(pt)))
include/linux/mm_types.h
634
const struct page *: (const struct ptdesc *)(p), \
include/linux/mm_types.h
635
struct page *: (struct ptdesc *)(p)))
include/linux/mm_types.h
638
static inline void ptdesc_pmd_pts_init(struct ptdesc *ptdesc)
include/linux/mm_types.h
640
atomic_set(&ptdesc->pt_share_count, 0);
include/linux/mm_types.h
643
static inline void ptdesc_pmd_pts_inc(struct ptdesc *ptdesc)
include/linux/mm_types.h
645
atomic_inc(&ptdesc->pt_share_count);
include/linux/mm_types.h
648
static inline void ptdesc_pmd_pts_dec(struct ptdesc *ptdesc)
include/linux/mm_types.h
650
atomic_dec(&ptdesc->pt_share_count);
include/linux/mm_types.h
653
static inline int ptdesc_pmd_pts_count(const struct ptdesc *ptdesc)
include/linux/mm_types.h
655
return atomic_read(&ptdesc->pt_share_count);
include/linux/mm_types.h
658
static inline bool ptdesc_pmd_is_shared(struct ptdesc *ptdesc)
include/linux/mm_types.h
660
return !!ptdesc_pmd_pts_count(ptdesc);
include/linux/mm_types.h
663
static inline void ptdesc_pmd_pts_init(struct ptdesc *ptdesc)
mm/memory.c
7465
bool ptlock_alloc(struct ptdesc *ptdesc)
mm/memory.c
7472
ptdesc->ptl = ptl;
mm/memory.c
7476
void ptlock_free(struct ptdesc *ptdesc)
mm/memory.c
7478
if (ptdesc->ptl)
mm/memory.c
7479
kmem_cache_free(page_ptl_cachep, ptdesc->ptl);
mm/mmu_gather.c
326
struct ptdesc *ptdesc;
mm/mmu_gather.c
328
ptdesc = container_of(head, struct ptdesc, pt_rcu_head);
mm/mmu_gather.c
329
__tlb_remove_table(ptdesc);
mm/mmu_gather.c
334
struct ptdesc *ptdesc;
mm/mmu_gather.c
336
ptdesc = table;
mm/mmu_gather.c
337
call_rcu(&ptdesc->pt_rcu_head, __tlb_remove_table_one_rcu);
mm/pgtable-generic.c
427
struct ptdesc *pt, *next;
mm/pgtable-generic.c
439
void pagetable_free_kernel(struct ptdesc *pt)