mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 21:54:34 -04:00
qcacld-3.0: Shrink ol_txrx_stats_tso_info
The structure is taking too much of a space and pre-alloc was failing for a single allocation for ol_txrx_pdev. Shrunk the structure from 112 KB to 12 KB. This update has a corresponding update in qcacmn. Change-Id: I358e74b47165fa08cb5d37f095b44bff3f83fdfc Acked-by: Orhan K AKYILDIZ <oka@qca.qualcomm.com> CRs-fixed: 1012346
This commit is contained in:
parent
6dc1a9658a
commit
0c45f699e9
1 changed files with 67 additions and 51 deletions
|
|
@ -43,16 +43,16 @@ struct ol_txrx_stats_elem {
|
|||
uint64_t bytes;
|
||||
};
|
||||
|
||||
#define NUM_MAX_TSO_SEGS 8
|
||||
#define NUM_MAX_TSO_SEGS 4
|
||||
#define NUM_MAX_TSO_SEGS_MASK (NUM_MAX_TSO_SEGS - 1)
|
||||
|
||||
#define NUM_MAX_TSO_MSDUS 128
|
||||
#define NUM_MAX_TSO_MSDUS 32
|
||||
#define NUM_MAX_TSO_MSDUS_MASK (NUM_MAX_TSO_MSDUS - 1)
|
||||
|
||||
struct ol_txrx_stats_tso_msdu {
|
||||
struct qdf_tso_seg_t tso_segs[NUM_MAX_TSO_SEGS];
|
||||
uint32_t num_seg;
|
||||
uint32_t tso_seg_idx;
|
||||
uint8_t num_seg;
|
||||
uint8_t tso_seg_idx;
|
||||
};
|
||||
|
||||
struct ol_txrx_stats_tso_info {
|
||||
|
|
@ -62,56 +62,72 @@ struct ol_txrx_stats_tso_info {
|
|||
|
||||
/**
|
||||
* @brief data stats published by the host txrx layer
|
||||
*
|
||||
* -------------------------
|
||||
*
|
||||
* TX
|
||||
*
|
||||
*/
|
||||
struct ol_txrx_stats {
|
||||
struct {
|
||||
/* MSDUs given to the txrx layer by the management stack */
|
||||
struct ol_txrx_stats_elem mgmt;
|
||||
/* MSDUs successfully sent across the WLAN */
|
||||
struct ol_txrx_stats_elem delivered;
|
||||
struct {
|
||||
/* MSDUs that the host did not accept */
|
||||
struct ol_txrx_stats_elem host_reject;
|
||||
/* MSDUs which could not be downloaded to the target */
|
||||
struct ol_txrx_stats_elem download_fail;
|
||||
/* MSDUs which the target discarded
|
||||
(lack of memory or old age) */
|
||||
struct ol_txrx_stats_elem target_discard;
|
||||
/* MSDUs which the target sent but
|
||||
couldn't get an ack for */
|
||||
struct ol_txrx_stats_elem no_ack;
|
||||
} dropped;
|
||||
/* contains information of packets recevied per tx completion*/
|
||||
struct {
|
||||
uint32_t pkts_1;
|
||||
uint32_t pkts_2_10;
|
||||
uint32_t pkts_11_20;
|
||||
uint32_t pkts_21_30;
|
||||
uint32_t pkts_31_40;
|
||||
uint32_t pkts_41_50;
|
||||
uint32_t pkts_51_60;
|
||||
uint32_t pkts_61_plus;
|
||||
} comp_histogram;
|
||||
/* TSO (TCP segmentation offload) information */
|
||||
struct {
|
||||
struct ol_txrx_stats_elem tso_pkts;
|
||||
struct ol_txrx_stats_tx_dropped {
|
||||
/* MSDUs that the host did not accept */
|
||||
struct ol_txrx_stats_elem host_reject;
|
||||
/* MSDUs which could not be downloaded to the target */
|
||||
struct ol_txrx_stats_elem download_fail;
|
||||
/* MSDUs which the target discarded
|
||||
(lack of memory or old age) */
|
||||
struct ol_txrx_stats_elem target_discard;
|
||||
/* MSDUs which the target sent but
|
||||
couldn't get an ack for */
|
||||
struct ol_txrx_stats_elem no_ack;
|
||||
};
|
||||
struct ol_txrx_stats_tx_histogram {
|
||||
uint32_t pkts_1;
|
||||
uint32_t pkts_2_10;
|
||||
uint32_t pkts_11_20;
|
||||
uint32_t pkts_21_30;
|
||||
uint32_t pkts_31_40;
|
||||
uint32_t pkts_41_50;
|
||||
uint32_t pkts_51_60;
|
||||
uint32_t pkts_61_plus;
|
||||
};
|
||||
struct ol_txrx_stats_tx_tso {
|
||||
struct ol_txrx_stats_elem tso_pkts;
|
||||
#if defined(FEATURE_TSO)
|
||||
struct ol_txrx_stats_tso_info tso_info;
|
||||
struct ol_txrx_stats_tso_info tso_info;
|
||||
#endif
|
||||
} tso;
|
||||
} tx;
|
||||
struct {
|
||||
/* MSDUs given to the OS shim */
|
||||
struct ol_txrx_stats_elem delivered;
|
||||
struct {
|
||||
/* MSDUs forwarded to network stack */
|
||||
u_int32_t packets_stack;
|
||||
/* MSDUs forwarded from the rx path to the tx path */
|
||||
u_int32_t packets_fwd;
|
||||
/* MSDUs forwarded to stack and tx path */
|
||||
u_int32_t packets_stack_n_fwd;
|
||||
} intra_bss_fwd;
|
||||
} rx;
|
||||
};
|
||||
|
||||
struct ol_txrx_stats_tx {
|
||||
/* MSDUs given to the txrx layer by the management stack */
|
||||
struct ol_txrx_stats_elem mgmt;
|
||||
/* MSDUs successfully sent across the WLAN */
|
||||
struct ol_txrx_stats_elem delivered;
|
||||
struct ol_txrx_stats_tx_dropped dropped;
|
||||
/* contains information of packets recevied per tx completion*/
|
||||
struct ol_txrx_stats_tx_histogram comp_histogram;
|
||||
/* TSO (TCP segmentation offload) information */
|
||||
struct ol_txrx_stats_tx_tso tso;
|
||||
};
|
||||
|
||||
/*
|
||||
* RX
|
||||
*/
|
||||
struct ol_txrx_stats_rx_ibss_fwd {
|
||||
/* MSDUs forwarded to network stack */
|
||||
u_int32_t packets_stack;
|
||||
/* MSDUs forwarded from the rx path to the tx path */
|
||||
u_int32_t packets_fwd;
|
||||
/* MSDUs forwarded to stack and tx path */
|
||||
u_int32_t packets_stack_n_fwd;
|
||||
};
|
||||
struct ol_txrx_stats_rx {
|
||||
/* MSDUs given to the OS shim */
|
||||
struct ol_txrx_stats_elem delivered;
|
||||
struct ol_txrx_stats_rx_ibss_fwd intra_bss_fwd;
|
||||
};
|
||||
struct ol_txrx_stats {
|
||||
struct ol_txrx_stats_tx tx;
|
||||
struct ol_txrx_stats_rx rx;
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in a new issue