net: ethernet: qualcomm: rmnet: Track RSB/RSC byte counts

Allows calculation of the average buffer utilization for RSB/RSC packets.

Change-Id: Id719b97ceffc62b1b9ce28bfab8ec32c6604529c
Acked-by: Conner Huff <chuff@codeaurora.org>
Signed-off-by: Sean Tranchetti <stranche@codeaurora.org>
This commit is contained in:
Sean Tranchetti 2020-02-24 13:55:04 -07:00 • committed by Conner Huff
commit 1ea6d3f011
3 changed files with 14 additions and 0 deletions

View file

@ -140,6 +140,10 @@ struct rmnet_coal_stats {
u64 coal_trans_invalid;
struct rmnet_coal_close_stats close;
u64 coal_veid[RMNET_MAX_VEID];
u64 coal_tcp;
u64 coal_tcp_bytes;
u64 coal_udp;
u64 coal_udp_bytes;
};
struct rmnet_priv_stats {

View file

@ -812,11 +812,17 @@ rmnet_frag_segment_coal_data(struct rmnet_frag_descriptor *coal_desc,
th = (struct tcphdr *)((u8 *)iph + coal_desc->ip_len);
coal_desc->trans_len = th->doff * 4;
priv->stats.coal.coal_tcp++;
priv->stats.coal.coal_tcp_bytes +=
skb_frag_size(&coal_desc->frag);
} else if (coal_desc->trans_proto == IPPROTO_UDP) {
struct udphdr *uh;
uh = (struct udphdr *)((u8 *)iph + coal_desc->ip_len);
coal_desc->trans_len = sizeof(*uh);
priv->stats.coal.coal_udp++;
priv->stats.coal.coal_udp_bytes +=
skb_frag_size(&coal_desc->frag);
if (coal_desc->ip_proto == 4 && !uh->check)
zero_csum = true;
} else {

View file

@ -231,6 +231,10 @@ static const char rmnet_gstrings_stats[][ETH_GSTRING_LEN] = {
"Coalescing packets over VEID1",
"Coalescing packets over VEID2",
"Coalescing packets over VEID3",
"Coalescing TCP frames",
"Coalescing TCP bytes",
"Coalescing UDP frames",
"Coalescing UDP bytes",
"Uplink priority packets",
};