Re: [PATCH net-next] net: tso: inline tso_count_descs()

From: Jakub Kicinski
Date: Thu Dec 08 2022 - 22:57:35 EST


On Thu, 8 Dec 2022 10:43:03 +0800 Yunsheng Lin wrote:
> tso_count_descs() is a small function doing simple calculation,
> and tso_count_descs() is used in fast path, so inline it to
> reduce the overhead of calls.

TSO frames are large, the overhead is fine.
I'm open to other opinions but I'd rather keep the code as is than
deal with the influx with similar sloppily automated changes.

> diff --git a/include/net/tso.h b/include/net/tso.h
> index 62c98a9c60f1..ab6bbf56d984 100644
> --- a/include/net/tso.h
> +++ b/include/net/tso.h
> @@ -16,7 +16,13 @@ struct tso_t {
> u32 tcp_seq;
> };

no include for skbuff.h here

> -int tso_count_descs(const struct sk_buff *skb);
> +/* Calculate expected number of TX descriptors */
> +static inline int tso_count_descs(const struct sk_buff *skb)
> +{
> + /* The Marvell Way */

these comments should be rewritten as we move
the function clearly calculates the worst case buffer count

> + return skb_shinfo(skb)->gso_segs * 2 + skb_shinfo(skb)->nr_frags;
> +}