qcacmn: Prefetch tx desc and nbuf in lithuim Tx. send path

Prefetch tx desc and nbuf in lithuim Tx. send path.
This improves the UDP DL CPU idle% by ~1.5%

Change-Id: Ibd31d979c859824ed9f6b34a2685f8b9c4a7635d
Этот коммит содержится в:
Neha Bisht
2021-10-20 10:38:06 +05:30
коммит произвёл Madan Koyyalamudi
родитель 850aa79f06
Коммит 631d7e1a7d
2 изменённых файлов: 32 добавлений и 0 удалений

Просмотреть файл

@@ -637,6 +637,20 @@ static inline void dp_tx_flow_pool_unmap_handler(struct dp_pdev *pdev,
{
}
#ifdef QCA_DP_TX_HW_SW_NBUF_DESC_PREFETCH
static inline
void dp_tx_prefetch_desc(struct dp_tx_desc_s *tx_desc)
{
if (tx_desc)
prefetch(tx_desc);
}
#else
static inline
void dp_tx_prefetch_desc(struct dp_tx_desc_s *tx_desc)
{
}
#endif
/**
* dp_tx_desc_alloc() - Allocate a Software Tx Descriptor from given pool
*
@@ -664,6 +678,7 @@ static inline struct dp_tx_desc_s *dp_tx_desc_alloc(struct dp_soc *soc,
pool->freelist = pool->freelist->next;
pool->num_allocated++;
pool->num_free--;
dp_tx_prefetch_desc(pool->freelist);
tx_desc->flags = DP_TX_DESC_FLAG_ALLOCATED;