Home
last modified time | relevance | path

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

1234

/linux/Documentation/translations/zh_CN/mm/
A Dhighmem.rst64 在本地的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/tools/perf/util/
A Dmap.c245 struct kmap *kmap = __map__kmap((struct map *)map); in __map__is_extra_kernel_map() local
247 return kmap && kmap->name[0]; in __map__is_extra_kernel_map()
420 size += sizeof(struct kmap); in map__clone()
530 struct kmap *kmap = __map__kmap(map); in map__rip_2objdump() local
538 if (kmap && is_entry_trampoline(kmap->name) && kmap->kmaps) { in map__rip_2objdump()
624 struct kmap *kmap = __map__kmap(map); in map__kmap() local
626 if (!kmap) in map__kmap()
628 return kmap; in map__kmap()
633 struct kmap *kmap = map__kmap(map); in map__kmaps() local
635 if (!kmap || !kmap->kmaps) { in map__kmaps()
[all …]
A Dsymbol-elf.c1393 static bool ref_reloc_sym_not_found(struct kmap *kmap) in ref_reloc_sym_not_found() argument
1395 return kmap && kmap->ref_reloc_sym && kmap->ref_reloc_sym->name && in ref_reloc_sym_not_found()
1407 static u64 ref_reloc(struct kmap *kmap) in ref_reloc() argument
1409 if (kmap && kmap->ref_reloc_sym && in ref_reloc()
1411 return kmap->ref_reloc_sym->addr - in ref_reloc()
1421 struct maps *kmaps, struct kmap *kmap, in dso__process_kernel_symbol() argument
1478 if (!kmap) in dso__process_kernel_symbol()
1544 struct kmap *kmap = dso__kernel(dso) ? map__kmap(map) : NULL; in dso__load_sym_internal() local
1561 if (kmap && !kmaps) in dso__load_sym_internal()
1626 map__set_reloc(map, kmap->ref_reloc_sym->addr - kmap->ref_reloc_sym->unrelocated_addr); in dso__load_sym_internal()
[all …]
A Dbpf_lock_contention.c69 struct map *kmap; in lock_contention_prepare() local
75 &kmap); in lock_contention_prepare()
89 addrs[con->filters->nr_addrs++] = map__unmap_ip(kmap, sym->start); in lock_contention_prepare()
327 struct map *kmap; in lock_contention_get_name() local
358 sym = machine__find_kernel_symbol(machine, key->lock_addr_or_cgroup, &kmap); in lock_contention_get_name()
388 sym = machine__find_kernel_symbol(machine, addr, &kmap); in lock_contention_get_name()
393 offset = map__map_ip(kmap, addr) - sym->start; in lock_contention_get_name()
A Dmachine.c1015 struct kmap *kmap; in machine__create_extra_kernel_map() local
1026 kmap = map__kmap(map); in machine__create_extra_kernel_map()
1028 strlcpy(kmap->name, xm->name, KMAP_NAME_LEN); in machine__create_extra_kernel_map()
1082 struct kmap *kmap = __map__kmap(map); in machine__map_x86_64_entry_trampolines_cb() local
1084 if (!kmap || !is_entry_trampoline(kmap->name)) in machine__map_x86_64_entry_trampolines_cb()
1167 struct kmap *kmap; in machine__destroy_kernel_maps() local
1173 kmap = map__kmap(map); in machine__destroy_kernel_maps()
1175 if (kmap && kmap->ref_reloc_sym) { in machine__destroy_kernel_maps()
1176 zfree((char **)&kmap->ref_reloc_sym->name); in machine__destroy_kernel_maps()
1177 zfree(&kmap->ref_reloc_sym); in machine__destroy_kernel_maps()
[all …]
A Dsymbol.c1232 struct kmap *kmap = map__kmap(map); in validate_kcore_addresses() local
1234 if (!kmap) in validate_kcore_addresses()
1237 if (kmap->ref_reloc_sym && kmap->ref_reloc_sym->name) { in validate_kcore_addresses()
1241 kmap->ref_reloc_sym->name, &start)) in validate_kcore_addresses()
1243 if (start != kmap->ref_reloc_sym->addr) in validate_kcore_addresses()
1460 static int kallsyms__delta(struct kmap *kmap, const char *filename, u64 *delta) in kallsyms__delta() argument
1464 if (!kmap->ref_reloc_sym || !kmap->ref_reloc_sym->name) in kallsyms__delta()
1470 *delta = addr - kmap->ref_reloc_sym->addr; in kallsyms__delta()
1477 struct kmap *kmap = map__kmap(map); in __dso__load_kallsyms() local
1483 if (!kmap || !kmap->kmaps) in __dso__load_kallsyms()
[all …]
A Dmap.h41 struct kmap;
43 struct kmap *__map__kmap(struct map *map);
44 struct kmap *map__kmap(struct map *map);
A Dmaps.h17 struct kmap { struct
/linux/drivers/net/ethernet/chelsio/inline_crypto/chtls/
A Dchtls_hw.c166 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/drivers/gpu/drm/panthor/
A Dpanthor_gem.h77 void *kmap; member
117 if (bo->kmap) in panthor_kernel_bo_vmap()
124 bo->kmap = map.vaddr; in panthor_kernel_bo_vmap()
131 if (bo->kmap) { in panthor_kernel_bo_vunmap()
132 struct iosys_map map = IOSYS_MAP_INIT_VADDR(bo->kmap); in panthor_kernel_bo_vunmap()
135 bo->kmap = NULL; in panthor_kernel_bo_vunmap()
A Dpanthor_fw.c399 bool was_mapped = !!section->mem->kmap; in panthor_fw_init_section_mem()
410 memcpy(section->mem->kmap, section->data.buf, section->data.size); in panthor_fw_init_section_mem()
412 memset(section->mem->kmap + section->data.size, 0, in panthor_fw_init_section_mem()
460 memset(mem->kmap, 0, panthor_kernel_bo_size(mem)); in panthor_fw_alloc_queue_iface_mem()
461 *input = mem->kmap; in panthor_fw_alloc_queue_iface_mem()
462 *output = mem->kmap + SZ_4K; in panthor_fw_alloc_queue_iface_mem()
773 return ptdev->fw->shared_section->mem->kmap + (mcu_va - shared_mem_start); in iface_fw_to_cpu_addr()
794 cs_iface->control = ptdev->fw->shared_section->mem->kmap + iface_offset; in panthor_init_cs_iface()
845 csg_iface->control = ptdev->fw->shared_section->mem->kmap + iface_offset; in panthor_init_csg_iface()
893 if (!ptdev->fw->shared_section->mem->kmap) in panthor_fw_init_ifaces()
[all …]
/linux/tools/perf/arch/x86/util/
A Devent.c28 struct kmap *kmap; in perf_event__synthesize_extra_kmaps_cb() local
34 kmap = map__kmap(map); in perf_event__synthesize_extra_kmaps_cb()
37 PERF_ALIGN(strlen(kmap->name) + 1, sizeof(u64)) + in perf_event__synthesize_extra_kmaps_cb()
60 strlcpy(event->mmap.filename, kmap->name, PATH_MAX); in perf_event__synthesize_extra_kmaps_cb()
/linux/arch/m68k/mm/
A 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/Documentation/mm/
A Dhighmem.rst61 These functions should always be used, whereas kmap_atomic() and kmap() have
70 It's valid to take pagefaults in a local kmap region, unless the context
87 While they are significantly faster than kmap(), for the highmem case they
88 come with restrictions about the pointers validity. Contrary to kmap()
95 therefore try to design their code to avoid the use of kmap() by mapping
131 * kmap(). This function has been deprecated; use kmap_local_page().
146 Mapping changes must be propagated across all the CPUs. kmap() also
147 requires global TLB invalidation when the kmap's pool wraps and it might
149 available. Therefore, kmap() is only callable from preemptible context.
154 kmap() is mostly wasted in such cases. kmap() was not intended for long
[all …]
/linux/drivers/gpu/drm/nouveau/include/nvkm/core/
A Dmemory.h41 int (*kmap)(struct nvkm_memory *, struct nvkm_memory **); member
68 #define nvkm_memory_kmap(p,i) ((p)->func->kmap ? (p)->func->kmap((p), (i)) : -ENOSYS)
/linux/drivers/gpu/drm/i915/gt/
A Dshmem_utils.c111 vaddr = kmap(page); in __shmem_rw()
146 vaddr = kmap(page); in shmem_read_to_iosys_map()
/linux/include/linux/
A Dhighmem-internal.h40 static inline void *kmap(struct page *page) in kmap() function
162 static inline void *kmap(struct page *page) in kmap() function
/linux/net/ceph/
A Dpagelist.c70 pl->mapped_tail = kmap(page); in ceph_pagelist_addpage()
167 pl->mapped_tail = kmap(page); in ceph_pagelist_truncate()
/linux/drivers/gpu/drm/nouveau/
A Dnouveau_bo.h19 struct ttm_bo_kmap_obj kmap; member
98 &nvbo->kmap, &is_iomem); in nvbo_kmap_obj_iovirtual()
/linux/drivers/gpu/drm/xe/
A Dxe_bo_types.h47 struct ttm_bo_kmap_obj kmap; member
/linux/mm/
A Dhighmem.c577 void *kmap; in __kmap_local_page_prot() local
588 kmap = arch_kmap_local_high_get(page); in __kmap_local_page_prot()
589 if (kmap) in __kmap_local_page_prot()
590 return kmap; in __kmap_local_page_prot()
/linux/fs/freevxfs/
A Dvxfs_subr.c51 kmap(pp); in vxfs_get_page()
/linux/tools/perf/
A Dbuiltin-lock.c526 struct map *kmap; in match_callstack_filter() local
555 sym = machine__find_kernel_symbol(machine, ip, &kmap); in match_callstack_filter()
1071 struct map *kmap; in report_lock_contention_begin_event() local
1089 &kmap); in report_lock_contention_begin_event()
1115 sym = machine__find_kernel_symbol(machine, key, &kmap); in report_lock_contention_begin_event()
1755 struct map *kmap; in print_lock_stat_stdio() local
1765 sym = machine__find_kernel_symbol(con->machine, ip, &kmap); in print_lock_stat_stdio()
1766 get_symbol_name_offset(kmap, sym, ip, buf, sizeof(buf)); in print_lock_stat_stdio()
1808 struct map *kmap; in print_lock_stat_csv() local
1818 sym = machine__find_kernel_symbol(con->machine, ip, &kmap); in print_lock_stat_csv()
[all …]
/linux/drivers/gpu/drm/loongson/
A Dlsdc_ttm.h35 struct ttm_bo_kmap_obj kmap; member
/linux/arch/sh/mm/
A DMakefile19 mmu-$(CONFIG_MMU) := extable_32.o fault.o ioremap.o kmap.o \

Completed in 54 milliseconds

1234