rmnet_core: track coalescing usage per descriptor
Descriptors that came from coalesced frames will now carry usage info. In order to prevent overcoutning, only the first segment from each frame will report this information; the rest will report 0. This allows a simple calculation of summing the coal_bytes and coal_bufsize values reported and dividing to determine the total ratio over a given period. These values will be reported in the SKB via a new Control Block struct, accessable via RMNET_SKB_CB(skb); Change-Id: I8ea31921afa3afad4d2c570ec5728118bd635b86 Signed-off-by: Sean Tranchetti <stranche@codeaurora.org>
このコミットが含まれているのは:

committed by
Subash Abhinov Kasiviswanathan

コミット
50a4832e09
@@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2013-2014, 2016-2020 The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2013-2014, 2016-2021 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
@@ -13,6 +13,8 @@
|
||||
#ifndef _RMNET_PRIVATE_H_
|
||||
#define _RMNET_PRIVATE_H_
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define RMNET_MAX_PACKET_SIZE 16384
|
||||
#define RMNET_DFLT_PACKET_SIZE 1500
|
||||
#define RMNET_NEEDED_HEADROOM 16
|
||||
@@ -45,4 +47,17 @@ RMNET_INGRESS_FORMAT_DL_MARKER_V2)
|
||||
/* Pass the frame directly to another device with dev_queue_xmit() */
|
||||
#define RMNET_EPMODE_BRIDGE (2)
|
||||
|
||||
/* Struct for skb control block use within rmnet driver */
|
||||
struct rmnet_skb_cb {
|
||||
/* MUST be the first entries because of legacy reasons */
|
||||
char flush_shs;
|
||||
char qmap_steer;
|
||||
|
||||
/* coalescing stats */
|
||||
u32 coal_bytes;
|
||||
u32 coal_bufsize;
|
||||
};
|
||||
|
||||
#define RMNET_SKB_CB(skb) ((struct rmnet_skb_cb *)(skb)->cb)
|
||||
|
||||
#endif /* _RMNET_PRIVATE_H_ */
|
||||
|
新しいイシューから参照
ユーザーをブロックする