Home
last modified time | relevance | path

Searched +full:cpu +full:- +full:map (Results 1 – 25 of 1011) sorted by relevance

12345678910>>...41

/linux/tools/perf/tests/
H A Dtopology.c1 // SPDX-License-Identifier: GPL-2.0
14 #include "dwarf-regs.h"
16 #define TEMPL "/tmp/perf-test-XXXXXX"
28 return -1; in get_temp()
47 session->evlist = evlist__new_default(&target, /*sample_callchains=*/false); in session_write_header()
48 TEST_ASSERT_VAL("can't get evlist", session->evlist); in session_write_header()
49 session->evlis in session_write_header()
63 check_cpu_topology(char * path,struct perf_cpu_map * map) check_cpu_topology() argument
72 struct perf_cpu cpu; check_cpu_topology() local
205 struct perf_cpu_map *map; test__session_topology() local
[all...]
H A Dmem2node.c1 // SPDX-License-Identifier: GPL-2.0
15 const char *map; member
17 { .node = 0, .map = "0" },
18 { .node = 1, .map = "1-2" },
19 { .node = 3, .map = "5-7,9" },
26 struct perf_cpu_map *map in get_bitmap() local
32 struct perf_cpu cpu; get_bitmap() local
49 struct mem2node map; test__mem2node() local
[all...]
/linux/tools/lib/perf/
H A Dcpumap.c1 // SPDX-License-Identifier: GPL-2.0-only
18 void perf_cpu_map__set_nr(struct perf_cpu_map *map, unsigned int nr_cpus) in perf_cpu_map__set_nr() argument
20 RC_CHK_ACCESS(map)->nr = nr_cpus; in perf_cpu_map__set_nr()
33 cpus->nr = nr_cpus; in perf_cpu_map__alloc()
34 refcount_set(&cpus->refcnt, 1); in perf_cpu_map__alloc()
44 RC_CHK_ACCESS(cpus)->ma in perf_cpu_map__new_any_cpu()
49 cpu_map__delete(struct perf_cpu_map * map) cpu_map__delete() argument
58 perf_cpu_map__get(struct perf_cpu_map * map) perf_cpu_map__get() argument
68 perf_cpu_map__put(struct perf_cpu_map * map) perf_cpu_map__put() argument
245 perf_cpu_map__new_int(int cpu) perf_cpu_map__new_int() argument
277 perf_cpu_map__has_any_cpu_or_is_empty(const struct perf_cpu_map * map) perf_cpu_map__has_any_cpu_or_is_empty() argument
282 perf_cpu_map__is_any_cpu_or_is_empty(const struct perf_cpu_map * map) perf_cpu_map__is_any_cpu_or_is_empty() argument
290 perf_cpu_map__is_empty(const struct perf_cpu_map * map) perf_cpu_map__is_empty() argument
295 perf_cpu_map__idx(const struct perf_cpu_map * cpus,struct perf_cpu cpu) perf_cpu_map__idx() argument
320 perf_cpu_map__has(const struct perf_cpu_map * cpus,struct perf_cpu cpu) perf_cpu_map__has() argument
346 perf_cpu_map__has_any_cpu(const struct perf_cpu_map * map) perf_cpu_map__has_any_cpu() argument
351 perf_cpu_map__min(const struct perf_cpu_map * map) perf_cpu_map__min() argument
353 struct perf_cpu cpu, result = { perf_cpu_map__min() local
365 perf_cpu_map__max(const struct perf_cpu_map * map) perf_cpu_map__max() argument
[all...]
H A Devlist.c1 // SPDX-License-Identifier: GPL-2.0
30 INIT_LIST_HEAD(&evlist->entries); in perf_evlist__init()
31 evlist->nr_entries = 0; in perf_evlist__init()
32 fdarray__init(&evlist->pollfd, 64); in perf_evlist__init()
39 if (perf_cpu_map__is_empty(evsel->cpus)) { in __perf_evlist__propagate_maps()
40 if (perf_cpu_map__is_empty(evsel->pmu_cpus)) { in __perf_evlist__propagate_maps()
42 * Assume the unset PMU cpus were for a system-wide in __perf_evlist__propagate_maps()
45 evsel->pmu_cpus = perf_cpu_map__new_online_cpus(); in __perf_evlist__propagate_maps()
47 if (evlist->has_user_cpus && !evsel->system_wide) { in __perf_evlist__propagate_maps()
52 evsel->cpus = perf_cpu_map__get(evlist->user_requested_cpus); in __perf_evlist__propagate_maps()
[all …]
/linux/tools/lib/perf/include/perf/
H A Dcpumap.h1 /* SPDX-License-Identifier: GPL-2.0 */
10 * struct perf_cpu - wrapper around a CPU number.
11 * @cpu: CPU number, -1 for the "any CPU"/dummy value. member
17 int16_t cpu;
90 perf_cpu_map__for_each_cpu(cpu,idx,cpus) global() argument
[all...]
/linux/tools/perf/util/
H A Dcpumap.c1 // SPDX-License-Identifier: GPL-2.0
23 * CPU number.
35 return (data->mask32_data.long_size == 4) in perf_record_cpu_map_data__test_bit()
36 ? (bit_word32 < data->mask32_data.nr) && in perf_record_cpu_map_data__test_bit()
37 (data->mask32_data.mask[bit_word32] & bit_mask32) != 0 in perf_record_cpu_map_data__test_bit()
38 : (bit_word64 < data->mask64_data.nr) && in perf_record_cpu_map_data__test_bit()
39 (data->mask64_data.mask[bit_word64] & bit_mask64) != 0; in perf_record_cpu_map_data__test_bit()
42 /* Read ith mask value from data into the given 64-bi
67 struct perf_cpu_map *map; cpu_map__from_entries() local
97 struct perf_cpu_map *map; cpu_map__from_mask() local
110 int cpu; cpu_map__from_mask() local
129 struct perf_cpu_map *map; cpu_map__from_range() local
140 for (int cpu = data->range_cpu_data.start_cpu; cpu <= data->range_cpu_data.end_cpu; cpu_map__from_range() local
169 cpu_map__fprintf(struct perf_cpu_map * map,FILE * fp) cpu_map__fprintf() argument
206 cpu__get_topology_int(int cpu,const char * name,int * value) cpu__get_topology_int() argument
216 cpu__get_socket_id(struct perf_cpu cpu) cpu__get_socket_id() argument
222 aggr_cpu_id__socket(struct perf_cpu cpu,void * data __maybe_unused) aggr_cpu_id__socket() argument
258 struct perf_cpu cpu; cpu_aggr_map__new() local
300 cpu__get_die_id(struct perf_cpu cpu) cpu__get_die_id() argument
307 aggr_cpu_id__die(struct perf_cpu cpu,void * data) aggr_cpu_id__die() argument
330 cpu__get_cluster_id(struct perf_cpu cpu) cpu__get_cluster_id() argument
337 aggr_cpu_id__cluster(struct perf_cpu cpu,void * data) aggr_cpu_id__cluster() argument
354 cpu__get_core_id(struct perf_cpu cpu) cpu__get_core_id() argument
360 aggr_cpu_id__core(struct perf_cpu cpu,void * data) aggr_cpu_id__core() argument
379 aggr_cpu_id__cpu(struct perf_cpu cpu,void * data) aggr_cpu_id__cpu() argument
393 aggr_cpu_id__node(struct perf_cpu cpu,void * data __maybe_unused) aggr_cpu_id__node() argument
401 aggr_cpu_id__global(struct perf_cpu cpu,void * data __maybe_unused) aggr_cpu_id__global() argument
544 cpu__get_node(struct perf_cpu cpu) cpu__get_node() argument
577 unsigned int cpu, mem; cpu__setup_cpunode_map() local
626 cpu_map__snprint(struct perf_cpu_map * map,char * buf,size_t size) cpu_map__snprint() argument
635 struct perf_cpu cpu = { .cpu = INT16_MAX }; cpu_map__snprint() local
680 cpu_map__snprint_mask(struct perf_cpu_map * map,char * buf,size_t size) cpu_map__snprint_mask() argument
704 for (int cpu = last_cpu.cpu / 4 * 4; cpu >= 0; cpu -= 4) { cpu_map__snprint_mask() local
[all...]
H A Dmmap.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2011-2017, Red Hat Inc, Arnaldo Carvalho de Melo <acme@redhat.com>
5 * Parts came from evlist.c builtin-{top,stat,record}.c, see those files for further
35 len = bitmap_scnprintf(mask->bits, mask->nbits, buf, MASK_SIZE); in mmap_cpu_mask__scnprintf()
37 pr_debug("%p: %s mask[%zd]: %s\n", mask, tag, mask->nbits, buf); in mmap_cpu_mask__scnprintf()
40 size_t mmap__mmap_len(struct mmap *map) in mmap__mmap_len() argument
72 perf_mmap__aio_enabled(struct mmap * map) perf_mmap__aio_enabled() argument
78 perf_mmap__aio_alloc(struct mmap * map,int idx) perf_mmap__aio_alloc() argument
90 perf_mmap__aio_free(struct mmap * map,int idx) perf_mmap__aio_free() argument
98 perf_mmap__aio_bind(struct mmap * map,int idx,struct perf_cpu cpu,int affinity) perf_mmap__aio_bind() argument
127 perf_mmap__aio_alloc(struct mmap * map,int idx) perf_mmap__aio_alloc() argument
136 perf_mmap__aio_free(struct mmap * map,int idx) perf_mmap__aio_free() argument
148 perf_mmap__aio_mmap(struct mmap * map,struct mmap_params * mp) perf_mmap__aio_mmap() argument
202 perf_mmap__aio_munmap(struct mmap * map) perf_mmap__aio_munmap() argument
230 mmap__munmap(struct mmap * map) mmap__munmap() argument
247 struct perf_cpu cpu; build_node_mask() local
262 perf_mmap__setup_affinity_mask(struct mmap * map,struct mmap_params * mp) perf_mmap__setup_affinity_mask() argument
277 mmap__mmap(struct mmap * map,struct mmap_params * mp,int fd,struct perf_cpu cpu) mmap__mmap() argument
321 perf_mmap__push(struct mmap * md,void * to,int push (struct mmap * map,void * to,void * buf,size_t size)) perf_mmap__push() argument
[all...]
/linux/kernel/bpf/
H A Dlocal_storage.c1 // SPDX-License-Identifier: GPL-2.0
2 #include <linux/bpf-cgroup.h>
16 #include "../cgroup/cgroup-internal.h"
22 struct bpf_map map; member
29 static struct bpf_cgroup_storage_map *map_to_storage(struct bpf_map *map) in map_to_storage() argument
31 return container_of(map, struct bpf_cgroup_storage_map, map); in map_to_storage()
34 static bool attach_type_isolated(const struct bpf_map *map) in attach_type_isolated() argument
36 return map->key_size == sizeof(struct bpf_cgroup_storage_key); in attach_type_isolated()
39 static int bpf_cgroup_storage_key_cmp(const struct bpf_cgroup_storage_map *map, in bpf_cgroup_storage_key_cmp() argument
42 if (attach_type_isolated(&map->map)) { in bpf_cgroup_storage_key_cmp()
[all …]
H A Dcpumap.c1 // SPDX-License-Identifier: GPL-2.0-only
8 * DOC: cpu map
9 * The 'cpumap' is primarily used as a backend map for XDP BPF helper
13 * this map type redirects raw XDP frames to another CPU. The remote
14 * CPU will do SKB-allocation and call the normal network stack.
20 * basically allows for 10G wirespeed pre-filtering via bpf.
40 /* General idea: XDP packets getting XDP redirected to another CPU,
41 * will maximum be stored/queued for one driver ->poll() call. It is
43 * same CPU. Thus, cpu_map_flush operation can deduct via this_cpu_ptr()
47 #define CPU_MAP_BULK_SIZE 8 /* 8 == one cacheline on 64-bit archs */
[all …]
H A Dhashtab.c1 // SPDX-License-Identifier: GPL-2.0-only
2 /* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com
49 * from sys_bpf(). BPF recursion is prevented by incrementing the per CPU
53 * by pinning the task to the current CPU and incrementing the recursion
54 * protection across the map operation.
75 * it is only safe to use raw spinlock for preallocated hash map on a RT kernel,
77 * after hash map wa
86 struct bpf_map map; global() member
201 fd_htab_map_get_ptr(const struct bpf_map * map,struct htab_elem * l) fd_htab_map_get_ptr() argument
253 int cpu; htab_free_prealloced_fields() local
387 int cpu; alloc_extra_elems() local
482 int cpu; htab_pcpu_mem_dtor() local
525 htab_map_check_btf(struct bpf_map * map,const struct btf * btf,const struct btf_type * key_type,const struct btf_type * value_type) htab_map_check_btf() argument
732 __htab_map_lookup_elem(struct bpf_map * map,void * key) __htab_map_lookup_elem() argument
752 htab_map_lookup_elem(struct bpf_map * map,void * key) htab_map_lookup_elem() argument
773 htab_map_gen_lookup(struct bpf_map * map,struct bpf_insn * insn_buf) htab_map_gen_lookup() argument
788 __htab_lru_map_lookup_elem(struct bpf_map * map,void * key,const bool mark) __htab_lru_map_lookup_elem() argument
802 htab_lru_map_lookup_elem(struct bpf_map * map,void * key) htab_lru_map_lookup_elem() argument
807 htab_lru_map_lookup_elem_sys(struct bpf_map * map,void * key) htab_lru_map_lookup_elem_sys() argument
812 htab_lru_map_gen_lookup(struct bpf_map * map,struct bpf_insn * insn_buf) htab_lru_map_gen_lookup() argument
845 int cpu; check_and_free_fields() local
892 htab_map_get_next_key(struct bpf_map * map,void * key,void * next_key) htab_map_get_next_key() argument
961 struct bpf_map *map = &htab->map; htab_put_fd_value() local
1026 int cpu; pcpu_copy_value() local
1055 int cpu; pcpu_init_value() local
1171 htab_map_update_elem(struct bpf_map * map,void * key,void * value,u64 map_flags) htab_map_update_elem() argument
1278 htab_lru_map_update_elem(struct bpf_map * map,void * key,void * value,u64 map_flags) htab_lru_map_update_elem() argument
1353 htab_map_update_elem_in_place(struct bpf_map * map,void * key,void * value,u64 map_flags,bool percpu,bool onallcpus) htab_map_update_elem_in_place() argument
1416 __htab_lru_percpu_map_update_elem(struct bpf_map * map,void * key,void * value,u64 map_flags,bool onallcpus) __htab_lru_percpu_map_update_elem() argument
1485 htab_percpu_map_update_elem(struct bpf_map * map,void * key,void * value,u64 map_flags) htab_percpu_map_update_elem() argument
1491 htab_lru_percpu_map_update_elem(struct bpf_map * map,void * key,void * value,u64 map_flags) htab_lru_percpu_map_update_elem() argument
1499 htab_map_delete_elem(struct bpf_map * map,void * key) htab_map_delete_elem() argument
1534 htab_lru_map_delete_elem(struct bpf_map * map,void * key) htab_lru_map_delete_elem() argument
1609 htab_map_free_internal_structs(struct bpf_map * map) htab_map_free_internal_structs() argument
1624 htab_map_free(struct bpf_map * map) htab_map_free() argument
1654 htab_map_seq_show_elem(struct bpf_map * map,void * key,struct seq_file * m) htab_map_seq_show_elem() argument
1675 __htab_map_lookup_and_delete_elem(struct bpf_map * map,void * key,void * value,bool is_lru_map,bool is_percpu,u64 flags) __htab_map_lookup_and_delete_elem() argument
1706 int off = 0, cpu; __htab_map_lookup_and_delete_elem() local
1739 htab_map_lookup_and_delete_elem(struct bpf_map * map,void * key,void * value,u64 flags) htab_map_lookup_and_delete_elem() argument
1746 htab_percpu_map_lookup_and_delete_elem(struct bpf_map * map,void * key,void * value,u64 flags) htab_percpu_map_lookup_and_delete_elem() argument
1754 htab_lru_map_lookup_and_delete_elem(struct bpf_map * map,void * key,void * value,u64 flags) htab_lru_map_lookup_and_delete_elem() argument
1761 htab_lru_percpu_map_lookup_and_delete_elem(struct bpf_map * map,void * key,void * value,u64 flags) htab_lru_percpu_map_lookup_and_delete_elem() argument
1770 __htab_map_lookup_and_delete_batch(struct bpf_map * map,const union bpf_attr * attr,union bpf_attr __user * uattr,bool do_delete,bool is_lru_map,bool is_percpu) __htab_map_lookup_and_delete_batch() argument
1901 int off = 0, cpu; __htab_map_lookup_and_delete_batch() local
2011 htab_percpu_map_lookup_batch(struct bpf_map * map,const union bpf_attr * attr,union bpf_attr __user * uattr) htab_percpu_map_lookup_batch() argument
2019 htab_percpu_map_lookup_and_delete_batch(struct bpf_map * map,const union bpf_attr * attr,union bpf_attr __user * uattr) htab_percpu_map_lookup_and_delete_batch() argument
2028 htab_map_lookup_batch(struct bpf_map * map,const union bpf_attr * attr,union bpf_attr __user * uattr) htab_map_lookup_batch() argument
2036 htab_map_lookup_and_delete_batch(struct bpf_map * map,const union bpf_attr * attr,union bpf_attr __user * uattr) htab_map_lookup_and_delete_batch() argument
2045 htab_lru_percpu_map_lookup_batch(struct bpf_map * map,const union bpf_attr * attr,union bpf_attr __user * uattr) htab_lru_percpu_map_lookup_batch() argument
2054 htab_lru_percpu_map_lookup_and_delete_batch(struct bpf_map * map,const union bpf_attr * attr,union bpf_attr __user * uattr) htab_lru_percpu_map_lookup_and_delete_batch() argument
2063 htab_lru_map_lookup_batch(struct bpf_map * map,const union bpf_attr * attr,union bpf_attr __user * uattr) htab_lru_map_lookup_batch() argument
2071 htab_lru_map_lookup_and_delete_batch(struct bpf_map * map,const union bpf_attr * attr,union bpf_attr __user * uattr) htab_lru_map_lookup_and_delete_batch() argument
2080 struct bpf_map *map; global() member
2170 struct bpf_map *map = info->map; __bpf_hash_map_seq_show() local
2172 int ret = 0, off = 0, cpu; __bpf_hash_map_seq_show() local
2221 struct bpf_map *map = aux->map; bpf_iter_init_hash_map() local
2263 bpf_for_each_hash_elem(struct bpf_map * map,bpf_callback_t callback_fn,void * callback_ctx,u64 flags) bpf_for_each_hash_elem() argument
2316 htab_map_mem_usage(const struct bpf_map * map) htab_map_mem_usage() argument
2401 htab_percpu_map_lookup_elem(struct bpf_map * map,void * key) htab_percpu_map_lookup_elem() argument
2412 htab_percpu_map_gen_lookup(struct bpf_map * map,struct bpf_insn * insn_buf) htab_percpu_map_gen_lookup() argument
2431 htab_percpu_map_lookup_percpu_elem(struct bpf_map * map,void * key,u32 cpu) htab_percpu_map_lookup_percpu_elem() argument
2445 htab_lru_percpu_map_lookup_elem(struct bpf_map * map,void * key) htab_lru_percpu_map_lookup_elem() argument
2457 htab_lru_percpu_map_lookup_percpu_elem(struct bpf_map * map,void * key,u32 cpu) htab_lru_percpu_map_lookup_percpu_elem() argument
2473 bpf_percpu_hash_copy(struct bpf_map * map,void * key,void * value,u64 map_flags) bpf_percpu_hash_copy() argument
2478 int cpu, off = 0; bpf_percpu_hash_copy() local
2511 bpf_percpu_hash_update(struct bpf_map * map,void * key,void * value,u64 map_flags) bpf_percpu_hash_update() argument
2529 htab_percpu_map_seq_show_elem(struct bpf_map * map,void * key,struct seq_file * m) htab_percpu_map_seq_show_elem() argument
2534 int cpu; htab_percpu_map_seq_show_elem() local
2608 fd_htab_map_free(struct bpf_map * map) fd_htab_map_free() argument
2630 bpf_fd_htab_map_lookup_elem(struct bpf_map * map,void * key,u32 * value) bpf_fd_htab_map_lookup_elem() argument
2650 bpf_fd_htab_map_update_elem(struct bpf_map * map,struct file * map_file,void * key,void * value,u64 map_flags) bpf_fd_htab_map_update_elem() argument
2675 struct bpf_map *map, *inner_map_meta; htab_of_map_alloc() local
2692 htab_of_map_lookup_elem(struct bpf_map * map,void * key) htab_of_map_lookup_elem() argument
2702 htab_of_map_gen_lookup(struct bpf_map * map,struct bpf_insn * insn_buf) htab_of_map_gen_lookup() argument
2720 htab_of_map_free(struct bpf_map * map) htab_of_map_free() argument
[all...]
H A Darraymap.c1 // SPDX-License-Identifier: GPL-2.0-only
2 /* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com
27 for (i = 0; i < array->map.max_entries; i++) { in bpf_array_free_percpu()
28 free_percpu(array->pptrs[i]); in bpf_array_free_percpu()
38 for (i = 0; i < array->map in bpf_array_alloc_percpu()
167 array_map_lookup_elem(struct bpf_map * map,void * key) array_map_lookup_elem() argument
178 array_map_get_hash(struct bpf_map * map,u32 hash_buf_size,void * hash_buf) array_map_get_hash() argument
189 array_map_direct_value_addr(const struct bpf_map * map,u64 * imm,u32 off) array_map_direct_value_addr() argument
203 array_map_direct_value_meta(const struct bpf_map * map,u64 imm,u32 * off) array_map_direct_value_meta() argument
220 array_map_gen_lookup(struct bpf_map * map,struct bpf_insn * insn_buf) array_map_gen_lookup() argument
253 percpu_array_map_lookup_elem(struct bpf_map * map,void * key) percpu_array_map_lookup_elem() argument
265 percpu_array_map_gen_lookup(struct bpf_map * map,struct bpf_insn * insn_buf) percpu_array_map_gen_lookup() argument
296 percpu_array_map_lookup_percpu_elem(struct bpf_map * map,void * key,u32 cpu) percpu_array_map_lookup_percpu_elem() argument
310 bpf_percpu_array_copy(struct bpf_map * map,void * key,void * value,u64 map_flags) bpf_percpu_array_copy() argument
315 int cpu, off = 0; bpf_percpu_array_copy() local
345 bpf_array_get_next_key(struct bpf_map * map,void * key,void * next_key) bpf_array_get_next_key() argument
363 array_map_update_elem(struct bpf_map * map,void * key,void * value,u64 map_flags) array_map_update_elem() argument
402 bpf_percpu_array_update(struct bpf_map * map,void * key,void * value,u64 map_flags) bpf_percpu_array_update() argument
410 int cpu; bpf_percpu_array_update() local
452 array_map_delete_elem(struct bpf_map * map,void * key) array_map_delete_elem() argument
462 array_map_free_internal_structs(struct bpf_map * map) array_map_free_internal_structs() argument
476 array_map_free(struct bpf_map * map) array_map_free() argument
485 int cpu; array_map_free() local
507 array_map_seq_show_elem(struct bpf_map * map,void * key,struct seq_file * m) array_map_seq_show_elem() argument
528 percpu_array_map_seq_show_elem(struct bpf_map * map,void * key,struct seq_file * m) percpu_array_map_seq_show_elem() argument
534 int cpu; percpu_array_map_seq_show_elem() local
551 array_map_check_btf(struct bpf_map * map,const struct btf * btf,const struct btf_type * key_type,const struct btf_type * value_type) array_map_check_btf() argument
578 array_map_mmap(struct bpf_map * map,struct vm_area_struct * vma) array_map_mmap() argument
604 struct bpf_map *map; global() member
612 struct bpf_map *map = info->map; bpf_array_map_seq_start() local
631 struct bpf_map *map = info->map; bpf_array_map_seq_next() local
651 struct bpf_map *map = info->map; __bpf_array_map_seq_show() local
655 int off = 0, cpu = 0; __bpf_array_map_seq_show() local
702 struct bpf_map *map = aux->map; bpf_iter_init_array_map() local
747 bpf_for_each_array_elem(struct bpf_map * map,bpf_callback_t callback_fn,void * callback_ctx,u64 flags) bpf_for_each_array_elem() argument
780 array_map_mem_usage(const struct bpf_map * map) array_map_mem_usage() argument
862 fd_array_map_free(struct bpf_map * map) fd_array_map_free() argument
874 fd_array_map_lookup_elem(struct bpf_map * map,void * key) fd_array_map_lookup_elem() argument
880 bpf_fd_array_map_lookup_elem(struct bpf_map * map,void * key,u32 * value) bpf_fd_array_map_lookup_elem() argument
900 bpf_fd_array_map_update_elem(struct bpf_map * map,struct file * map_file,void * key,void * value,u64 map_flags) bpf_fd_array_map_update_elem() argument
932 __fd_array_map_delete_elem(struct bpf_map * map,void * key,bool need_defer) __fd_array_map_delete_elem() argument
958 fd_array_map_delete_elem(struct bpf_map * map,void * key) fd_array_map_delete_elem() argument
963 prog_fd_array_get_ptr(struct bpf_map * map,struct file * map_file,int fd) prog_fd_array_get_ptr() argument
996 prog_fd_array_put_ptr(struct bpf_map * map,void * ptr,bool need_defer) prog_fd_array_put_ptr() argument
1013 bpf_fd_array_map_clear(struct bpf_map * map,bool need_defer) bpf_fd_array_map_clear() argument
1024 prog_array_map_seq_show_elem(struct bpf_map * map,void * key,struct seq_file * m) prog_array_map_seq_show_elem() argument
1052 prog_array_map_poke_track(struct bpf_map * map,struct bpf_prog_aux * prog_aux) prog_array_map_poke_track() argument
1085 prog_array_map_poke_untrack(struct bpf_map * map,struct bpf_prog_aux * prog_aux) prog_array_map_poke_untrack() argument
1109 prog_array_map_poke_run(struct bpf_map * map,u32 key,struct bpf_prog * old,struct bpf_prog * new) prog_array_map_poke_run() argument
1160 struct bpf_map *map = container_of(work, struct bpf_array_aux, prog_array_map_clear_deferred() local
1166 prog_array_map_clear(struct bpf_map * map) prog_array_map_clear() argument
1177 struct bpf_map *map; prog_array_map_alloc() local
1199 prog_array_map_free(struct bpf_map * map) prog_array_map_free() argument
1266 perf_event_fd_array_get_ptr(struct bpf_map * map,struct file * map_file,int fd) perf_event_fd_array_get_ptr() argument
1292 perf_event_fd_array_put_ptr(struct bpf_map * map,void * ptr,bool need_defer) perf_event_fd_array_put_ptr() argument
1298 perf_event_fd_array_release(struct bpf_map * map,struct file * map_file) perf_event_fd_array_release() argument
1317 perf_event_fd_array_map_free(struct bpf_map * map) perf_event_fd_array_map_free() argument
1341 cgroup_fd_array_get_ptr(struct bpf_map * map,struct file * map_file,int fd) cgroup_fd_array_get_ptr() argument
1348 cgroup_fd_array_put_ptr(struct bpf_map * map,void * ptr,bool need_defer) cgroup_fd_array_put_ptr() argument
1354 cgroup_fd_array_free(struct bpf_map * map) cgroup_fd_array_free() argument
1378 struct bpf_map *map, *inner_map_meta; array_of_map_alloc() local
1395 array_of_map_free(struct bpf_map * map) array_of_map_free() argument
1405 array_of_map_lookup_elem(struct bpf_map * map,void * key) array_of_map_lookup_elem() argument
1415 array_of_map_gen_lookup(struct bpf_map * map,struct bpf_insn * insn_buf) array_of_map_gen_lookup() argument
[all...]
/linux/drivers/clocksource/
H A Dingenic-timer.c1 // SPDX-License-Identifier: GPL-2.0
14 #include <linux/mfd/ingenic-tcu.h>
23 #include <dt-bindings/clock/ingenic,tcu.h>
32 unsigned int cpu; member
40 struct regmap *map; member
56 regmap_read(tcu->map, TCU_REG_TCNTc(tcu->cs_channel), &count); in ingenic_tcu_timer_read()
69 return container_of(timer, struct ingenic_tcu, timers[timer->cpu]); in to_ingenic_tcu()
83 regmap_write(tcu->map, TCU_REG_TECR, BIT(timer->channel)); in ingenic_tcu_cevt_set_state_shutdown()
95 return -EINVAL; in ingenic_tcu_cevt_set_next()
97 regmap_write(tcu->map, TCU_REG_TDFRc(timer->channel), next); in ingenic_tcu_cevt_set_next()
[all …]
/linux/lib/
H A Dcpu_rmap.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * cpu_rmap.c: CPU affinity reverse-map support
13 * objects with CPU affinities. This can be seen as a reverse-map of
14 * CPU affinity. However, we do not assume that the object affinities
17 * CPU topology.
21 * alloc_cpu_rmap - allocate CPU affinity reverse-map
28 unsigned int cpu; in alloc_cpu_rmap() local
39 rmap = kzalloc(obj_offset + size * sizeof(rmap->obj[0]), flags); in alloc_cpu_rmap()
43 kref_init(&rmap->refcount); in alloc_cpu_rmap()
44 rmap->obj = (void **)((char *)rmap + obj_offset); in alloc_cpu_rmap()
[all …]
/linux/Documentation/bpf/
H A Dmap_hash.rst1 .. SPDX-License-Identifier: GPL-2.0-only
3 .. Copyright (C) 2022-2023 Isovalent, Inc.
10 - ``BPF_MAP_TYPE_HASH`` was introduced in kernel version 3.19
11 - ``BPF_MAP_TYPE_PERCPU_HASH`` was introduced in version 4.6
12 - Both ``BPF_MAP_TYPE_LRU_HASH`` and ``BPF_MAP_TYPE_LRU_PERCPU_HASH``
16 purpose hash map storage. Both the key and the value can be structs,
20 to the max_entries limit that you specify. Hash maps use pre-allocation
22 used to disable pre-allocation when it is too memory expensive.
25 CPU. The per-cpu values are stored internally in an array.
32 shared across CPUs but it is possible to request a per CPU LRU list with
[all …]
H A Dmap_cpumap.rst1 .. SPDX-License-Identifier: GPL-2.0-only
9 - ``BPF_MAP_TYPE_CPUMAP`` was introduced in kernel version 4.15
11 .. kernel-doc:: kernel/bpf/cpumap.c
12 :doc: cpu map
14 An example use-case for this map type is software based Receive Side Scaling (RSS).
16 The CPUMAP represents the CPUs in the system indexed as the map-key, and the
17 map-value is the config setting (per CPUMAP entry). Each CPUMAP entry has a dedicated
18 kernel thread bound to the given CPU to represent the remote CPU execution unit.
21 on the remote CPU. This allows an XDP program to split its processing across
22 multiple CPUs. For example, a scenario where the initial CPU (that sees/receives
[all …]
H A Dmap_cgroup_storage.rst1 .. SPDX-License-Identifier: GPL-2.0-only
8 The ``BPF_MAP_TYPE_CGROUP_STORAGE`` map type represents a local fix-sized
13 The map provide a local storage at the cgroup that the BPF program is attached
19 ``BPF_MAP_TYPE_CGROUP_STORAGE`` map type. Some of its behaviors was changed in
25 The map uses key of type of either ``__u64 cgroup_inode_id`` or
38 map will share the same storage. Otherwise, if the type is
44 void *bpf_get_local_storage(void *map, u64 flags)
75 Userspace accessing map declared above::
80 __u32 map_lookup(struct bpf_map *map, __u64 cgrp, enum bpf_attach_type type)
87 bpf_map_lookup_elem(bpf_map__fd(map), &key, &value);
[all …]
/linux/samples/bpf/
H A Dmap_perf_test_user.c1 // SPDX-License-Identifier: GPL-2.0-only
82 static void test_hash_prealloc(int cpu) in test_hash_prealloc() argument
90 printf("%d:hash_map_perf pre-alloc %lld events per sec\n", in test_hash_prealloc()
91 cpu, max_cnt * 1000000000ll / (time_get_ns() - start_time)); in test_hash_prealloc()
106 * It is fine that the user requests for a map with in pre_test_lru_hash_lookup()
108 * may return not found. For LRU map, we are not interested in pre_test_lru_hash_lookup()
109 * in such small map performance. in pre_test_lru_hash_lookup()
120 static void do_test_lru(enum test_type test, int cpu) in do_test_lru() argument
129 if (test == INNER_LRU_HASH_PREALLOC && cpu) { in do_test_lru()
130 /* If CPU is not 0, create inner_lru hash map and insert the fd in do_test_lru()
[all …]
/linux/drivers/gpu/drm/i915/gem/selftests/
H A Di915_gem_coherency.c2 * SPDX-License-Identifier: MIT
27 u32 *cpu; in cpu_set() local
30 i915_gem_object_lock(ctx->obj, NULL); in cpu_set()
31 err = i915_gem_object_prepare_write(ctx->obj, &needs_clflush); in cpu_set()
35 page = i915_gem_object_get_page(ctx->obj, offset >> PAGE_SHIFT); in cpu_set()
36 cpu = kmap_local_page(page) + offset_in_page(offset); in cpu_set()
39 drm_clflush_virt_range(cpu, sizeof(*cpu)); in cpu_set()
41 *cpu = v; in cpu_set()
44 drm_clflush_virt_range(cpu, sizeof(*cpu)); in cpu_set()
46 kunmap_local(cpu); in cpu_set()
[all …]
/linux/arch/sh/kernel/cpu/sh4/
H A Dsq.c1 // SPDX-License-Identifier: GPL-2.0
3 * arch/sh/kernel/cpu/sh4/sq.c
5 * General management API for SH-4 integrated Store Queues
7 * Copyright (C) 2001 - 2006 Paul Mundt
11 #include <linux/cpu.h>
23 #include <cpu/sq.h>
50 * sq_flush_range - Flush (prefetch) a specific SQ range
62 for (len >>= 5; len--; sq += 8) in sq_flush_range()
70 static inline void sq_mapping_list_add(struct sq_mapping *map) in sq_mapping_list_add() argument
78 p = &tmp->next; in sq_mapping_list_add()
[all …]
/linux/arch/x86/kernel/cpu/
H A Dtopology.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * CPU/APIC topology
24 #define pr_fmt(fmt) "CPU topo: " fmt
25 #include <linux/cpu.h>
36 #include "cpu.h"
39 * Map cpu index to physical APIC ID
49 /* Used for CPU number allocation and parallel CPU bringup */
50 u32 cpuid_to_apicid[] __ro_after_init = { [0 ... NR_CPUS - 1] = BAD_APICID, };
53 static struct { DECLARE_BITMAP(map, MAX_LOCAL_APIC); } apic_maps[TOPO_MAX_DOMAIN] __ro_after_init;
57 * with 1 as CPU #0 is reserved for the boot CPU.
[all …]
/linux/drivers/dma/
H A Dcv1800b-dmamux.c1 // SPDX-License-Identifier: GPL-2.0
73 unsigned int cpu; member
79 struct cv1800_dmamux_map *map = route_data; in cv1800_dmamux_free() local
81 guard(spinlock_irqsave)(&dmamux->lock); in cv1800_dmamux_free()
83 regmap_update_bits(dmamux->regmap, in cv1800_dmamux_free()
84 DMAMUX_CH_REG(map->channel), in cv1800_dmamux_free()
85 DMAMUX_CH_MASK(map->channel), in cv1800_dmamux_free()
88 regmap_update_bits(dmamux->regmap, REG_DMA_INT_MUX, in cv1800_dmamux_free()
89 DMAMUX_INT_CH_MASK(map->channel, map->cpu), in cv1800_dmamux_free()
90 DMAMUX_INTEN_BIT(map->cpu)); in cv1800_dmamux_free()
[all …]
/linux/arch/arc/plat-axs10x/
H A Daxs10x.c1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (C) 2013-15 Synopsys, Inc. (www.synopsys.com)
11 #include <asm/asm-offsets.h>
30 * Peripherals on CPU Card and Mother Board are wired to cpu intc via in axs10x_enable_gpio_intc_wire()
33 * --------------------- in axs10x_enable_gpio_intc_wire()
34 * | snps,arc700-intc | in axs10x_enable_gpio_intc_wire()
35 * --------------------- in axs10x_enable_gpio_intc_wire()
37 * ------------------- ------------------- in axs10x_enable_gpio_intc_wire()
38 * | snps,dw-apb-gpio | | snps,dw-apb-gpio | in axs10x_enable_gpio_intc_wire()
39 * ------------------- ------------------- in axs10x_enable_gpio_intc_wire()
[all …]
/linux/tools/testing/selftests/ring-buffer/
H A Dmap_test.c1 // SPDX-License-Identifier: GPL-2.0
3 * Ring-buffer memory mapping tests
36 return ret == -1 ? -errno : 0; in __tracefs_write()
45 return -1; in __tracefs_write_int()
63 return -1; in tracefs_reset()
65 return -1; in tracefs_reset()
67 return -1; in tracefs_reset()
69 return -1; in tracefs_reset()
79 int tracefs_cpu_map(struct tracefs_cpu_map_desc *desc, int cpu) in tracefs_cpu_map() argument
83 void *map; in tracefs_cpu_map() local
[all …]
/linux/arch/csky/mm/
H A Dasid.c1 // SPDX-License-Identifier: GPL-2.0
7 * Copyright (C) 2002-2003 Deep Blue Solutions Ltd, all rights reserved.
16 #define reserved_asid(info, cpu) *per_cpu_ptr((info)->reserved, cpu) argument
18 #define ASID_MASK(info) (~GENMASK((info)->bits - 1, 0))
19 #define ASID_FIRST_VERSION(info) (1UL << ((info)->bits))
21 #define asid2idx(info, asid) (((asid) & ~ASID_MASK(info)) >> (info)->ctxt_shift)
22 #define idx2asid(info, idx) (((idx) << (info)->ctxt_shift) & ~ASID_MASK(info))
30 bitmap_zero(info->map, NUM_CTXT_ASIDS(info)); in flush_context()
35 * If this CPU has already been through a in flush_context()
43 __set_bit(asid2idx(info, asid), info->map); in flush_context()
[all …]
/linux/drivers/irqchip/
H A Dirq-hip04.c1 // SPDX-License-Identifier: GPL-2.0-only
5 * Copyright (C) 2002-2014 ARM Limited.
6 * Copyright (c) 2013-2014 HiSilicon Ltd.
7 * Copyright (c) 2013-2014 Linaro Ltd.
14 * o There is one CPU Interface per CPU, which sends interrupts sent
16 * associated CPU. The base address of the CPU interface is usually
18 * on the CPU it is accessed from.
20 * Note that IRQs 0-31 are special - they are local to each CPU.
22 * registers are banked per-cpu for these sources.
31 #include <linux/cpu.h>
[all …]

12345678910>>...41