You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
net_sched: add u64 rate to psched_ratecfg_precompute()
Add an extra u64 rate parameter to psched_ratecfg_precompute() so that some qdisc can opt-in for 64bit rates in the future, to overcome the ~34 Gbits limit. psched_ratecfg_getrate() reports a legacy structure to tc utility, so if actual rate is above the 32bit rate field, cap it to the 34Gbit limit. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
118a7b0ede
commit
3e1e3aae1f
@@ -702,13 +702,20 @@ static inline u64 psched_l2t_ns(const struct psched_ratecfg *r,
|
||||
}
|
||||
|
||||
void psched_ratecfg_precompute(struct psched_ratecfg *r,
|
||||
const struct tc_ratespec *conf);
|
||||
const struct tc_ratespec *conf,
|
||||
u64 rate64);
|
||||
|
||||
static inline void psched_ratecfg_getrate(struct tc_ratespec *res,
|
||||
const struct psched_ratecfg *r)
|
||||
{
|
||||
memset(res, 0, sizeof(*res));
|
||||
res->rate = r->rate_bytes_ps;
|
||||
|
||||
/* legacy struct tc_ratespec has a 32bit @rate field
|
||||
* Qdisc using 64bit rate should add new attributes
|
||||
* in order to maintain compatibility.
|
||||
*/
|
||||
res->rate = min_t(u64, r->rate_bytes_ps, ~0U);
|
||||
|
||||
res->overhead = r->overhead;
|
||||
res->linklayer = (r->linklayer & TC_LINKLAYER_MASK);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user