/linux/drivers/infiniband/core/ |
H A D | uverbs_std_types_counters.c | 42 struct ib_counters *counters = uobject->object; in uverbs_free_counters() local 45 if (atomic_read(&counters->usecnt)) in uverbs_free_counters() 48 ret = counters->device->ops.destroy_counters(counters); in uverbs_free_counters() 51 kfree(counters); in uverbs_free_counters() 61 struct ib_counters *counters; in UVERBS_HANDLER() local 72 counters = rdma_zalloc_drv_obj(ib_dev, ib_counters); in UVERBS_HANDLER() 73 if (!counters) in UVERBS_HANDLER() 76 counters->device = ib_dev; in UVERBS_HANDLER() 77 counters->uobject = uobj; in UVERBS_HANDLER() 78 uobj->object = counters; in UVERBS_HANDLER() [all …]
|
/linux/lib/ |
H A D | percpu_counter.c | 3 * Fast batching percpu counters. 67 s32 *pcount = per_cpu_ptr(fbc->counters, cpu); in percpu_counter_set() 83 * the this_cpu_add(), and the interrupt updates this_cpu(*fbc->counters), 98 count = this_cpu_read(*fbc->counters); in percpu_counter_add_batch() 106 count = __this_cpu_read(*fbc->counters); in percpu_counter_add_batch() 108 __this_cpu_sub(*fbc->counters, count); in percpu_counter_add_batch() 112 } while (!this_cpu_try_cmpxchg(*fbc->counters, &count, count + amount)); in percpu_counter_add_batch() 126 count = __this_cpu_read(*fbc->counters) + amount; in percpu_counter_add_batch() 130 __this_cpu_sub(*fbc->counters, count - amount); in percpu_counter_add_batch() 133 this_cpu_add(*fbc->counters, amount); in percpu_counter_add_batch() [all …]
|
/linux/net/netfilter/ |
H A D | xt_connbytes.c | 30 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/tools/testing/selftests/net/tcp_ao/lib/ |
H A D | proc.c | 18 struct netstat_counter *counters; member 52 ret->counters = NULL; in lookup_get() 81 type->counters = reallocarray(type->counters, in netstat_read_type() 84 if (!type->counters) in netstat_read_type() 95 struct netstat_counter *nc = &type->counters[i]; in netstat_read_type() 133 type->counters = reallocarray(type->counters, i + 1, in snmp6_read() 135 if (!type->counters) in snmp6_read() 137 nc = &type->counters[i]; in snmp6_read() 196 free(ns->counters[i].name); in netstat_free() 197 free(ns->counters); in netstat_free() [all …]
|
/linux/tools/perf/ |
H A D | design.txt | 2 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 115 on all CPUs that implement Performance Counters support under Linux, 130 * Special "software" counters provided by the kernel, even if the hardware 131 * does not support performance counters. These counters measure various [all …]
|
/linux/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/ |
H A D | counters.rst | 5 Ethtool counters 22 addition, each group of counters may have different counter types. 53 | Uplink (no counters) | 58 | MPFS (no counters) | 68 Software counters populated by the driver stack. 71 An aggregation of software ring counters. 73 vPort counters 74 Traffic counters and drops due to steering or no buffers. May indicate issues 75 with NIC. These counters include Ethernet traffic counters (including Raw 76 Ethernet) and RDMA/RoCE traffic counters. [all …]
|
/linux/Documentation/core-api/ |
H A D | local_ops.rst | 30 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/drivers/net/ethernet/aquantia/atlantic/macsec/ |
H A D | macsec_api.h | 265 /*! 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 …]
|
H A D | macsec_api.c | 1825 struct aq_mss_egress_sc_counters *counters, in get_egress_sc_counters() argument 1837 counters->sc_protected_pkts[0] = in get_egress_sc_counters() 1839 counters->sc_protected_pkts[1] = in get_egress_sc_counters() 1845 counters->sc_encrypted_pkts[0] = in get_egress_sc_counters() 1847 counters->sc_encrypted_pkts[1] = in get_egress_sc_counters() 1853 counters->sc_protected_octets[0] = in get_egress_sc_counters() 1855 counters->sc_protected_octets[1] = in get_egress_sc_counters() 1861 counters->sc_encrypted_octets[0] = in get_egress_sc_counters() 1863 counters->sc_encrypted_octets[1] = in get_egress_sc_counters() 1870 struct aq_mss_egress_sc_counters *counters, in aq_mss_get_egress_sc_counters() argument [all …]
|
/linux/Documentation/translations/zh_CN/core-api/ |
H A D | local_ops.rst | 93 static DEFINE_PER_CPU(local_t, counters) = LOCAL_INIT(0); 105 local_inc(&get_cpu_var(counters)); 106 put_cpu_var(counters); 110 local_inc(this_cpu_ptr(&counters)); 123 sum += local_read(&per_cpu(counters, cpu)); 143 static DEFINE_PER_CPU(local_t, counters) = LOCAL_INIT(0); 152 local_inc(this_cpu_ptr(&counters)); 157 * local_inc(&get_cpu_var(counters)); 158 * put_cpu_var(counters); 166 /* Increment the counters */ [all …]
|
/linux/samples/cgroup/ |
H A D | memcg_event_listener.c | 45 struct memcg_counters counters; member 51 static void print_memcg_counters(const struct memcg_counters *counters) in print_memcg_counters() argument 54 printf("\tlow: %ld\n", counters->low); in print_memcg_counters() 55 printf("\thigh: %ld\n", counters->high); in print_memcg_counters() 56 printf("\tmax: %ld\n", counters->max); in print_memcg_counters() 57 printf("\toom: %ld\n", counters->oom); in print_memcg_counters() 58 printf("\toom_kill: %ld\n", counters->oom_kill); in print_memcg_counters() 59 printf("\toom_group_kill: %ld\n", counters->oom_group_kill); in print_memcg_counters() 109 struct memcg_counters *counters = &events->counters; in read_memcg_events() local 118 .old = &counters->low, in read_memcg_events() [all …]
|
/linux/fs/bcachefs/ |
H A D | sb-counters.c | 4 #include "sb-counters.h" 38 struct bch_sb_field_counters *ctrs = field_to_type(f, counters); in bch2_sb_counters_to_text() 52 struct bch_sb_field_counters *ctrs = bch2_sb_field_get(c->disk_sb.sb, counters); in bch2_sb_counters_to_cpu() 62 percpu_u64_set(&c->counters[i], v); in bch2_sb_counters_to_cpu() 72 struct bch_sb_field_counters *ctrs = bch2_sb_field_get(c->disk_sb.sb, counters); in bch2_sb_counters_from_cpu() 77 ret = bch2_sb_field_resize(&c->disk_sb, counters, in bch2_sb_counters_from_cpu() 88 ctrs->d[stable] = cpu_to_le64(percpu_u64_get(&c->counters[i])); in bch2_sb_counters_from_cpu() 96 free_percpu(c->counters); in bch2_fs_counters_exit() 101 c->counters = __alloc_percpu(sizeof(u64) * BCH_COUNTER_NR, sizeof(u64)); in bch2_fs_counters_init() 102 if (!c->counters) in bch2_fs_counters_init() [all …]
|
/linux/include/linux/ |
H A D | nfs_iostat.h | 13 * 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
|
/linux/net/ipv4/netfilter/ |
H A D | arp_tables.c | 230 counter = xt_get_this_cpu_counter(&e->counters); in arpt_do_table() 319 e->counters.pcnt = pos; in mark_source_chains() 345 pos = e->counters.pcnt; in mark_source_chains() 346 e->counters.pcnt = 0; in mark_source_chains() 360 e->counters.pcnt = pos; in mark_source_chains() 379 e->counters.pcnt = pos; in mark_source_chains() 413 if (!xt_percpu_counter_alloc(alloc_state, &e->counters)) in find_check_entry() 432 xt_percpu_counter_free(&e->counters); in find_check_entry() 494 /* Clear counters and comefrom */ in check_entry_size_and_hooks() 495 e->counters = ((struct xt_counters) { 0, 0 }); in check_entry_size_and_hooks() [all …]
|
H A D | ip_tables.c | 297 counter = xt_get_this_cpu_counter(&e->counters); in ipt_do_table() 383 e->counters.pcnt = pos; in mark_source_chains() 407 pos = e->counters.pcnt; in mark_source_chains() 408 e->counters.pcnt = 0; in mark_source_chains() 422 e->counters.pcnt = pos; in mark_source_chains() 441 e->counters.pcnt = pos; in mark_source_chains() 526 if (!xt_percpu_counter_alloc(alloc_state, &e->counters)) in find_check_entry() 566 xt_percpu_counter_free(&e->counters); in find_check_entry() 629 /* Clear counters and comefrom */ in check_entry_size_and_hooks() 630 e->counters in check_entry_size_and_hooks() 740 get_counters(const struct xt_table_info * t,struct xt_counters counters[]) get_counters() argument 770 get_old_counters(const struct xt_table_info * t,struct xt_counters counters[]) get_old_counters() argument 792 struct xt_counters *counters; alloc_counters() local 816 struct xt_counters *counters; copy_entries_to_user() local 1043 struct xt_counters *counters; __do_replace() local 1213 compat_uptr_t counters; /* struct xt_counters * */ global() member 1219 compat_copy_entry_to_user(struct ipt_entry * e,void __user ** dstptr,unsigned int * size,struct xt_counters * counters,unsigned int i) compat_copy_entry_to_user() argument 1553 struct xt_counters *counters; compat_copy_entries_to_user() local [all...] |
/linux/net/ipv6/netfilter/ |
H A D | ip6_tables.c | 320 counter = xt_get_this_cpu_counter(&e->counters); in ip6t_do_table() 401 e->counters.pcnt = pos; in mark_source_chains() 425 pos = e->counters.pcnt; in mark_source_chains() 426 e->counters.pcnt = 0; in mark_source_chains() 440 e->counters.pcnt = pos; in mark_source_chains() 459 e->counters.pcnt = pos; in mark_source_chains() 545 if (!xt_percpu_counter_alloc(alloc_state, &e->counters)) in find_check_entry() 584 xt_percpu_counter_free(&e->counters); in find_check_entry() 647 /* Clear counters and comefrom */ in check_entry_size_and_hooks() 648 e->counters in check_entry_size_and_hooks() 757 get_counters(const struct xt_table_info * t,struct xt_counters counters[]) get_counters() argument 787 get_old_counters(const struct xt_table_info * t,struct xt_counters counters[]) get_old_counters() argument 808 struct xt_counters *counters; alloc_counters() local 832 struct xt_counters *counters; copy_entries_to_user() local 1060 struct xt_counters *counters; __do_replace() local 1229 compat_uptr_t counters; /* struct xt_counters * */ global() member 1235 compat_copy_entry_to_user(struct ip6t_entry * e,void __user ** dstptr,unsigned int * size,struct xt_counters * counters,unsigned int i) compat_copy_entry_to_user() argument 1562 struct xt_counters *counters; compat_copy_entries_to_user() local [all...] |
/linux/Documentation/admin-guide/perf/ |
H A D | alibaba_pmu.rst | 23 Each sub-channel has 36 PMU counters in total, which is classified into 26 - Group 0: PMU Cycle Counter. This group has one pair of counters 30 - Group 1: PMU Bandwidth Counters. This group has 8 counters that are used 32 selected rank, or four ranks separately in the first 4 counters. The base 35 - Group 2: PMU Retry Counters. This group has 10 counters, that intend to 38 - Group 3: PMU Common Counters. This group has 16 counters, that are used 41 For now, the Driveway PMU driver only uses counters in group 0 and group 3.
|
H A D | thunderx2-pmu.rst | 13 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/Documentation/admin-guide/device-mapper/ |
H A D | statistics.rst | 14 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/fs/xfs/scrub/ |
H A D | fscounters_repair.c | 31 * FS Summary Counters 34 * We correct errors in the filesystem summary counters by setting them to the 36 * careful not to allow any other thread to change the counters while we're 43 * Reset the superblock counters. Caller is responsible for freezing the 54 * Reinitialize the in-core counters from what we computed. We froze in xrep_fscounters() 56 * these counters. in xrep_fscounters() 71 * lazy sb counters and thus no update of sb_fdblocks here. But in xrep_fscounters()
|
/linux/tools/testing/selftests/drivers/net/mlxsw/spectrum-2/ |
H A D | tc_flower_scale.sh | 11 # counters. 12 max_cnts=$(devlink_resource_size_get counters flow) 14 # Remove already allocated counters. 15 ((max_cnts -= $(devlink_resource_occ_get counters flow))) 17 # Each rule uses two counters, for packets and bytes.
|
/linux/kernel/gcov/ |
H A D | gcc_base.c | 46 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/Documentation/arch/powerpc/ |
H A D | imc.rst | 5 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/arch/powerpc/perf/ |
H A D | hv-gpci-requests.h | 44 * appears to use it right now, and it doesn't have any counters) 184 /* Processor_config (0x90) skipped, no counters */ 185 /* Current_processor_frequency (0x91) skipped, no counters */ 202 /* Processor_core_power_mode (0x95) skipped, no counters */ 204 * no counters */ 205 /* Affinity_domain_information_by_domain (0xB0) skipped, no counters */ 206 /* Affinity_domain_information_by_partition (0xB1) skipped, no counters */ 207 /* Physical_memory_info (0xC0) skipped, no counters */ 208 /* Processor_bus_topology (0xD0) skipped, no counters */ 263 /* set_mmcrh (0x80001000) skipped, no counters */ [all …]
|
/linux/drivers/net/ethernet/aquantia/atlantic/ |
H A D | aq_macsec.h | 27 /* Ingress Common Counters */ 47 /* Egress Common Counters */ 58 /* Ingress SA Counters */ 74 /* Egress SA Counters */ 82 /* Egress SC Counters */ 116 /* Statistics / counters */
|