Home
last modified time | relevance | path

Searched full:shaper (Results 1 – 25 of 54) sorted by relevance

123

/linux/Documentation/netlink/specs/
H A Dnet_shaper.yaml3 name: net-shaper
13 Each @shaper is identified within the given device, by a @handle,
22 operation, to create and update a single "attached" shaper, and
44 doc: Defines the shaper @id interpretation.
51 doc: The main shaper for the given network device.
55 The shaper is attached to the given device queue,
60 The shaper allows grouping of queues or other
68 doc: Different metric supported by the shaper.
72 doc: Shaper operates on a bits per second basis.
75 doc: Shaper operates on a packets per second basis.
[all …]
/linux/net/shaper/
H A Dshaper.c163 const struct net_shaper *shaper, in net_shaper_fill_one() argument
174 net_shaper_copy(&cur, shaper); in net_shaper_fill_one()
329 /* Allocate on demand the per device shaper's hierarchy container.
356 /* Prepare the hierarchy container to actually insert the given shaper, doing
389 NL_SET_ERR_MSG(extack, "Can't allocate new id for NODE shaper"); in net_shaper_pre_insert()
408 NL_SET_ERR_MSG(extack, "Can't insert shaper into device store"); in net_shaper_pre_insert()
486 * NODE shaper creation (ID_UNSPEC) and reuse of existing in net_shaper_parse_handle()
487 * shaper (any other value). in net_shaper_parse_handle()
513 struct net_shaper *shaper)
519 ops->capabilities(binding, shaper in net_shaper_validate_caps()
517 net_shaper_validate_caps(struct net_shaper_binding * binding,struct nlattr ** tb,const struct genl_info * info,struct net_shaper * shaper) net_shaper_validate_caps() argument
585 net_shaper_parse_info(struct net_shaper_binding * binding,struct nlattr ** tb,const struct genl_info * info,struct net_shaper * shaper,bool * exists) net_shaper_parse_info() argument
639 net_shaper_validate_nesting(struct net_shaper_binding * binding,const struct net_shaper * shaper,struct netlink_ext_ack * extack) net_shaper_validate_nesting() argument
662 net_shaper_parse_leaf(struct net_shaper_binding * binding,const struct nlattr * attr,const struct genl_info * info,const struct net_shaper * node,struct net_shaper * shaper) net_shaper_parse_leaf() argument
700 net_shaper_parse_node(struct net_shaper_binding * binding,struct nlattr ** tb,const struct genl_info * info,struct net_shaper * shaper) net_shaper_parse_node() argument
818 struct net_shaper *shaper; net_shaper_nl_get_doit() local
864 struct net_shaper *shaper; net_shaper_nl_get_dumpit() local
898 struct net_shaper shaper = {}; net_shaper_nl_set_doit() local
939 __net_shaper_delete(struct net_shaper_binding * binding,struct net_shaper * shaper,struct netlink_ext_ack * extack) __net_shaper_delete() argument
1150 net_shaper_pre_del_node(struct net_shaper_binding * binding,const struct net_shaper * shaper,struct netlink_ext_ack * extack) net_shaper_pre_del_node() argument
1211 struct net_shaper *shaper; net_shaper_nl_delete_doit() local
1516 struct net_shaper *shaper; net_shaper_set_real_num_tx_queues() local
[all...]
/linux/include/net/
H A Dnet_shaper.h35 * @parent: Unique identifier for the shaper parent, usually implied
36 * @handle: Unique identifier for this shaper
38 * @bw_min: Minimum guaranteed rate for this shaper
39 * @bw_max: Maximum peak rate allowed for this shaper
40 * @burst: Maximum burst for the peek rate of this shaper
41 * @priority: Scheduling priority for this shaper
42 * @weight: Scheduling weight for this shaper
73 * Each shaper is uniquely identified within the device with a 'handle'
74 * comprising the shaper scope and a scope-specific id.
81 * The shaper core performs automatic reparenting and cleanup, generating
[all …]
/linux/tools/testing/selftests/drivers/net/
H A Dshaper.py16 """ Delete the shaper identified by handle, ignoring a missing-shaper error. """
32 """ Return the shaper capabilities for the given scope, caching them on cfg. """
72 # Each device implementing shaper support must support some
99 # Querying a specific shaper not yet configured must fail.
164 raise KsftSkipEx("netdev shaper not supported by device, skipping delete")
217 raise KsftSkipEx("device does not advertise any supported queue shaper attributes")
222 shaper = nl_shaper.get({'ifindex': cfg.ifindex,
224 ksft_eq(shaper, expected)
230 shaper = nl_shaper.get({'ifindex': cfg.ifindex,
232 ksft_eq(shaper, expected)
[all …]
H A DMakefile24 shaper.py \
/linux/Documentation/networking/
H A Dnetdevices.rst216 lock if the driver implements queue management or shaper API.
221 lock if the driver implements queue management or shaper API.
234 lock if the driver implements queue management or shaper API.
242 lock if the driver implements queue management or shaper API.
250 lock if the driver implements queue management or shaper API.
258 lock if the driver implements queue management or shaper API.
296 lock if the driver implements queue management or shaper API.
303 lock if the driver implements queue management or shaper API.
308 implements queue management or shaper API.
317 the driver implements queue management or shaper API.
[all …]
/linux/drivers/gpu/drm/msm/disp/dpu1/
H A Ddpu_hw_top.h15 * struct traffic_shaper_cfg: traffic shaper configuration
16 * @en : enable/disable traffic shaper
93 * @setup_traffic_shaper : programs traffic shaper control.
95 * @cfg : traffic shaper configuration
H A Ddpu_hw_sspp.h157 * struct dpu_hw_pipe_ts_cfg - traffic shaper configuration
/linux/net/sched/
H A Dsch_mqprio.c26 u16 shaper; member
48 if (priv->shaper != TC_MQPRIO_SHAPER_DCB) in mqprio_enable_offload()
56 mqprio.shaper = priv->shaper; in mqprio_enable_offload()
274 priv->shaper = nla_get_u16(tb[TCA_MQPRIO_SHAPER]); in mqprio_parse_nlattr()
278 if (priv->shaper != TC_MQPRIO_SHAPER_BW_RATE) { in mqprio_parse_nlattr()
280 "min_rate accepted only when shaper is in bw_rlimit mode"); in mqprio_parse_nlattr()
307 if (priv->shaper != TC_MQPRIO_SHAPER_BW_RATE) { in mqprio_parse_nlattr()
309 "max_rate accepted only when shaper is in bw_rlimit mode"); in mqprio_parse_nlattr()
607 nla_put_u16(skb, TCA_MQPRIO_SHAPER, priv->shaper)) in mqprio_dump()
H A Dsch_cbs.c3 * net/sched/sch_cbs.c Credit Based Shaper
8 /* Credit Based Shaper (CBS)
11 * This is a simple rate-limiting shaper aimed at TSN applications on
592 MODULE_DESCRIPTION("Credit Based shaper");
H A DKconfig146 tristate "Credit Based Shaper (CBS)"
148 Say Y here if you want to use the Credit Based Shaper (CBS) packet
H A Dsch_cake.c18 * - An overall bandwidth shaper, to move the bottleneck away from dumb CPE
44 * a bandwidth tracker which reuses the shaper logic to detect which side of the
1537 * and to the global shaper. in cake_advance_shaper()
1779 /* ensure shaper state isn't stale */ in cake_enqueue()
2056 /* global hard shaper */ in cake_dequeue()
2069 /* In unlimited mode, can't rely on shaper timings, just balance in cake_dequeue()
3392 MODULE_DESCRIPTION("The CAKE shaper.");
/linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/
H A Dhclge_tm.h201 u8 ir_b; /* IR_B parameter of IR shaper */
202 u8 ir_u; /* IR_U parameter of IR shaper */
203 u8 ir_s; /* IR_S parameter of IR shaper */
H A Dhclge_tm.c26 /* hclge_shaper_para_calc: calculate ir parameter for the shaper
28 * @shaper_level: the shaper level. eg: port, pg, priority, queueset
29 * @ir_para: parameters of IR shaper
899 /* Calc shaper para */ in hclge_tm_pg_shaper_cfg()
1150 /* Need config vport shaper */ in hclge_tm_pri_vnet_base_shaper_cfg()
1477 /* Cfg tm shaper */ in hclge_tm_schd_setup_hw()
1848 "failed to get qset %u shaper, ret = %d\n", qset_id, in hclge_tm_get_qset_shaper()
1923 "failed to get priority shaper(%#x), ret = %d\n", in hclge_tm_get_pri_shaper()
2077 "failed to get pg shaper(%#x), ret = %d\n", in hclge_tm_get_pg_shaper()
2105 "failed to get port shaper, ret = %d\n", ret); in hclge_tm_get_port_shaper()
/linux/drivers/net/ethernet/intel/ice/virt/
H A Dqueues.c643 if (qbw->cfg[i].shaper.peak != 0 && vf->max_tx_rate != 0 && in ice_vc_cfg_q_bw()
644 qbw->cfg[i].shaper.peak > vf->max_tx_rate) { in ice_vc_cfg_q_bw()
651 if (qbw->cfg[i].shaper.committed != 0 && vf->min_tx_rate != 0 && in ice_vc_cfg_q_bw()
652 qbw->cfg[i].shaper.committed < vf->min_tx_rate) { in ice_vc_cfg_q_bw()
675 vf->qs_bw[i].peak = qbw->cfg[i].shaper.peak; in ice_vc_cfg_q_bw()
676 vf->qs_bw[i].committed = qbw->cfg[i].shaper.committed; in ice_vc_cfg_q_bw()
/linux/drivers/net/ethernet/mscc/
H A Docelot_police.h14 MSCC_QOS_RATE_MODE_DISABLED, /* Policer/shaper disabled */
/linux/Documentation/networking/device_drivers/ethernet/intel/
H A Diavf.rst156 The shaper bw_rlimit parameter is optional.
164 queues 16@0 16@16 hw 1 mode channel shaper bw_rlimit min_rate 1Gbit 2Gbit
178 shaper bw_rlimit: for each tc, sets minimum and maximum bandwidth rates.
H A Digb.rst181 Credit Based Shaper (Qav Mode)
/linux/Documentation/devicetree/bindings/net/dsa/
H A Dhirschmann,hellcreek.yaml21 Shaper.
/linux/drivers/net/ethernet/ti/
H A DKconfig143 Time Aware Shaper (TAS) / Enhanced Scheduled Traffic (EST),
/linux/include/uapi/linux/
H A Ddcbnl.h38 * @cbs: credit based shaper ets algorithm supported
53 * 1 credit-based shaper
/linux/drivers/gpu/drm/amd/display/dc/resource/dcn30/
H A Ddcn30_resource.c1594 struct dc_transfer_func **shaper) in dcn30_acquire_post_bldn_3dlut() argument
1600 ASSERT(*lut == NULL && *shaper == NULL); in dcn30_acquire_post_bldn_3dlut()
1602 *shaper = NULL; in dcn30_acquire_post_bldn_3dlut()
1607 *shaper = pool->mpc_shaper[i]; in dcn30_acquire_post_bldn_3dlut()
1629 struct dc_transfer_func **shaper) in dcn30_release_post_bldn_3dlut() argument
1635 if (pool->mpc_lut[i] == *lut && pool->mpc_shaper[i] == *shaper) { in dcn30_release_post_bldn_3dlut()
1639 *shaper = NULL; in dcn30_release_post_bldn_3dlut()
/linux/drivers/net/ethernet/chelsio/cxgb4/
H A Dcxgb4_tc_mqprio.c28 } else if (mqprio->shaper != TC_MQPRIO_SHAPER_BW_RATE) { in cxgb4_mqprio_validate()
29 netdev_err(dev, "Only bandwidth rate shaper supported\n"); in cxgb4_mqprio_validate()
/linux/drivers/gpu/drm/amd/display/dc/resource/dcn32/
H A Ddcn32_resource.c1770 struct dc_transfer_func **shaper) in dcn32_acquire_post_bldn_3dlut() argument
1774 ASSERT(*lut == NULL && *shaper == NULL); in dcn32_acquire_post_bldn_3dlut()
1776 *shaper = NULL; in dcn32_acquire_post_bldn_3dlut()
1780 *shaper = pool->mpc_shaper[mpcc_id]; in dcn32_acquire_post_bldn_3dlut()
1791 struct dc_transfer_func **shaper) in dcn32_release_post_bldn_3dlut() argument
1797 if (pool->mpc_lut[i] == *lut && pool->mpc_shaper[i] == *shaper) { in dcn32_release_post_bldn_3dlut()
1801 *shaper = NULL; in dcn32_release_post_bldn_3dlut()
/linux/drivers/net/ethernet/microsoft/mana/
H A Dmana_en.c939 const struct net_shaper *shaper, in mana_shaper_set() argument
946 if (shaper->handle.scope != NET_SHAPER_SCOPE_NETDEV) { in mana_shaper_set()
947 NL_SET_ERR_MSG_MOD(extack, "net shaper scope should be netdev"); in mana_shaper_set()
951 if (apc->handle.id && shaper->handle.id != apc->handle.id) { in mana_shaper_set()
956 if (!shaper->bw_max || (shaper->bw_max % 100000000)) { in mana_shaper_set()
961 rate = div_u64(shaper->bw_max, 1000); /* Convert bps to Kbps */ in mana_shaper_set()
971 apc->handle = (err) ? apc->handle : shaper->handle; in mana_shaper_set()

123