qcacmn: Support per-ring CCE protocol tag stats
CCE stats are reported across rings today. Since HKv2 is a SMP, it creates the possibility of missing stats when two or more CPUs are updating the counters for the same protocol type. In order to avoid this, we can either use locks or store stats on a per-CPU basis. Since tagging happens on the core data path, locks are not preferred. Instead, we use a per-ring counter, since each CPU operates on a REO ring. Exception packets today go to Ring-0 (also normal rx Reo-0 go to Ring-0). Hence tags are maintained separately for exception ring as well. Change-Id: Ib01934619fb026bf64a8ac998eaec2d4df7f5a6e CRs-Fixed: 2438143
This commit is contained in:

committed by
nshrivas

parent
b292dd7b1a
commit
d8c7ad2228
@@ -1152,11 +1152,6 @@ struct cdp_htt_rx_pdev_stats {
|
||||
*/
|
||||
#define RX_PROTOCOL_TAG_ALL 0xff
|
||||
|
||||
#ifdef WLAN_SUPPORT_RX_TAG_STATISTICS
|
||||
struct cdp_pdev_rx_protocol_tag_stats {
|
||||
uint32_t tag_ctr;
|
||||
};
|
||||
#endif /* WLAN_SUPPORT_RX_TAG_STATISTICS */
|
||||
#endif /* WLAN_SUPPORT_RX_PROTOCOL_TYPE_TAG */
|
||||
|
||||
/* struct cdp_pdev_stats - pdev stats
|
||||
@@ -1234,12 +1229,6 @@ struct cdp_pdev_stats {
|
||||
/* Received wdi messages from fw */
|
||||
uint32_t wdi_event[CDP_WDI_NUM_EVENTS];
|
||||
struct cdp_tid_stats tid_stats;
|
||||
|
||||
#if defined(WLAN_SUPPORT_RX_TAG_STATISTICS) && \
|
||||
defined(WLAN_SUPPORT_RX_PROTOCOL_TYPE_TAG)
|
||||
struct cdp_pdev_rx_protocol_tag_stats
|
||||
rx_protocol_tag_stats[RX_PROTOCOL_TAG_MAX];
|
||||
#endif /* WLAN_SUPPORT_RX_TAG_STATISTICS */
|
||||
};
|
||||
|
||||
#ifndef BIG_ENDIAN_HOST
|
||||
|
Reference in New Issue
Block a user