qcacld-3.0: Affine RX thread to big cluster during uplink

During uplink traffic, affine RX thread to big cluster if
throughput is high and rx_packet counts above threshold.

Change-Id: I34034e79ee07c229966a279919acc11d1942b890
CRs-Fixed: 2557745
This commit is contained in:
Alok Kumar
2019-11-21 16:37:36 +05:30
committed by nshrivas
부모 6387417f47
커밋 68127f6594
6개의 변경된 파일155개의 추가작업 그리고 0개의 파일을 삭제

파일 보기

@@ -135,6 +135,10 @@ typedef struct _cds_sched_context {
/* high throughput required */
bool high_throughput_required;
/* affinity requied during uplink traffic*/
bool rx_affinity_required;
uint8_t conf_rx_thread_ul_affinity;
#endif
} cds_sched_context, *p_cds_sched_context;
@@ -219,6 +223,25 @@ struct cds_context {
int cds_sched_handle_cpu_hot_plug(void);
int cds_sched_handle_throughput_req(bool high_tput_required);
/**
* cds_sched_handle_rx_thread_affinity_req - rx thread affinity req handler
* @high_tput_required: high throughput is required or not
*
* rx thread affinity handler will find online cores and
* will assign proper core based on perf requirement
*
* Return: None
*/
void cds_sched_handle_rx_thread_affinity_req(bool high_throughput);
/**
* cds_set_rx_thread_ul_cpu_mask() - Rx_thread affinity for UL from INI
* @cpu_affinity_mask: CPU affinity bitmap
*
* Return:None
*/
void cds_set_rx_thread_ul_cpu_mask(uint8_t cpu_affinity_mask);
/**
* cds_set_rx_thread_cpu_mask() - Rx_thread affinity from INI
* @cpu_affinity_mask: CPU affinity bitmap
@@ -296,6 +319,26 @@ void cds_free_ol_rx_pkt(p_cds_sched_context pSchedContext,
-------------------------------------------------------------------------*/
void cds_free_ol_rx_pkt_freeq(p_cds_sched_context pSchedContext);
#else
/**
* cds_sched_handle_rx_thread_affinity_req - rx thread affinity req handler
* @high_tput_required: high throughput is required or not
*
* rx thread affinity handler will find online cores and
* will assign proper core based on perf requirement
*
* Return: None
*/
static inline void cds_sched_handle_rx_thread_affinity_req(
bool high_throughput) {}
/**
* cds_set_rx_thread_ul_cpu_mask() - Rx_thread affinity for UL from INI
* @cpu_affinity_mask: CPU affinity bitmap
*
* Return:None
*/
static inline void cds_set_rx_thread_ul_cpu_mask(uint8_t cpu_affinity_mask) {}
/**
* cds_set_rx_thread_cpu_mask() - Rx_thread affinity from INI
* @cpu_affinity_mask: CPU affinity bitmap