| /kernel/linux/linux-5.10/lib/dim/ |
| D | net_dim.c | 6 #include <linux/dim.h> 9 * Net DIM profiles: 104 static int net_dim_step(struct dim *dim) in net_dim_step() argument 106 if (dim->tired == (NET_DIM_PARAMS_NUM_PROFILES * 2)) in net_dim_step() 109 switch (dim->tune_state) { in net_dim_step() 114 if (dim->profile_ix == (NET_DIM_PARAMS_NUM_PROFILES - 1)) in net_dim_step() 116 dim->profile_ix++; in net_dim_step() 117 dim->steps_right++; in net_dim_step() 120 if (dim->profile_ix == 0) in net_dim_step() 122 dim->profile_ix--; in net_dim_step() [all …]
|
| D | rdma_dim.c | 6 #include <linux/dim.h> 8 static int rdma_dim_step(struct dim *dim) in rdma_dim_step() argument 10 if (dim->tune_state == DIM_GOING_RIGHT) { in rdma_dim_step() 11 if (dim->profile_ix == (RDMA_DIM_PARAMS_NUM_PROFILES - 1)) in rdma_dim_step() 13 dim->profile_ix++; in rdma_dim_step() 14 dim->steps_right++; in rdma_dim_step() 16 if (dim->tune_state == DIM_GOING_LEFT) { in rdma_dim_step() 17 if (dim->profile_ix == 0) in rdma_dim_step() 19 dim->profile_ix--; in rdma_dim_step() 20 dim->steps_left++; in rdma_dim_step() [all …]
|
| D | dim.c | 6 #include <linux/dim.h> 8 bool dim_on_top(struct dim *dim) in dim_on_top() argument 10 switch (dim->tune_state) { in dim_on_top() 15 return (dim->steps_left > 1) && (dim->steps_right == 1); in dim_on_top() 17 return (dim->steps_right > 1) && (dim->steps_left == 1); in dim_on_top() 22 void dim_turn(struct dim *dim) in dim_turn() argument 24 switch (dim->tune_state) { in dim_turn() 29 dim->tune_state = DIM_GOING_LEFT; in dim_turn() 30 dim->steps_left = 0; in dim_turn() 33 dim->tune_state = DIM_GOING_RIGHT; in dim_turn() [all …]
|
| D | Makefile | 2 # DIM Dynamic Interrupt Moderation library 5 obj-$(CONFIG_DIMLIB) += dim.o 7 dim-y := dim.o net_dim.o rdma_dim.o
|
| /kernel/linux/linux-4.19/include/linux/ |
| D | net_dim.h | 191 static inline bool net_dim_on_top(struct net_dim *dim) in net_dim_on_top() argument 193 switch (dim->tune_state) { in net_dim_on_top() 198 return (dim->steps_left > 1) && (dim->steps_right == 1); in net_dim_on_top() 200 return (dim->steps_right > 1) && (dim->steps_left == 1); in net_dim_on_top() 204 static inline void net_dim_turn(struct net_dim *dim) in net_dim_turn() argument 206 switch (dim->tune_state) { in net_dim_turn() 211 dim->tune_state = NET_DIM_GOING_LEFT; in net_dim_turn() 212 dim->steps_left = 0; in net_dim_turn() 215 dim->tune_state = NET_DIM_GOING_RIGHT; in net_dim_turn() 216 dim->steps_right = 0; in net_dim_turn() [all …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | dim.h | 14 * Number of events between DIM iterations. 35 * Used for communications between DIM and its consumer. 37 * @usec: CQ timer suggestion (by DIM) 38 * @pkts: CQ packet counter suggestion (by DIM) 50 * struct dim_sample - Structure for DIM sample data. 51 * Used for communications between DIM and its consumer. 68 * struct dim_stats - Structure for DIM stats. 86 * struct dim - Main structure for dynamic interrupt moderation (DIM). 87 * Used for holding all information about a specific DIM instance. 94 * @priv: A pointer to the struct that points to dim [all …]
|
| /kernel/linux/linux-5.10/Documentation/networking/ |
| D | net_dim.rst | 2 Net DIM - Generic Network Dynamic Interrupt Moderation 19 Dynamic Interrupt Moderation (DIM) (in networking) refers to changing the 23 runtime data sampled from the system. Net DIM is such a mechanism. In each 28 samples is also measured. Net DIM compares the current and the previous data and 32 number of wanted packets per event. The Net DIM algorithm ascribes importance to 36 Net DIM Algorithm 39 Each iteration of the Net DIM algorithm follows these steps: 47 supplied by the driver registered to Net DIM. The previous data is the new data 58 certain percentage. Also, since Net DIM does not measure anything by itself, it 75 the Net DIM API and provided by the registered driver. [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/ |
| D | en_dim.c | 33 #include <linux/dim.h> 37 mlx5e_complete_dim_work(struct dim *dim, struct dim_cq_moder moder, in mlx5e_complete_dim_work() argument 41 dim->state = DIM_START_MEASURE; in mlx5e_complete_dim_work() 46 struct dim *dim = container_of(work, struct dim, work); in mlx5e_rx_dim_work() local 47 struct mlx5e_rq *rq = container_of(dim, struct mlx5e_rq, dim); in mlx5e_rx_dim_work() 49 net_dim_get_rx_moderation(dim->mode, dim->profile_ix); in mlx5e_rx_dim_work() 51 mlx5e_complete_dim_work(dim, cur_moder, rq->mdev, &rq->cq.mcq); in mlx5e_rx_dim_work() 56 struct dim *dim = container_of(work, struct dim, work); in mlx5e_tx_dim_work() local 57 struct mlx5e_txqsq *sq = container_of(dim, struct mlx5e_txqsq, dim); in mlx5e_tx_dim_work() 59 net_dim_get_tx_moderation(dim->mode, dim->profile_ix); in mlx5e_tx_dim_work() [all …]
|
| /kernel/linux/linux-4.19/Documentation/networking/ |
| D | net_dim.txt | 1 Net DIM - Generic Network Dynamic Interrupt Moderation 13 - The Net DIM Algorithm 14 - Registering a Network Device to DIM 27 Dynamic Interrupt Moderation (DIM) (in networking) refers to changing the 31 runtime data sampled from the system. Net DIM is such a mechanism. In each 36 samples is also measured. Net DIM compares the current and the previous data and 40 number of wanted packets per event. The Net DIM algorithm ascribes importance to 44 Part II: The Net DIM Algorithm 47 Each iteration of the Net DIM algorithm follows these steps: 54 supplied by the driver registered to Net DIM. The previous data is the new data [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ethernet/broadcom/bnxt/ |
| D | bnxt_debugfs.c | 14 #include <linux/dim.h> 24 struct dim *dim = filep->private_data; in debugfs_dim_read() local 30 if (!dim) in debugfs_dim_read() 40 dim->state, in debugfs_dim_read() 41 dim->profile_ix, in debugfs_dim_read() 42 dim->mode, in debugfs_dim_read() 43 dim->tune_state, in debugfs_dim_read() 44 dim->steps_right, in debugfs_dim_read() 45 dim->steps_left, in debugfs_dim_read() 46 dim->tired); in debugfs_dim_read() [all …]
|
| D | bnxt_dim.c | 10 #include <linux/dim.h> 16 struct dim *dim = container_of(work, struct dim, work); in bnxt_dim_work() local 17 struct bnxt_cp_ring_info *cpr = container_of(dim, in bnxt_dim_work() 19 dim); in bnxt_dim_work() 24 net_dim_get_rx_moderation(dim->mode, dim->profile_ix); in bnxt_dim_work() 30 dim->state = DIM_START_MEASURE; in bnxt_dim_work()
|
| /kernel/linux/linux-4.19/drivers/net/ethernet/mellanox/mlx5/core/ |
| D | en_dim.c | 37 mlx5e_complete_dim_work(struct net_dim *dim, struct net_dim_cq_moder moder, in mlx5e_complete_dim_work() argument 41 dim->state = NET_DIM_START_MEASURE; in mlx5e_complete_dim_work() 46 struct net_dim *dim = container_of(work, struct net_dim, work); in mlx5e_rx_dim_work() local 47 struct mlx5e_rq *rq = container_of(dim, struct mlx5e_rq, dim); in mlx5e_rx_dim_work() 49 net_dim_get_rx_moderation(dim->mode, dim->profile_ix); in mlx5e_rx_dim_work() 51 mlx5e_complete_dim_work(dim, cur_moder, rq->mdev, &rq->cq.mcq); in mlx5e_rx_dim_work() 56 struct net_dim *dim = container_of(work, struct net_dim, work); in mlx5e_tx_dim_work() local 57 struct mlx5e_txqsq *sq = container_of(dim, struct mlx5e_txqsq, dim); in mlx5e_tx_dim_work() 59 net_dim_get_tx_moderation(dim->mode, dim->profile_ix); in mlx5e_tx_dim_work() 61 mlx5e_complete_dim_work(dim, cur_moder, sq->cq.mdev, &sq->cq.mcq); in mlx5e_tx_dim_work()
|
| /kernel/linux/linux-4.19/drivers/net/ethernet/broadcom/bnxt/ |
| D | bnxt_debugfs.c | 24 struct net_dim *dim = filep->private_data; in debugfs_dim_read() local 30 if (!dim) in debugfs_dim_read() 40 dim->state, in debugfs_dim_read() 41 dim->profile_ix, in debugfs_dim_read() 42 dim->mode, in debugfs_dim_read() 43 dim->tune_state, in debugfs_dim_read() 44 dim->steps_right, in debugfs_dim_read() 45 dim->steps_left, in debugfs_dim_read() 46 dim->tired); in debugfs_dim_read() 64 static struct dentry *debugfs_dim_ring_init(struct net_dim *dim, int ring_idx, in debugfs_dim_ring_init() argument [all …]
|
| D | bnxt_dim.c | 16 struct net_dim *dim = container_of(work, struct net_dim, in bnxt_dim_work() local 18 struct bnxt_cp_ring_info *cpr = container_of(dim, in bnxt_dim_work() 20 dim); in bnxt_dim_work() 25 net_dim_get_rx_moderation(dim->mode, dim->profile_ix); in bnxt_dim_work() 31 dim->state = NET_DIM_START_MEASURE; in bnxt_dim_work()
|
| /kernel/linux/linux-5.10/drivers/infiniband/core/ |
| D | cq.c | 42 struct dim *dim = container_of(w, struct dim, work); in ib_cq_rdma_dim_work() local 43 struct ib_cq *cq = dim->priv; in ib_cq_rdma_dim_work() 45 u16 usec = rdma_dim_prof[dim->profile_ix].usec; in ib_cq_rdma_dim_work() 46 u16 comps = rdma_dim_prof[dim->profile_ix].comps; in ib_cq_rdma_dim_work() 48 dim->state = DIM_START_MEASURE; in ib_cq_rdma_dim_work() 56 struct dim *dim; in rdma_dim_init() local 62 dim = kzalloc(sizeof(struct dim), GFP_KERNEL); in rdma_dim_init() 63 if (!dim) in rdma_dim_init() 66 dim->state = DIM_START_MEASURE; in rdma_dim_init() 67 dim->tune_state = DIM_GOING_RIGHT; in rdma_dim_init() [all …]
|
| /kernel/linux/linux-5.10/net/netfilter/ |
| D | xt_set.c | 41 .dim = d, \ 58 ADT_OPT(opt, xt_family(par), info->match_set.u.compat.dim, in set_match_v0() 72 info->u.compat.dim = IPSET_DIM_ZERO; in compat_flags() 76 info->u.compat.dim++; in compat_flags() 78 info->u.compat.flags |= (1 << info->u.compat.dim); in compat_flags() 122 ADT_OPT(opt, xt_family(par), info->match_set.dim, in set_match_v1() 146 if (info->match_set.dim > IPSET_DIM_MAX) { in set_match_v1_checkentry() 170 ADT_OPT(opt, xt_family(par), info->match_set.dim, in set_match_v3() 193 ADT_OPT(opt, xt_family(par), info->match_set.dim, in set_match_v4() 216 ADT_OPT(add_opt, xt_family(par), info->add_set.u.compat.dim, in set_target_v0() [all …]
|
| /kernel/linux/linux-4.19/net/netfilter/ |
| D | xt_set.c | 45 .dim = d, \ 62 ADT_OPT(opt, xt_family(par), info->match_set.u.compat.dim, in set_match_v0() 76 info->u.compat.dim = IPSET_DIM_ZERO; in compat_flags() 80 info->u.compat.dim++; in compat_flags() 82 info->u.compat.flags |= (1 << info->u.compat.dim); in compat_flags() 126 ADT_OPT(opt, xt_family(par), info->match_set.dim, in set_match_v1() 150 if (info->match_set.dim > IPSET_DIM_MAX) { in set_match_v1_checkentry() 174 ADT_OPT(opt, xt_family(par), info->match_set.dim, in set_match_v3() 197 ADT_OPT(opt, xt_family(par), info->match_set.dim, in set_match_v4() 220 ADT_OPT(add_opt, xt_family(par), info->add_set.u.compat.dim, in set_target_v0() [all …]
|
| /kernel/linux/linux-4.19/drivers/leds/ |
| D | leds-lp3944.c | 16 * This helper chip can drive up to 8 leds, with two programmable DIM modes; 20 * The DIM modes are used to set _blink_ patterns for leds, the pattern is 99 * Set the period for DIM status 102 * @dim: either LP3944_DIM0 or LP3944_DIM1 105 static int lp3944_dim_set_period(struct i2c_client *client, u8 dim, u16 period) in lp3944_dim_set_period() argument 111 if (dim == LP3944_DIM0) in lp3944_dim_set_period() 113 else if (dim == LP3944_DIM1) in lp3944_dim_set_period() 130 * Set the duty cycle for DIM status 133 * @dim: either LP3944_DIM0 or LP3944_DIM1 136 static int lp3944_dim_set_dutycycle(struct i2c_client *client, u8 dim, in lp3944_dim_set_dutycycle() argument [all …]
|
| /kernel/linux/linux-5.10/drivers/leds/ |
| D | leds-lp3944.c | 12 * This helper chip can drive up to 8 leds, with two programmable DIM modes; 16 * The DIM modes are used to set _blink_ patterns for leds, the pattern is 95 * Set the period for DIM status 98 * @dim: either LP3944_DIM0 or LP3944_DIM1 101 static int lp3944_dim_set_period(struct i2c_client *client, u8 dim, u16 period) in lp3944_dim_set_period() argument 107 if (dim == LP3944_DIM0) in lp3944_dim_set_period() 109 else if (dim == LP3944_DIM1) in lp3944_dim_set_period() 126 * Set the duty cycle for DIM status 129 * @dim: either LP3944_DIM0 or LP3944_DIM1 132 static int lp3944_dim_set_dutycycle(struct i2c_client *client, u8 dim, in lp3944_dim_set_dutycycle() argument [all …]
|
| /kernel/linux/linux-4.19/tools/perf/ |
| D | builtin-c2c.c | 401 struct c2c_dimension *dim; member 424 struct c2c_dimension *dim; in c2c_width() local 427 dim = c2c_fmt->dim; in c2c_width() 429 if (dim == &dim_symbol || dim == &dim_srcline) in c2c_width() 430 return symbol_width(hists, dim->se); in c2c_width() 432 return dim->se ? hists__col_len(hists, dim->se->se_width_idx) : in c2c_width() 433 c2c_fmt->dim->width; in c2c_width() 441 struct c2c_dimension *dim; in c2c_header() local 446 dim = c2c_fmt->dim; in c2c_header() 448 if (dim->se) { in c2c_header() [all …]
|
| /kernel/linux/linux-5.10/tools/perf/ |
| D | builtin-c2c.c | 414 struct c2c_dimension *dim; member 437 struct c2c_dimension *dim; in c2c_width() local 440 dim = c2c_fmt->dim; in c2c_width() 442 if (dim == &dim_symbol || dim == &dim_srcline) in c2c_width() 443 return symbol_width(hists, dim->se); in c2c_width() 445 return dim->se ? hists__col_len(hists, dim->se->se_width_idx) : in c2c_width() 446 c2c_fmt->dim->width; in c2c_width() 454 struct c2c_dimension *dim; in c2c_header() local 459 dim = c2c_fmt->dim; in c2c_header() 461 if (dim->se) { in c2c_header() [all …]
|
| /kernel/linux/linux-5.10/tools/perf/util/ |
| D | sort.c | 1687 #define DIM(d, n, func) [d] = { .name = n, .entry = &(func) } macro 1690 DIM(SORT_PID, "pid", sort_thread), 1691 DIM(SORT_COMM, "comm", sort_comm), 1692 DIM(SORT_DSO, "dso", sort_dso), 1693 DIM(SORT_SYM, "symbol", sort_sym), 1694 DIM(SORT_PARENT, "parent", sort_parent), 1695 DIM(SORT_CPU, "cpu", sort_cpu), 1696 DIM(SORT_SOCKET, "socket", sort_socket), 1697 DIM(SORT_SRCLINE, "srcline", sort_srcline), 1698 DIM(SORT_SRCFILE, "srcfile", sort_srcfile), [all …]
|
| /kernel/linux/linux-5.10/drivers/staging/media/atomisp/pci/isp/kernels/sdis/sdis_1.0/ |
| D | ia_css_sdis.host.c | 139 hor_num_3a = dvs_binary->dis.coef.dim.width; in ia_css_get_isp_dis_coefficients() 140 ver_num_3a = dvs_binary->dis.coef.dim.height; in ia_css_get_isp_dis_coefficients() 190 dis->grid.dim.width = in ia_css_sdis_init_info() 192 dis->grid.dim.height = in ia_css_sdis_init_info() 199 dis->coef.dim.width = in ia_css_sdis_init_info() 202 dis->coef.dim.height = in ia_css_sdis_init_info() 210 dis->proj.dim.width = in ia_css_sdis_init_info() 212 dis->proj.dim.height = in ia_css_sdis_init_info() 215 dis->proj.dim.width = in ia_css_sdis_init_info() 218 dis->proj.dim.height = in ia_css_sdis_init_info()
|
| /kernel/linux/linux-4.19/tools/perf/util/ |
| D | sort.c | 1564 #define DIM(d, n, func) [d] = { .name = n, .entry = &(func) } macro 1567 DIM(SORT_PID, "pid", sort_thread), 1568 DIM(SORT_COMM, "comm", sort_comm), 1569 DIM(SORT_DSO, "dso", sort_dso), 1570 DIM(SORT_SYM, "symbol", sort_sym), 1571 DIM(SORT_PARENT, "parent", sort_parent), 1572 DIM(SORT_CPU, "cpu", sort_cpu), 1573 DIM(SORT_SOCKET, "socket", sort_socket), 1574 DIM(SORT_SRCLINE, "srcline", sort_srcline), 1575 DIM(SORT_SRCFILE, "srcfile", sort_srcfile), [all …]
|
| /kernel/linux/linux-5.10/fs/hmdfs/ |
| D | inode_merge.c | 26 struct hmdfs_dentry_info_merge *dim = hmdfs_dm(dentry); in hmdfs_get_fst_lo_d() local 30 mutex_lock(&dim->comrade_list_lock); in hmdfs_get_fst_lo_d() 31 comrade = list_first_entry_or_null(&dim->comrade_list, in hmdfs_get_fst_lo_d() 35 mutex_unlock(&dim->comrade_list_lock); in hmdfs_get_fst_lo_d() 41 struct hmdfs_dentry_info_merge *dim = hmdfs_dm(dentry); in hmdfs_get_lo_d() local 45 mutex_lock(&dim->comrade_list_lock); in hmdfs_get_lo_d() 46 list_for_each_entry(comrade, &dim->comrade_list, list) { in hmdfs_get_lo_d() 52 mutex_unlock(&dim->comrade_list_lock); in hmdfs_get_lo_d() 88 struct hmdfs_dentry_info_merge *dim = hmdfs_dm(dentry); in get_num_comrades() local 91 mutex_lock(&dim->comrade_list_lock); in get_num_comrades() [all …]
|