qcacmn: Avoid per packet Rx refill buffer pool lock
Avoid per packet Rx refill buff pool lock, instead acquire/release lock for burst of nbuf's replenishment. Change-Id: I778cb9702d31d4b8911cca4e7f06f12c50ef6df9 CRs-Fixed: 2884208
Cette révision appartient à :

révisé par
snandini

Parent
58b2f08534
révision
c9cec76270
@@ -303,6 +303,7 @@ QDF_STATUS __dp_rx_buffers_replenish(struct dp_soc *dp_soc, uint32_t mac_id,
|
||||
dp_soc, num_req_buffers);
|
||||
|
||||
hal_srng_access_start(dp_soc->hal_soc, rxdma_srng);
|
||||
|
||||
num_entries_avail = hal_srng_src_num_avail(dp_soc->hal_soc,
|
||||
rxdma_srng,
|
||||
sync_hw_ptr);
|
||||
@@ -349,6 +350,8 @@ QDF_STATUS __dp_rx_buffers_replenish(struct dp_soc *dp_soc, uint32_t mac_id,
|
||||
|
||||
count = 0;
|
||||
|
||||
dp_rx_refill_buff_pool_lock(dp_soc);
|
||||
|
||||
while (count < num_req_buffers) {
|
||||
/* Flag is set while pdev rx_desc_pool initialization */
|
||||
if (qdf_unlikely(rx_desc_pool->rx_mon_dest_frag_enable))
|
||||
@@ -405,6 +408,8 @@ QDF_STATUS __dp_rx_buffers_replenish(struct dp_soc *dp_soc, uint32_t mac_id,
|
||||
|
||||
}
|
||||
|
||||
dp_rx_refill_buff_pool_unlock(dp_soc);
|
||||
|
||||
hal_srng_access_end(dp_soc->hal_soc, rxdma_srng);
|
||||
|
||||
dp_rx_schedule_refill_thread(dp_soc);
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur