Home
last modified time | relevance | path

Searched refs:pgmap (Results 1 – 25 of 40) sorted by relevance

12

/linux/mm/
A Dmemremap.c108 pfn_first(pgmap, range_id)) >> pgmap->vmemmap_shift; in pfn_len()
145 percpu_ref_put_many(&pgmap->ref, pfn_len(pgmap, i)); in memunmap_pages()
273 percpu_ref_get_many(&pgmap->ref, pfn_len(pgmap, range_id)); in pagemap_range()
296 .pgmap = pgmap, in memremap_pages()
311 if (!pgmap->ops || !pgmap->ops->migrate_to_ram) { in memremap_pages()
413 pgmap); in devm_memremap_pages()
442 if (pgmap) { in get_dev_pagemap()
443 if (phys >= pgmap->range.start && phys <= pgmap->range.end) in get_dev_pagemap()
451 if (pgmap && !percpu_ref_tryget_live_rcu(&pgmap->ref)) in get_dev_pagemap()
452 pgmap = NULL; in get_dev_pagemap()
[all …]
A Dsparse-vmemmap.c378 struct dev_pagemap *pgmap) in reuse_compound_section() argument
380 unsigned long nr_pages = pgmap_vmemmap_nr(pgmap); in reuse_compound_section()
382 PHYS_PFN(pgmap->ranges[pgmap->nr_range].start); in reuse_compound_section()
407 struct dev_pagemap *pgmap) in vmemmap_populate_compound_pages() argument
413 if (reuse_compound_section(start_pfn, pgmap)) { in vmemmap_populate_compound_pages()
426 size = min(end - start, pgmap_vmemmap_nr(pgmap) * sizeof(struct page)); in vmemmap_populate_compound_pages()
459 struct dev_pagemap *pgmap) in __populate_section_memmap() argument
469 if (vmemmap_can_optimize(altmap, pgmap)) in __populate_section_memmap()
470 r = vmemmap_populate_compound_pages(pfn, start, end, nid, pgmap); in __populate_section_memmap()
A Dsparse.c427 struct dev_pagemap *pgmap) in __populate_section_memmap() argument
635 struct dev_pagemap *pgmap) in populate_section_memmap() argument
637 return __populate_section_memmap(pfn, nr_pages, nid, altmap, pgmap); in populate_section_memmap()
708 struct dev_pagemap *pgmap) in populate_section_memmap() argument
833 struct dev_pagemap *pgmap) in section_activate() argument
865 memmap = populate_section_memmap(pfn, nr_pages, nid, altmap, pgmap); in section_activate()
895 struct dev_pagemap *pgmap) in sparse_add_section() argument
906 memmap = section_activate(nid, start_pfn, nr_pages, altmap, pgmap); in sparse_add_section()
A Dgup.c31 struct dev_pagemap *pgmap; member
651 ctx->pgmap = get_dev_pagemap(pfn, ctx->pgmap); in follow_huge_pud()
652 if (!ctx->pgmap) in follow_huge_pud()
873 *pgmap = get_dev_pagemap(pte_pfn(pte), *pgmap); in follow_page_pte()
874 if (*pgmap) in follow_page_pte()
1566 if (ctx.pgmap) in __get_user_pages()
2920 pgmap = get_dev_pagemap(pte_pfn(pte), pgmap); in gup_fast_pte_range()
2972 if (pgmap) in gup_fast_pte_range()
2973 put_dev_pagemap(pgmap); in gup_fast_pte_range()
3007 pgmap = get_dev_pagemap(pfn, pgmap); in gup_fast_devmap_leaf()
[all …]
A Dmm_init.c980 struct dev_pagemap *pgmap) in __init_zone_device_page() argument
999 page->pgmap = pgmap; in __init_zone_device_page()
1021 if (pgmap->type == MEMORY_DEVICE_PRIVATE || in __init_zone_device_page()
1022 pgmap->type == MEMORY_DEVICE_COHERENT) in __init_zone_device_page()
1035 struct dev_pagemap *pgmap) in compound_nr_pages() argument
1037 if (!vmemmap_can_optimize(altmap, pgmap)) in compound_nr_pages()
1038 return pgmap_vmemmap_nr(pgmap); in compound_nr_pages()
1046 struct dev_pagemap *pgmap, in memmap_init_compound() argument
1050 unsigned int order = pgmap->vmemmap_shift; in memmap_init_compound()
1073 struct dev_pagemap *pgmap) in memmap_init_zone_device() argument
[all …]
A Dmemory-failure.c1752 struct dev_pagemap *pgmap) in mf_generic_kill_procs() argument
1775 switch (pgmap->type) { in mf_generic_kill_procs()
2148 struct dev_pagemap *pgmap) in memory_failure_dev_pagemap() argument
2153 if (!pgmap_pfn_valid(pgmap, pfn)) in memory_failure_dev_pagemap()
2160 if (pgmap_has_memory_failure(pgmap)) { in memory_failure_dev_pagemap()
2161 rc = pgmap->ops->memory_failure(pgmap, pfn, 1, flags); in memory_failure_dev_pagemap()
2173 put_dev_pagemap(pgmap); in memory_failure_dev_pagemap()
2220 struct dev_pagemap *pgmap; in memory_failure() local
2241 pgmap = get_dev_pagemap(pfn, NULL); in memory_failure()
2243 if (pgmap) { in memory_failure()
[all …]
A Dmemory_hotplug.c329 struct dev_pagemap *pgmap; in pfn_to_online_page() local
358 pgmap = get_dev_pagemap(pfn, NULL); in pfn_to_online_page()
359 put_dev_pagemap(pgmap); in pfn_to_online_page()
362 if (pgmap) in pfn_to_online_page()
404 params->pgmap); in __add_pages()
/linux/include/linux/
A Dmemremap.h145 return pgmap->ops && pgmap->ops->memory_failure; in pgmap_has_memory_failure()
150 if (pgmap->flags & PGMAP_ALTMAP_VALID) in pgmap_altmap()
151 return &pgmap->altmap; in pgmap_altmap()
157 return 1 << pgmap->vmemmap_shift; in pgmap_vmemmap_nr()
164 page->pgmap->type == MEMORY_DEVICE_PRIVATE; in is_device_private_page()
197 struct dev_pagemap *pgmap);
203 struct dev_pagemap *pgmap) in devm_memremap_pages() argument
215 struct dev_pagemap *pgmap) in devm_memunmap_pages() argument
220 struct dev_pagemap *pgmap) in get_dev_pagemap() argument
239 if (pgmap) in put_dev_pagemap()
[all …]
A Dmemory_hotplug.h87 struct dev_pagemap *pgmap; member
322 struct dev_pagemap *pgmap);
A Dhuge_mm.h454 pmd_t *pmd, int flags, struct dev_pagemap **pgmap);
623 unsigned long addr, pmd_t *pmd, int flags, struct dev_pagemap **pgmap) in follow_devmap_pmd() argument
/linux/drivers/pci/
A Dp2pdma.c33 struct dev_pagemap pgmap; member
38 return container_of(pgmap, struct pci_p2pdma_pagemap, pgmap); in to_p2p_pgmap()
196 struct pci_p2pdma_pagemap *pgmap = to_p2p_pgmap(page->pgmap); in p2pdma_page_free() local
289 struct dev_pagemap *pgmap; in pci_p2pdma_add_resource() local
316 pgmap = &p2p_pgmap->pgmap; in pci_p2pdma_add_resource()
318 pgmap->range.end = pgmap->range.start + size - 1; in pci_p2pdma_add_resource()
319 pgmap->nr_range = 1; in pci_p2pdma_add_resource()
342 &pgmap->ref); in pci_p2pdma_add_resource()
347 pgmap->range.start, pgmap->range.end); in pci_p2pdma_add_resource()
1019 if (state->pgmap != sg_page(sg)->pgmap) { in pci_p2pdma_map_segment()
[all …]
/linux/drivers/xen/
A Dunpopulated-alloc.c36 struct dev_pagemap *pgmap; in fill_list() local
84 pgmap = kzalloc(sizeof(*pgmap), GFP_KERNEL); in fill_list()
85 if (!pgmap) { in fill_list()
90 pgmap->type = MEMORY_DEVICE_GENERIC; in fill_list()
91 pgmap->range = (struct range) { in fill_list()
95 pgmap->nr_range = 1; in fill_list()
96 pgmap->owner = res; in fill_list()
121 vaddr = memremap_pages(pgmap, NUMA_NO_NODE); in fill_list()
139 kfree(pgmap); in fill_list()
/linux/drivers/dax/
A Ddevice.c85 if (dev_dax->pgmap->vmemmap_shift) in dax_set_mapping()
397 struct dev_pagemap *pgmap; in dev_dax_probe() local
410 pgmap = dev_dax->pgmap; in dev_dax_probe()
412 if (dev_dax->pgmap) { in dev_dax_probe()
418 pgmap = devm_kzalloc(dev, in dev_dax_probe()
421 if (!pgmap) in dev_dax_probe()
424 pgmap->nr_range = dev_dax->nr_range; in dev_dax_probe()
425 dev_dax->pgmap = pgmap; in dev_dax_probe()
429 pgmap->ranges[i] = *range; in dev_dax_probe()
444 pgmap->type = MEMORY_DEVICE_GENERIC; in dev_dax_probe()
[all …]
A Dpmem.c19 struct dev_pagemap pgmap = { }; in __dax_pmem_probe() local
33 rc = nvdimm_setup_pfn(nd_pfn, &pgmap); in __dax_pmem_probe()
53 range = pgmap.range; in __dax_pmem_probe()
64 .pgmap = &pgmap, in __dax_pmem_probe()
A Dbus.h23 struct dev_pagemap *pgmap; member
A Ddax-private.h72 struct dev_pagemap *pgmap; member
A Dbus.c437 dev_dax->pgmap = NULL; in kill_dev_dax()
1411 kfree(dev_dax->pgmap); in dev_dax_release()
1463 if (data->pgmap) { in __devm_create_dev_dax()
1467 dev_dax->pgmap = kmemdup(data->pgmap, in __devm_create_dev_dax()
1469 if (!dev_dax->pgmap) { in __devm_create_dev_dax()
1525 kfree(dev_dax->pgmap); in __devm_create_dev_dax()
/linux/tools/testing/nvdimm/test/
A Diomap.c99 struct dev_pagemap *pgmap = _pgmap; in nfit_test_kill() local
101 WARN_ON(!pgmap); in nfit_test_kill()
103 percpu_ref_kill(&pgmap->ref); in nfit_test_kill()
105 wait_for_completion(&pgmap->done); in nfit_test_kill()
106 percpu_ref_exit(&pgmap->ref); in nfit_test_kill()
113 complete(&pgmap->done); in dev_pagemap_percpu_release()
119 resource_size_t offset = pgmap->range.start; in __wrap_devm_memremap_pages()
123 return devm_memremap_pages(dev, pgmap); in __wrap_devm_memremap_pages()
125 init_completion(&pgmap->done); in __wrap_devm_memremap_pages()
126 error = percpu_ref_init(&pgmap->ref, dev_pagemap_percpu_release, 0, in __wrap_devm_memremap_pages()
[all …]
/linux/drivers/nvdimm/
A Dpmem.c438 container_of(pgmap, struct pmem_device, pgmap); in pmem_pagemap_memory_failure()
515 pmem->pgmap.owner = pmem; in pmem_attach_disk()
518 pmem->pgmap.type = MEMORY_DEVICE_FS_DAX; in pmem_attach_disk()
519 pmem->pgmap.ops = &fsdax_pagemap_ops; in pmem_attach_disk()
524 range_len(&pmem->pgmap.range); in pmem_attach_disk()
526 bb_range = pmem->pgmap.range; in pmem_attach_disk()
529 pmem->pgmap.range.start = res->start; in pmem_attach_disk()
530 pmem->pgmap.range.end = res->end; in pmem_attach_disk()
531 pmem->pgmap.nr_range = 1; in pmem_attach_disk()
533 pmem->pgmap.ops = &fsdax_pagemap_ops; in pmem_attach_disk()
[all …]
A Dpfn_devs.c682 static int __nvdimm_setup_pfn(struct nd_pfn *nd_pfn, struct dev_pagemap *pgmap) in __nvdimm_setup_pfn() argument
684 struct range *range = &pgmap->range; in __nvdimm_setup_pfn()
685 struct vmem_altmap *altmap = &pgmap->altmap; in __nvdimm_setup_pfn()
705 pgmap->nr_range = 1; in __nvdimm_setup_pfn()
720 pgmap->flags |= PGMAP_ALTMAP_VALID; in __nvdimm_setup_pfn()
855 int nvdimm_setup_pfn(struct nd_pfn *nd_pfn, struct dev_pagemap *pgmap) in nvdimm_setup_pfn() argument
867 return __nvdimm_setup_pfn(nd_pfn, pgmap); in nvdimm_setup_pfn()
A Dpmem.h29 struct dev_pagemap pgmap; member
/linux/drivers/gpu/drm/amd/amdkfd/
A Dkfd_migrate.c1017 struct dev_pagemap *pgmap; in kgd2kfd_init_zone_device() local
1029 pgmap = &kfddev->pgmap; in kgd2kfd_init_zone_device()
1030 memset(pgmap, 0, sizeof(*pgmap)); in kgd2kfd_init_zone_device()
1039 pgmap->type = MEMORY_DEVICE_COHERENT; in kgd2kfd_init_zone_device()
1044 pgmap->range.start = res->start; in kgd2kfd_init_zone_device()
1045 pgmap->range.end = res->end; in kgd2kfd_init_zone_device()
1046 pgmap->type = MEMORY_DEVICE_PRIVATE; in kgd2kfd_init_zone_device()
1049 pgmap->nr_range = 1; in kgd2kfd_init_zone_device()
1050 pgmap->ops = &svm_migrate_pgmap_ops; in kgd2kfd_init_zone_device()
1052 pgmap->flags = 0; in kgd2kfd_init_zone_device()
[all …]
A Dkfd_svm.h204 #define KFD_IS_SVM_API_SUPPORTED(adev) ((adev)->kfd.pgmap.type != 0 ||\
/linux/arch/powerpc/include/asm/book3s/64/
A Dradix.h367 bool vmemmap_can_optimize(struct vmem_altmap *altmap, struct dev_pagemap *pgmap);
374 struct dev_pagemap *pgmap);
/linux/fs/fuse/
A Dvirtio_fs.c1054 struct dev_pagemap *pgmap; in virtio_fs_setup_dax() local
1084 pgmap = devm_kzalloc(&vdev->dev, sizeof(*pgmap), GFP_KERNEL); in virtio_fs_setup_dax()
1085 if (!pgmap) in virtio_fs_setup_dax()
1088 pgmap->type = MEMORY_DEVICE_FS_DAX; in virtio_fs_setup_dax()
1095 pgmap->range = (struct range) { in virtio_fs_setup_dax()
1099 pgmap->nr_range = 1; in virtio_fs_setup_dax()
1101 fs->window_kaddr = devm_memremap_pages(&vdev->dev, pgmap); in virtio_fs_setup_dax()

Completed in 67 milliseconds

12