qcacmn: Add qdf_nbuf_fast_xmit() API

Some platforms support a skb_recycler feature which patches the Linux
kernel to add a bool fast_xmit member to struct sk_buff.
Add a QDF abstraction to return the value of this member when it is
supported, and return false when it is not supported.

Change-Id: I6dfe6276779218f4d0245ec44035b4aa596d0e2a
CRs-Fixed: 3418516
This commit is contained in:
Devender Kumar
2023-02-27 13:14:14 +05:30
committed by Madan Koyyalamudi
parent ddabd3eda4
commit 8e3fc021bf
2 changed files with 23 additions and 0 deletions

View File

@@ -5590,4 +5590,14 @@ void qdf_nbuf_stop_replenish_timer(void);
*/
qdf_nbuf_t qdf_get_nbuf_valid_frag(qdf_nbuf_t nbuf);
/**
* qdf_nbuf_fast_xmit() - Check if packet has fast_xmit support
* @nbuf: qdf_nbuf_t master nbuf
*
* This function checks if skb has fast_xmit or not.
*
* Return: True if skb support fast_xmit otherwise false
*/
bool qdf_nbuf_fast_xmit(qdf_nbuf_t nbuf);
#endif /* _QDF_NBUF_H */

View File

@@ -2664,6 +2664,19 @@ bool __qdf_nbuf_is_ipv4_v6_pure_tcp_ack(struct sk_buff *skb)
return is_tcp_ack;
}
#ifdef QCA_DP_NBUF_FAST_RECYCLE_CHECK
bool qdf_nbuf_fast_xmit(qdf_nbuf_t nbuf)
{
return nbuf->fast_xmit;
}
#else
bool qdf_nbuf_fast_xmit(qdf_nbuf_t nbuf)
{
return false;
}
#endif
qdf_export_symbol(qdf_nbuf_fast_xmit);
#ifdef NBUF_MEMORY_DEBUG
static spinlock_t g_qdf_net_buf_track_lock[QDF_NET_BUF_TRACK_MAX_SIZE];