qcacmn: Use qdf_flex_mem for scheduler messages
Currently, the scheduler thread keeps a large, pre-allocated array of messages for use in message posting. The vast majority of the time, however, the scheduler thread has zero or one messages pending in the queue. This leads to a huge memory overhead for nominal driver operation. Replace the current pre-allocated scheduler message pool with a hybrid static/dynamic approach. Change-Id: Ie942bacfef43edf142a9f35ad0309069096cda90 CRs-Fixed: 2204172
This commit is contained in:
@@ -67,6 +67,7 @@ typedef enum {
|
||||
* like PSOC, PDEV, VDEV and PEER. A component needs to populate flush
|
||||
* callback in message body pointer for those messages which have taken ref
|
||||
* count for above mentioned common objects.
|
||||
* @node: list node for queue membership
|
||||
*/
|
||||
struct scheduler_msg {
|
||||
uint16_t type;
|
||||
@@ -75,6 +76,7 @@ struct scheduler_msg {
|
||||
void *bodyptr;
|
||||
void *callback;
|
||||
void *flush_callback;
|
||||
qdf_list_node_t node;
|
||||
};
|
||||
|
||||
typedef QDF_STATUS (*scheduler_msg_process_fn_t) (struct scheduler_msg *msg);
|
||||
|
Reference in New Issue
Block a user