/linux-6.3-rc2/Documentation/translations/zh_CN/mm/ |
A D | highmem.rst | 64 在本地的kmap区域中采取pagefaults是有效的,除非获取本地映射的上下文由于其他原因不允许 76 虽然它比kmap()快得多,但在高内存的情况下,它对指针的有效性有限制。与kmap()映射相反, 81 kmap(),将页面映射到将被使用的同一线程中,并优先使用kmap_local_page()。 98 * kmap()。这应该被用来对单个页面进行短时间的映射,对抢占或迁移没有限制。它会带来开销, 102 映射变化必须广播到所有CPU(核)上,kmap()还需要在kmap的池被回绕(TLB项用光了,需要从第 104 槽出现。因此,kmap()只能从可抢占的上下文中调用。 107 高内存映射都是短暂的,而且只在一个地方使用。这意味着在这种情况下,kmap()的成本大 108 多被浪费了。kmap()并不是为长期映射而设计的,但是它已经朝着这个方向发展了,在较新 111 在64位系统中,调用kmap_local_page()、kmap_atomic()和kmap()没有实际作用,因为64位
|
/linux-6.3-rc2/tools/perf/util/ |
A D | map.c | 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() 563 struct kmap *kmap = __map__kmap(map); in map__kmap() local 565 if (!kmap) in map__kmap() 567 return kmap; in map__kmap() 572 struct kmap *kmap = map__kmap(map); in map__kmaps() local 574 if (!kmap || !kmap->kmaps) { in map__kmaps() [all …]
|
A D | bpf_lock_contention.c | 57 struct map *kmap; in lock_contention_prepare() local 63 &kmap); in lock_contention_prepare() 77 addrs[con->filters->nr_addrs++] = kmap->unmap_ip(kmap, sym->start); in lock_contention_prepare() 179 struct map *kmap; in lock_contention_get_name() local 201 sym = machine__find_kernel_symbol(machine, key->lock_addr, &kmap); in lock_contention_get_name() 213 sym = machine__find_kernel_symbol(machine, addr, &kmap); in lock_contention_get_name() 218 offset = kmap->map_ip(kmap, addr) - sym->start; in lock_contention_get_name()
|
A D | symbol-elf.c | 1322 static bool ref_reloc_sym_not_found(struct kmap *kmap) in ref_reloc_sym_not_found() argument 1324 return kmap && kmap->ref_reloc_sym && kmap->ref_reloc_sym->name && in ref_reloc_sym_not_found() 1336 static u64 ref_reloc(struct kmap *kmap) in ref_reloc() argument 1338 if (kmap && kmap->ref_reloc_sym && in ref_reloc() 1340 return kmap->ref_reloc_sym->addr - in ref_reloc() 1350 struct maps *kmaps, struct kmap *kmap, in dso__process_kernel_symbol() argument 1403 if (!kmap) in dso__process_kernel_symbol() 1459 struct kmap *kmap = dso->kernel ? map__kmap(map) : NULL; in dso__load_sym_internal() local 1477 if (kmap && !kmaps) in dso__load_sym_internal() 1533 if (ref_reloc_sym_not_found(kmap)) { in dso__load_sym_internal() [all …]
|
A D | map.h | 41 struct kmap; 43 struct kmap *__map__kmap(struct map *map); 44 struct kmap *map__kmap(struct map *map);
|
A D | machine.c | 1185 struct kmap *kmap; in machine__create_extra_kernel_map() local 1195 kmap = map__kmap(map); 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 1328 if (kmap && kmap->ref_reloc_sym) { in machine__destroy_kernel_maps() 3343 struct map *kmap; in machine__is_lock_function() local 3352 machine->sched.text_start = kmap->unmap_ip(kmap, sym->start); in machine__is_lock_function() 3356 machine->sched.text_end = kmap->unmap_ip(kmap, sym->start); in machine__is_lock_function() 3359 machine->lock.text_start = kmap->unmap_ip(kmap, sym->start); in machine__is_lock_function() [all …]
|
A D | symbol.c | 1196 struct kmap *kmap = map__kmap(map); in validate_kcore_addresses() local 1198 if (!kmap) in validate_kcore_addresses() 1201 if (kmap->ref_reloc_sym && kmap->ref_reloc_sym->name) { in validate_kcore_addresses() 1205 kmap->ref_reloc_sym->name, &start)) in validate_kcore_addresses() 1207 if (start != kmap->ref_reloc_sym->addr) in validate_kcore_addresses() 1477 static int kallsyms__delta(struct kmap *kmap, const char *filename, u64 *delta) in kallsyms__delta() argument 1481 if (!kmap->ref_reloc_sym || !kmap->ref_reloc_sym->name) in kallsyms__delta() 1487 *delta = addr - kmap->ref_reloc_sym->addr; in kallsyms__delta() 1494 struct kmap *kmap = map__kmap(map); in __dso__load_kallsyms() local 1500 if (!kmap || !kmap->kmaps) in __dso__load_kallsyms() [all …]
|
A D | maps.c | 42 struct kmap *kmap = map__kmap(map); in maps__insert() local 44 if (kmap) in maps__insert() 45 kmap->kmaps = maps; in maps__insert()
|
/linux-6.3-rc2/drivers/net/ethernet/chelsio/inline_crypto/chtls/ |
A D | chtls_hw.c | 166 cdev->kmap.size = num_key_ctx; in chtls_init_kmap() 167 cdev->kmap.available = bsize; in chtls_init_kmap() 170 if (!cdev->kmap.addr) 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() 201 spin_unlock_bh(&cdev->kmap.lock); in get_new_keyid() 213 if (!cdev->kmap.addr) in free_tls_keyid() 219 spin_lock_bh(&cdev->kmap.lock); in free_tls_keyid() [all …]
|
/linux-6.3-rc2/tools/perf/arch/x86/util/ |
A D | event.c | 34 struct kmap *kmap; in perf_event__synthesize_extra_kmaps() local 40 kmap = map__kmap(pos); in perf_event__synthesize_extra_kmaps() 43 PERF_ALIGN(strlen(kmap->name) + 1, sizeof(u64)) + in perf_event__synthesize_extra_kmaps() 66 strlcpy(event->mmap.filename, kmap->name, PATH_MAX); in perf_event__synthesize_extra_kmaps()
|
/linux-6.3-rc2/arch/m68k/mm/ |
A D | Makefile | 9 obj-$(CONFIG_MMU_MOTOROLA) += kmap.o memory.o motorola.o hwtest.o 11 obj-$(CONFIG_MMU_COLDFIRE) += kmap.o memory.o mcfmmu.o
|
/linux-6.3-rc2/Documentation/mm/ |
A D | highmem.rst | 58 This function should always be used, whereas kmap_atomic() and kmap() have 67 It's valid to take pagefaults in a local kmap region, unless the context 84 While it is significantly faster than kmap(), for the highmem case it 85 comes with restrictions about the pointers validity. Contrary to kmap() 92 therefore try to design their code to avoid the use of kmap() by mapping 128 * kmap(). This function has been deprecated; use kmap_local_page(). 143 Mapping changes must be propagated across all the CPUs. kmap() also 144 requires global TLB invalidation when the kmap's pool wraps and it might 146 available. Therefore, kmap() is only callable from preemptible context. 151 kmap() is mostly wasted in such cases. kmap() was not intended for long [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/nouveau/include/nvkm/core/ |
A D | memory.h | 40 int (*kmap)(struct nvkm_memory *, struct nvkm_memory **); member 67 #define nvkm_memory_kmap(p,i) ((p)->func->kmap ? (p)->func->kmap((p), (i)) : -ENOSYS)
|
/linux-6.3-rc2/fs/nilfs2/ |
A D | alloc.c | 527 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()
|
A D | ifile.h | 24 void *kaddr = kmap(ibh->b_page); in nilfs_ifile_map_inode()
|
/linux-6.3-rc2/fs/ecryptfs/ |
A D | read_write.c | 67 virt = kmap(page_for_lower); in ecryptfs_write_lower_page_segment() 256 virt = kmap(page_for_ecryptfs); in ecryptfs_read_lower_page_segment()
|
/linux-6.3-rc2/net/ceph/ |
A D | pagelist.c | 70 pl->mapped_tail = kmap(page); in ceph_pagelist_addpage() 167 pl->mapped_tail = kmap(page); in ceph_pagelist_truncate()
|
/linux-6.3-rc2/drivers/gpu/drm/i915/gt/ |
A D | shmem_utils.c | 111 vaddr = kmap(page); in __shmem_rw() 146 vaddr = kmap(page); in shmem_read_to_iosys_map()
|
/linux-6.3-rc2/include/linux/ |
A D | highmem-internal.h | 40 static inline void *kmap(struct page *page) in kmap() function 167 static inline void *kmap(struct page *page) in kmap() function
|
/linux-6.3-rc2/fs/erofs/ |
A D | decompressor_lzma.c | 167 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-6.3-rc2/fs/vboxsf/ |
A D | file.c | 237 buf = kmap(page); in vboxsf_read_folio() 289 buf = kmap(page); in vboxsf_writepage() 323 buf = kmap(page); in vboxsf_write_end()
|
/linux-6.3-rc2/fs/ntfs/ |
A D | aops.h | 78 kmap(page); in ntfs_map_page()
|
/linux-6.3-rc2/mm/ |
A D | highmem.c | 564 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-6.3-rc2/drivers/gpu/drm/nouveau/ |
A D | nouveau_bo.h | 20 struct ttm_bo_kmap_obj kmap; member 106 &nvbo->kmap, &is_iomem); in nvbo_kmap_obj_iovirtual()
|
/linux-6.3-rc2/fs/freevxfs/ |
A D | vxfs_subr.c | 51 kmap(pp); in vxfs_get_page()
|