Home
last modified time | relevance | path

Searched refs:kmap (Results 1 – 25 of 119) sorted by relevance

12345

/Linux-v6.1/Documentation/translations/zh_CN/mm/
Dhighmem.rst64 在本地的kmap区域中采取pagefaults是有效的,除非获取本地映射的上下文由于其他原因不允许
84 * kmap()。这应该被用来对单个页面进行短时间的映射,对抢占或迁移没有限制。它会带来开销,
88 映射变化必须广播到所有CPU(核)上,kmap()还需要在kmap的池被回绕(TLB项用光了,需要从第
90 槽出现。因此,kmap()只能从可抢占的上下文中调用。
93 高内存映射都是短暂的,而且只在一个地方使用。这意味着在这种情况下,kmap()的成本大
94 多被浪费了。kmap()并不是为长期映射而设计的,但是它已经朝着这个方向发展了,在较新
97 在64位系统中,调用kmap_local_page()、kmap_atomic()和kmap()没有实际作用,因为64位
/Linux-v6.1/tools/perf/util/
Dmap.c223 (dso->kernel ? sizeof(struct kmap) : 0))); in map__new2()
243 struct kmap *kmap = __map__kmap((struct map *)map); in __map__is_extra_kernel_map() local
245 return kmap && kmap->name[0]; in __map__is_extra_kernel_map()
395 size += sizeof(struct kmap); in map__clone()
473 struct kmap *kmap = __map__kmap(map); in map__rip_2objdump() local
480 if (kmap && is_entry_trampoline(kmap->name) && kmap->kmaps && kmap->kmaps->machine) { in map__rip_2objdump()
481 struct map *kernel_map = machine__kernel_map(kmap->kmaps->machine); in map__rip_2objdump()
554 struct kmap *__map__kmap(struct map *map) in __map__kmap()
558 return (struct kmap *)(map + 1); in __map__kmap()
561 struct kmap *map__kmap(struct map *map) in map__kmap()
[all …]
Dbpf_lock_contention.c125 struct map *kmap; in lock_contention_read() local
152 sym = machine__find_kernel_symbol(machine, st->addr, &kmap); in lock_contention_read()
158 offset = kmap->map_ip(kmap, st->addr) - sym->start; in lock_contention_read()
Dsymbol-elf.c971 static bool ref_reloc_sym_not_found(struct kmap *kmap) in ref_reloc_sym_not_found() argument
973 return kmap && kmap->ref_reloc_sym && kmap->ref_reloc_sym->name && in ref_reloc_sym_not_found()
974 !kmap->ref_reloc_sym->unrelocated_addr; in ref_reloc_sym_not_found()
985 static u64 ref_reloc(struct kmap *kmap) in ref_reloc() argument
987 if (kmap && kmap->ref_reloc_sym && in ref_reloc()
988 kmap->ref_reloc_sym->unrelocated_addr) in ref_reloc()
989 return kmap->ref_reloc_sym->addr - in ref_reloc()
990 kmap->ref_reloc_sym->unrelocated_addr; in ref_reloc()
999 struct maps *kmaps, struct kmap *kmap, in dso__process_kernel_symbol() argument
1023 map->start = shdr->sh_addr + ref_reloc(kmap); in dso__process_kernel_symbol()
[all …]
Dmap.h41 struct kmap;
43 struct kmap *__map__kmap(struct map *map);
44 struct kmap *map__kmap(struct map *map);
Dsymbol.c1187 struct kmap *kmap = map__kmap(map); in validate_kcore_addresses() local
1189 if (!kmap) in validate_kcore_addresses()
1192 if (kmap->ref_reloc_sym && kmap->ref_reloc_sym->name) { in validate_kcore_addresses()
1196 kmap->ref_reloc_sym->name, &start)) in validate_kcore_addresses()
1198 if (start != kmap->ref_reloc_sym->addr) in validate_kcore_addresses()
1455 static int kallsyms__delta(struct kmap *kmap, const char *filename, u64 *delta) in kallsyms__delta() argument
1459 if (!kmap->ref_reloc_sym || !kmap->ref_reloc_sym->name) in kallsyms__delta()
1462 if (kallsyms__get_function_start(filename, kmap->ref_reloc_sym->name, &addr)) in kallsyms__delta()
1465 *delta = addr - kmap->ref_reloc_sym->addr; in kallsyms__delta()
1472 struct kmap *kmap = map__kmap(map); in __dso__load_kallsyms() local
[all …]
Dmaps.c42 struct kmap *kmap = map__kmap(map); in maps__insert() local
44 if (kmap) in maps__insert()
45 kmap->kmaps = maps; in maps__insert()
Dmachine.c1185 struct kmap *kmap; in machine__create_extra_kernel_map() local
1195 kmap = map__kmap(map); in machine__create_extra_kernel_map()
1197 strlcpy(kmap->name, xm->name, KMAP_NAME_LEN); in machine__create_extra_kernel_map()
1202 kmap->name, map->start, map->end); in machine__create_extra_kernel_map()
1255 struct kmap *kmap = __map__kmap(map); in machine__map_x86_64_entry_trampolines() local
1258 if (!kmap || !is_entry_trampoline(kmap->name)) in machine__map_x86_64_entry_trampolines()
1320 struct kmap *kmap; in machine__destroy_kernel_maps() local
1326 kmap = map__kmap(map); in machine__destroy_kernel_maps()
1328 if (kmap && kmap->ref_reloc_sym) { in machine__destroy_kernel_maps()
1329 zfree((char **)&kmap->ref_reloc_sym->name); in machine__destroy_kernel_maps()
[all …]
/Linux-v6.1/drivers/net/ethernet/chelsio/inline_crypto/chtls/
Dchtls_hw.c166 cdev->kmap.size = num_key_ctx; in chtls_init_kmap()
167 cdev->kmap.available = bsize; in chtls_init_kmap()
168 ksize = sizeof(*cdev->kmap.addr) * bsize; in chtls_init_kmap()
169 cdev->kmap.addr = kvzalloc(ksize, GFP_KERNEL); in chtls_init_kmap()
170 if (!cdev->kmap.addr) in chtls_init_kmap()
173 cdev->kmap.start = lldi->vr->key.start; in chtls_init_kmap()
174 spin_lock_init(&cdev->kmap.lock); in chtls_init_kmap()
189 spin_lock_bh(&cdev->kmap.lock); in get_new_keyid()
190 keyid = find_first_zero_bit(cdev->kmap.addr, cdev->kmap.size); in get_new_keyid()
191 if (keyid < cdev->kmap.size) { in get_new_keyid()
[all …]
/Linux-v6.1/tools/perf/arch/x86/util/
Devent.c32 struct kmap *kmap; in perf_event__synthesize_extra_kmaps() local
38 kmap = map__kmap(pos); in perf_event__synthesize_extra_kmaps()
41 PERF_ALIGN(strlen(kmap->name) + 1, sizeof(u64)) + in perf_event__synthesize_extra_kmaps()
64 strlcpy(event->mmap.filename, kmap->name, PATH_MAX); in perf_event__synthesize_extra_kmaps()
/Linux-v6.1/arch/m68k/mm/
DMakefile9 obj-$(CONFIG_MMU_MOTOROLA) += kmap.o memory.o motorola.o hwtest.o
11 obj-$(CONFIG_MMU_COLDFIRE) += kmap.o memory.o mcfmmu.o
/Linux-v6.1/Documentation/mm/
Dhighmem.rst68 It's valid to take pagefaults in a local kmap region, unless the context
85 While it is significantly faster than kmap(), for the higmem case it
86 comes with restrictions about the pointers validity. Contrary to kmap()
93 therefore try to design their code to avoid the use of kmap() by mapping
118 * kmap(). This should be used to make short duration mapping of a single
124 Mapping changes must be propagated across all the CPUs. kmap() also
125 requires global TLB invalidation when the kmap's pool wraps and it might
127 available. Therefore, kmap() is only callable from preemptible context.
132 kmap() is mostly wasted in such cases. kmap() was not intended for long
137 On 64-bit systems, calls to kmap_local_page(), kmap_atomic() and kmap() have
/Linux-v6.1/tools/perf/
Dbuiltin-lock.c859 struct map *kmap; in is_lock_function() local
864 &kmap); in is_lock_function()
871 sched_text_start = kmap->unmap_ip(kmap, sym->start); in is_lock_function()
876 &kmap); in is_lock_function()
877 sched_text_end = kmap->unmap_ip(kmap, sym->start); in is_lock_function()
881 &kmap); in is_lock_function()
882 lock_text_start = kmap->unmap_ip(kmap, sym->start); in is_lock_function()
886 &kmap); in is_lock_function()
887 lock_text_end = kmap->unmap_ip(kmap, sym->start); in is_lock_function()
1523 struct map *kmap; in print_contention_result() local
[all …]
/Linux-v6.1/fs/nilfs2/
Dalloc.c527 desc_kaddr = kmap(desc_bh->b_page); in nilfs_palloc_prepare_alloc_entry()
539 bitmap_kaddr = kmap(bitmap_bh->b_page); in nilfs_palloc_prepare_alloc_entry()
608 desc_kaddr = kmap(req->pr_desc_bh->b_page); in nilfs_palloc_commit_free_entry()
611 bitmap_kaddr = kmap(req->pr_bitmap_bh->b_page); in nilfs_palloc_commit_free_entry()
649 desc_kaddr = kmap(req->pr_desc_bh->b_page); in nilfs_palloc_abort_alloc_entry()
652 bitmap_kaddr = kmap(req->pr_bitmap_bh->b_page); in nilfs_palloc_abort_alloc_entry()
757 bitmap_kaddr = kmap(bitmap_bh->b_page); in nilfs_palloc_freev()
Difile.h24 void *kaddr = kmap(ibh->b_page); in nilfs_ifile_map_inode()
/Linux-v6.1/fs/ecryptfs/
Dread_write.c67 virt = kmap(page_for_lower); in ecryptfs_write_lower_page_segment()
256 virt = kmap(page_for_ecryptfs); in ecryptfs_read_lower_page_segment()
/Linux-v6.1/drivers/gpu/drm/i915/gt/
Dshmem_utils.c108 vaddr = kmap(page); in __shmem_rw()
143 vaddr = kmap(page); in shmem_read_to_iosys_map()
/Linux-v6.1/include/linux/
Dhighmem-internal.h40 static inline void *kmap(struct page *page) in kmap() function
164 static inline void *kmap(struct page *page) in kmap() function
/Linux-v6.1/net/ceph/
Dpagelist.c70 pl->mapped_tail = kmap(page); in ceph_pagelist_addpage()
167 pl->mapped_tail = kmap(page); in ceph_pagelist_truncate()
/Linux-v6.1/fs/erofs/
Ddecompressor_lzma.c167 kin = kmap(*rq->in); in z_erofs_lzma_decompress()
224 strm->buf.out = kmap(rq->out[no]) + pageofs; in z_erofs_lzma_decompress()
237 kin = kmap(rq->in[ni]); in z_erofs_lzma_decompress()
/Linux-v6.1/fs/vboxsf/
Dfile.c237 buf = kmap(page); in vboxsf_read_folio()
289 buf = kmap(page); in vboxsf_writepage()
323 buf = kmap(page); in vboxsf_write_end()
/Linux-v6.1/fs/ntfs/
Daops.h78 kmap(page); in ntfs_map_page()
/Linux-v6.1/mm/
Dhighmem.c564 void *kmap; in __kmap_local_page_prot() local
575 kmap = arch_kmap_local_high_get(page); in __kmap_local_page_prot()
576 if (kmap) in __kmap_local_page_prot()
577 return kmap; in __kmap_local_page_prot()
/Linux-v6.1/drivers/gpu/drm/nouveau/
Dnouveau_bo.h19 struct ttm_bo_kmap_obj kmap; member
105 &nvbo->kmap, &is_iomem); in nvbo_kmap_obj_iovirtual()
/Linux-v6.1/fs/freevxfs/
Dvxfs_subr.c51 kmap(pp); in vxfs_get_page()

12345