Home
last modified time | relevance | path

Searched full:counters (Results 1 – 25 of 1519) sorted by relevance

12345678910>>...61

/Linux-v5.10/arch/mips/oprofile/
Dop_model_mipsxx.c28 * XLR has only one set of counters per core. Designate the
45 * The number of bits to shift to convert between counters per core and
46 * counters per VPE. There is no reasonable interface atm to obtain the
72 static inline unsigned int counters_total_to_per_cpu(unsigned int counters) in counters_total_to_per_cpu() argument
74 return counters >> vpe_shift(); in counters_total_to_per_cpu()
77 static inline unsigned int counters_per_cpu_to_total(unsigned int counters) in counters_per_cpu_to_total() argument
79 return counters << vpe_shift(); in counters_per_cpu_to_total()
137 unsigned int counters = op_model_mipsxx_ops.num_counters; in mipsxx_reg_setup() local
141 for (i = 0; i < counters; i++) { in mipsxx_reg_setup()
166 unsigned int counters = op_model_mipsxx_ops.num_counters; in mipsxx_cpu_setup() local
[all …]
/Linux-v5.10/drivers/infiniband/core/
Duverbs_std_types_counters.c42 struct ib_counters *counters = uobject->object; in uverbs_free_counters() local
45 ret = ib_destroy_usecnt(&counters->usecnt, why, uobject); in uverbs_free_counters()
49 ret = counters->device->ops.destroy_counters(counters); in uverbs_free_counters()
52 kfree(counters); in uverbs_free_counters()
62 struct ib_counters *counters; in UVERBS_HANDLER() local
73 counters = rdma_zalloc_drv_obj(ib_dev, ib_counters); in UVERBS_HANDLER()
74 if (!counters) in UVERBS_HANDLER()
77 counters->device = ib_dev; in UVERBS_HANDLER()
78 counters->uobject = uobj; in UVERBS_HANDLER()
79 uobj->object = counters; in UVERBS_HANDLER()
[all …]
/Linux-v5.10/net/netfilter/
Dxt_connbytes.c30 const struct nf_conn_counter *counters; in connbytes_mt() local
40 counters = acct->counter; in connbytes_mt()
45 what = atomic64_read(&counters[IP_CT_DIR_ORIGINAL].packets); in connbytes_mt()
48 what = atomic64_read(&counters[IP_CT_DIR_REPLY].packets); in connbytes_mt()
51 what = atomic64_read(&counters[IP_CT_DIR_ORIGINAL].packets); in connbytes_mt()
52 what += atomic64_read(&counters[IP_CT_DIR_REPLY].packets); in connbytes_mt()
59 what = atomic64_read(&counters[IP_CT_DIR_ORIGINAL].bytes); in connbytes_mt()
62 what = atomic64_read(&counters[IP_CT_DIR_REPLY].bytes); in connbytes_mt()
65 what = atomic64_read(&counters[IP_CT_DIR_ORIGINAL].bytes); in connbytes_mt()
66 what += atomic64_read(&counters[IP_CT_DIR_REPLY].bytes); in connbytes_mt()
[all …]
/Linux-v5.10/tools/perf/
Ddesign.txt2 Performance Counters for Linux
5 Performance counters are special hardware registers available on most modern
13 hardware capabilities. It provides per task and per CPU counters, counter
15 provides "virtual" 64-bit counters, regardless of the width of the
16 underlying hardware counters.
18 Performance counters are accessed via special file descriptors.
32 Multiple counters can be kept open at a time, and the counters
112 on all CPUs that implement Performance Counters support under Linux,
127 * Special "software" counters provided by the kernel, even if the hardware
128 * does not support performance counters. These counters measure various
[all …]
/Linux-v5.10/Documentation/arm64/
Damu.rst22 counters intended for system management use. The AMU extension provides a
27 of four fixed and architecturally defined 64-bit event counters.
37 When in WFI or WFE these counters do not increment.
40 event counters. Future versions of the architecture may use this space to
41 implement additional architected event counters.
44 64-bit event counters.
46 On cold reset all counters reset to 0.
59 counters, only the presence of the extension.
66 - Enable the counters. If not enabled these will read as 0.
67 - Save/restore the counters before/after the CPU is being put/brought up
[all …]
/Linux-v5.10/Documentation/core-api/
Dlocal_ops.rst30 counters. They minimize the performance cost of standard atomic operations by
34 Having fast per CPU atomic counters is interesting in many cases: it does not
36 coherent counters in NMI handlers. It is especially useful for tracing purposes
37 and for various performance monitoring counters.
95 static DEFINE_PER_CPU(local_t, counters) = LOCAL_INIT(0);
107 local_inc(&get_cpu_var(counters));
108 put_cpu_var(counters);
113 local_inc(this_cpu_ptr(&counters));
117 Reading the counters
120 Those local counters can be read from foreign CPUs to sum the count. Note that
[all …]
/Linux-v5.10/drivers/net/ethernet/aquantia/atlantic/macsec/
Dmacsec_api.h265 /*! Read the counters for the specified SC, and unpack them into the
266 * fields of counters.
267 * counters - [OUT] The raw table row data will be unpacked here.
271 struct aq_mss_egress_sc_counters *counters,
274 /*! Read the counters for the specified SA, and unpack them into the
275 * fields of counters.
276 * counters - [OUT] The raw table row data will be unpacked here.
280 struct aq_mss_egress_sa_counters *counters,
283 /*! Read the counters for the common egress counters, and unpack them
284 * into the fields of counters.
[all …]
Dmacsec_api.c1821 struct aq_mss_egress_sc_counters *counters, in get_egress_sc_counters() argument
1833 counters->sc_protected_pkts[0] = in get_egress_sc_counters()
1835 counters->sc_protected_pkts[1] = in get_egress_sc_counters()
1841 counters->sc_encrypted_pkts[0] = in get_egress_sc_counters()
1843 counters->sc_encrypted_pkts[1] = in get_egress_sc_counters()
1849 counters->sc_protected_octets[0] = in get_egress_sc_counters()
1851 counters->sc_protected_octets[1] = in get_egress_sc_counters()
1857 counters->sc_encrypted_octets[0] = in get_egress_sc_counters()
1859 counters->sc_encrypted_octets[1] = in get_egress_sc_counters()
1866 struct aq_mss_egress_sc_counters *counters, in aq_mss_get_egress_sc_counters() argument
[all …]
/Linux-v5.10/arch/powerpc/oprofile/
Dop_model_7450.c51 /* Unfreezes the counters on this CPU, enables the interrupt,
52 * enables the counters to trigger the interrupt, and sets the
53 * counters to only count when the mark bit is not set.
65 /* Disables the counters on this CPU, and freezes them */
76 /* Configures the counters on this CPU based on the global
80 /* freeze all counters */ in fsl7450_cpu_setup()
99 /* Our counters count up, and "count" refers to in fsl7450_reg_setup()
103 * Then we set the events on the enabled counters */ in fsl7450_reg_setup()
107 /* Set events for Counters 1 & 2 */ in fsl7450_reg_setup()
118 /* Set events for Counters 3-6 */ in fsl7450_reg_setup()
[all …]
/Linux-v5.10/fs/xfs/scrub/
Dfscounters.c21 * FS Summary Counters
27 * Then we compare what we computed against the in-core counters.
29 * However, the reality is that summary counters are a tricky beast to check.
40 * structures as quickly as it can. We snapshot the percpu counters before and
47 * values, the percpu counters should be fairly close to each other. However,
54 * contents and trust that the incore counters match the ondisk counters. (The
56 * summary counters after checking all AG headers). Do this from the setup
132 /* We must get the incore counters set up before we can proceed. */ in xchk_setup_fscounters()
139 * likelihood of background perturbations to the counters throwing off in xchk_setup_fscounters()
148 * Calculate what the global in-core counters ought to be from the incore
[all …]
/Linux-v5.10/include/linux/
Dnfs_iostat.h13 * These counters are not meant to be human-readable, but are meant
15 * "iostat". As such, the counters are sampled by the tools over
28 * NFS byte counters
40 * These counters give a view of the data throughput into and out
46 * These counters can also help characterize which access methods
53 * NFS page counters
58 * NB: When adding new byte counters, please include the measured
75 * NFS event counters
77 * These counters provide a low-overhead way of monitoring client
78 * activity without enabling NFS trace debugging. The counters
[all …]
/Linux-v5.10/lib/
Dpercpu_counter.c3 * Fast batching percpu counters.
67 s32 *pcount = per_cpu_ptr(fbc->counters, cpu); in percpu_counter_set()
87 count = __this_cpu_read(*fbc->counters) + amount; in percpu_counter_add_batch()
92 __this_cpu_sub(*fbc->counters, count - amount); in percpu_counter_add_batch()
95 this_cpu_add(*fbc->counters, amount); in percpu_counter_add_batch()
113 count = __this_cpu_read(*fbc->counters); in percpu_counter_sync()
115 __this_cpu_sub(*fbc->counters, count); in percpu_counter_sync()
133 s32 *pcount = per_cpu_ptr(fbc->counters, cpu); in __percpu_counter_sum()
149 fbc->counters = alloc_percpu_gfp(s32, gfp); in __percpu_counter_init()
150 if (!fbc->counters) in __percpu_counter_init()
[all …]
/Linux-v5.10/net/ipv4/netfilter/
Darp_tables.c229 counter = xt_get_this_cpu_counter(&e->counters); in arpt_do_table()
318 e->counters.pcnt = pos; in mark_source_chains()
344 pos = e->counters.pcnt; in mark_source_chains()
345 e->counters.pcnt = 0; in mark_source_chains()
359 e->counters.pcnt = pos; in mark_source_chains()
378 e->counters.pcnt = pos; in mark_source_chains()
412 if (!xt_percpu_counter_alloc(alloc_state, &e->counters)) in find_check_entry()
431 xt_percpu_counter_free(&e->counters); in find_check_entry()
493 /* Clear counters and comefrom */ in check_entry_size_and_hooks()
494 e->counters = ((struct xt_counters) { 0, 0 }); in check_entry_size_and_hooks()
[all …]
Dip_tables.c298 counter = xt_get_this_cpu_counter(&e->counters); in ipt_do_table()
384 e->counters.pcnt = pos; in mark_source_chains()
408 pos = e->counters.pcnt; in mark_source_chains()
409 e->counters.pcnt = 0; in mark_source_chains()
423 e->counters.pcnt = pos; in mark_source_chains()
442 e->counters.pcnt = pos; in mark_source_chains()
527 if (!xt_percpu_counter_alloc(alloc_state, &e->counters)) in find_check_entry()
567 xt_percpu_counter_free(&e->counters); in find_check_entry()
630 /* Clear counters and comefrom */ in check_entry_size_and_hooks()
631 e->counters = ((struct xt_counters) { 0, 0 }); in check_entry_size_and_hooks()
[all …]
/Linux-v5.10/arch/x86/oprofile/
Dnmi_int.c77 struct op_msr *counters = msrs->counters; in nmi_cpu_save_registers() local
82 if (counters[i].addr) in nmi_cpu_save_registers()
83 rdmsrl(counters[i].addr, counters[i].saved); in nmi_cpu_save_registers()
202 struct op_msr *counters = msrs->counters; in nmi_cpu_save_mpx_registers() local
208 if (counters[i].addr) in nmi_cpu_save_mpx_registers()
209 rdmsrl(counters[i].addr, multiplex[virt].saved); in nmi_cpu_save_mpx_registers()
215 struct op_msr *counters = msrs->counters; in nmi_cpu_restore_mpx_registers() local
221 if (counters[i].addr) in nmi_cpu_restore_mpx_registers()
222 wrmsrl(counters[i].addr, multiplex[virt].saved); in nmi_cpu_restore_mpx_registers()
251 * The check should be sufficient since counters are used
[all …]
/Linux-v5.10/tools/perf/util/
Dvalues.c30 pr_debug("failed to allocate read_values counters arrays"); in perf_read_values_init()
33 values->counters = 0; in perf_read_values_init()
60 for (i = 0; i < values->counters; i++) in perf_read_values_destroy()
107 pr_debug("failed to allocate read_values counters array"); in perf_read_values__findnew_thread()
167 for (i = 0; i < values->counters; i++) in perf_read_values__findnew_counter()
171 if (values->counters == values->counters_max) { in perf_read_values__findnew_counter()
177 i = values->counters++; in perf_read_values__findnew_counter()
208 counterwidth = malloc(values->counters * sizeof(*counterwidth)); in perf_read_values__display_pretty()
215 for (j = 0; j < values->counters; j++) in perf_read_values__display_pretty()
226 for (j = 0; j < values->counters; j++) { in perf_read_values__display_pretty()
[all …]
/Linux-v5.10/drivers/infiniband/hw/mlx5/
Dcounters.c8 #include "counters.h"
78 static int mlx5_ib_read_counters(struct ib_counters *counters, in mlx5_ib_read_counters() argument
82 struct mlx5_ib_mcounters *mcounters = to_mcounters(counters); in mlx5_ib_read_counters()
102 ret = mcounters->read_counters(counters->device, &mread_attr); in mlx5_ib_read_counters()
106 /* do the pass over the counters data array to assign according to the in mlx5_ib_read_counters()
120 static int mlx5_ib_destroy_counters(struct ib_counters *counters) in mlx5_ib_destroy_counters() argument
122 struct mlx5_ib_mcounters *mcounters = to_mcounters(counters); in mlx5_ib_destroy_counters()
124 mlx5_ib_counters_clear_description(counters); in mlx5_ib_destroy_counters()
126 mlx5_fc_destroy(to_mdev(counters->device)->mdev, in mlx5_ib_destroy_counters()
131 static int mlx5_ib_create_counters(struct ib_counters *counters, in mlx5_ib_create_counters() argument
[all …]
/Linux-v5.10/net/ipv6/netfilter/
Dip6_tables.c321 counter = xt_get_this_cpu_counter(&e->counters); in ip6t_do_table()
402 e->counters.pcnt = pos; in mark_source_chains()
426 pos = e->counters.pcnt; in mark_source_chains()
427 e->counters.pcnt = 0; in mark_source_chains()
441 e->counters.pcnt = pos; in mark_source_chains()
460 e->counters.pcnt = pos; in mark_source_chains()
546 if (!xt_percpu_counter_alloc(alloc_state, &e->counters)) in find_check_entry()
585 xt_percpu_counter_free(&e->counters); in find_check_entry()
648 /* Clear counters and comefrom */ in check_entry_size_and_hooks()
649 e->counters = ((struct xt_counters) { 0, 0 }); in check_entry_size_and_hooks()
[all …]
/Linux-v5.10/kernel/gcov/
Dgcc_base.c46 void __gcov_merge_add(gcov_type *counters, unsigned int n_counters) in __gcov_merge_add() argument
52 void __gcov_merge_single(gcov_type *counters, unsigned int n_counters) in __gcov_merge_single() argument
58 void __gcov_merge_delta(gcov_type *counters, unsigned int n_counters) in __gcov_merge_delta() argument
64 void __gcov_merge_ior(gcov_type *counters, unsigned int n_counters) in __gcov_merge_ior() argument
70 void __gcov_merge_time_profile(gcov_type *counters, unsigned int n_counters) in __gcov_merge_time_profile() argument
76 void __gcov_merge_icall_topn(gcov_type *counters, unsigned int n_counters) in __gcov_merge_icall_topn() argument
/Linux-v5.10/Documentation/admin-guide/device-mapper/
Dstatistics.rst14 The I/O statistics counters for each step-sized area of a region are
16 Documentation/admin-guide/iostats.rst). But two extra counters (12 and 13) are
19 histogram of latencies. All these counters may be accessed by sending
111 Clear all the counters except the in-flight i/o counters.
133 Print counters for each step-sized area of a region.
149 counters
151 The first 11 counters have the same meaning as
168 Additional counters:
174 Atomically print and then clear all the counters except the
175 in-flight i/o counters. Useful when the client consuming the
/Linux-v5.10/drivers/md/
Dmd-faulty.c78 atomic_t counters[Modes]; member
88 atomic_read(&conf->counters[mode]) <= 0) in check_mode()
92 if (atomic_dec_and_test(&conf->counters[mode])) { in check_mode()
94 atomic_set(&conf->counters[mode], conf->period[mode]); in check_mode()
171 if (atomic_read(&conf->counters[WriteAll])) { in faulty_make_request()
226 if ((n=atomic_read(&conf->counters[WriteTransient])) != 0) in faulty_status()
230 if ((n=atomic_read(&conf->counters[ReadTransient])) != 0) in faulty_status()
234 if ((n=atomic_read(&conf->counters[WritePersistent])) != 0) in faulty_status()
238 if ((n=atomic_read(&conf->counters[ReadPersistent])) != 0) in faulty_status()
243 if ((n=atomic_read(&conf->counters[ReadFixable])) != 0) in faulty_status()
[all …]
/Linux-v5.10/Documentation/admin-guide/perf/
Dthunderx2-pmu.rst13 The DMC and L3C support up to 4 counters, while the CCPI2 supports up to 8
14 counters. Counters are independently programmable to different events and
15 can be started and stopped individually. None of the counters support an
16 overflow interrupt. DMC and L3C counters are 32-bit and read every 2 seconds.
17 The CCPI2 counters are 64-bit and assumed not to overflow in normal operation.
/Linux-v5.10/drivers/net/ethernet/aquantia/atlantic/
Daq_macsec.h27 /* Ingress Common Counters */
47 /* Egress Common Counters */
58 /* Ingress SA Counters */
74 /* Egress SA Counters */
82 /* Egress SC Counters */
116 /* Statistics / counters */
/Linux-v5.10/Documentation/powerpc/
Dimc.rst5 IMC (In-Memory Collection Counters)
17 IMC (In-Memory collection counters) is a hardware monitoring facility that
21 The Nest PMU counters are handled by a Nest IMC microcode which runs in the OCC
25 The Core and Thread IMC PMU counters are handled in the core. Core level PMU
26 counters give us the IMC counters' data per core and thread level PMU counters
27 give us the IMC counters' data per CPU thread.
51 The kernel discovers the IMC counters information in the device tree at the
52 `imc-counters` device node which has a compatible field
53 `ibm,opal-in-memory-counters`. From the device tree, the kernel parses the PMUs
/Linux-v5.10/arch/powerpc/perf/
Dhv-gpci-requests.h44 * appears to use it right now, and it doesn't have any counters)
181 /* Processor_config (0x90) skipped, no counters */
182 /* Current_processor_frequency (0x91) skipped, no counters */
198 /* Processor_core_power_mode (0x95) skipped, no counters */
200 * no counters */
201 /* Affinity_domain_information_by_domain (0xB0) skipped, no counters */
202 /* Affinity_domain_information_by_partition (0xB1) skipped, no counters */
203 /* Physical_memory_info (0xC0) skipped, no counters */
204 /* Processor_bus_topology (0xD0) skipped, no counters */
259 /* set_mmcrh (0x80001000) skipped, no counters */
[all …]

12345678910>>...61