#
70a19e16 |
| 10-Jan-2023 |
Jeff Johnson <quic_jjohnson@quicinc.com> |
qcacmn: Fix Scheduler documentation
The kernel-doc script identified a few kernel-doc issues in the scheduler folder, so fix them.
Change-Id: Iab5488cb765a2f5440493f28ba7c8b2716cf5953 CRs-Fixed: 33
qcacmn: Fix Scheduler documentation
The kernel-doc script identified a few kernel-doc issues in the scheduler folder, so fix them.
Change-Id: Iab5488cb765a2f5440493f28ba7c8b2716cf5953 CRs-Fixed: 3376446
show more ...
|
#
2f4b444f |
| 25-Sep-2021 |
Vivek <vchettri@codeaurora.org> |
qcacmn: Disable panic for scheduler timeouts
When a scheduler message starts porcessing,we start the scheduler watchdog timer, and in few cases when the system get under heavy load processing taskle
qcacmn: Disable panic for scheduler timeouts
When a scheduler message starts porcessing,we start the scheduler watchdog timer, and in few cases when the system get under heavy load processing tasklets and bottom halves, and the scheduler message is preempted, its not getting a chance to run and the scheduler watchdog timer is triggered and it causes a panic.
Since the scheduler watchdog timmer is less than the kernel RCU timer, were are having scenarios, where because of the scheduler watchdog panic, the RCU stall is masked.
So in case of scheduler watchdog we wanted to just print the information about the message being processed by the scheduler and not panic.
Change-Id: I509abcd8cd8d2e863dc3f2370ceaa70e0d4f244f CRs-Fixed: 3004176
show more ...
|
#
97f44cd3 |
| 09-Dec-2020 |
Vivek <vchettri@codeaurora.org> |
qcacmn: Add API to configure scheduler watchdog timeout
The scheduler watchdog timeout is currently fixed at 10secs. There are few customer use cases, where the CPU is busy for sometime and the sche
qcacmn: Add API to configure scheduler watchdog timeout
The scheduler watchdog timeout is currently fixed at 10secs. There are few customer use cases, where the CPU is busy for sometime and the scheduler message processing is taking longer than the coinfigured watchdog timeout value.
Add a new API to be able to configure this value different than the default as per the requirement.
CRs-Fixed: 2834194 Change-Id: I976f1f0ad17f09cf3960f99ad80226d775b8b2f2
show more ...
|
#
503663c6 |
| 17-Dec-2019 |
Neha Bisht <nbisht21@codeaurora.org> |
qcacmn: Structure optimized through poke-a-hole tool
Structure memory is being optimized by aligning field with bus address length using pokeahole tool. This patch optimizes structure linked in obj_
qcacmn: Structure optimized through poke-a-hole tool
Structure memory is being optimized by aligning field with bus address length using pokeahole tool. This patch optimizes structure linked in obj_mgr and scheduler modules. Structure Bytes saved (64bit) Bytes saved (32bit) scheduler_ctx 8 bytes 4 bytes wlan_channel 8 bytes 8 bytes
Change-Id: I298946b55328d8d9b564c140e0a59e0b8702fab0 CRs-Fixed: 2587842
show more ...
|
#
dd4dc88b |
| 22-May-2019 |
sheenam monga <shebala@codeaurora.org> |
qcacmn: CONFIG_MCL cleanup for msg queue depth and reduction limit
Remove CONFIG_MCL for Serialization msg queue depth and reduction limit to make code generic. In case SCHEDULER_CORE_MAX_MESSAGES n
qcacmn: CONFIG_MCL cleanup for msg queue depth and reduction limit
Remove CONFIG_MCL for Serialization msg queue depth and reduction limit to make code generic. In case SCHEDULER_CORE_MAX_MESSAGES not defined, then define SCHEDULER_CORE_MAX_MESSAGES to 4000 for WIN . If WLAN_SCHED_REDUCTION_LIMIT not defined for MCL then define WLAN_SCHED_REDUCTION_LIMIT to 32 for WIN .
Change-Id: If64f117f6f0af56f6a9e1041e583b022c6c419fb CRs-Fixed: 2457723
show more ...
|
#
fa47688f |
| 25-Jan-2019 |
Vivek <vchettri@codeaurora.org> |
qcacmn: Change max scheduler buffers for WIN
Since the usage of the scheduler for WIN, is now not limited only to scan component alone and would be used by the new converged MLME also for few specif
qcacmn: Change max scheduler buffers for WIN
Since the usage of the scheduler for WIN, is now not limited only to scan component alone and would be used by the new converged MLME also for few specific cases, we need to increase the size of max scheduler buffers to 4K.
Change-Id: I11818c311b39c42ffda5a79eb7b7137dcb491649 CRs-Fixed: 2387644
show more ...
|
#
1b9674e2 |
| 24-Jul-2018 |
Nirav Shah <nnshah@codeaurora.org> |
qcacmn: umac: Add logging macros without function/line info
Add per module logging macros without function/line info to avoid adding function/line info where it is not required.
Change-Id: I34ba6f6
qcacmn: umac: Add logging macros without function/line info
Add per module logging macros without function/line info to avoid adding function/line info where it is not required.
Change-Id: I34ba6f6485f9b506264daf4e116052d2858bed40 CRs-Fixed: 2278876
show more ...
|
#
a175314c |
| 23-Jun-2018 |
Nirav Shah <nnshah@codeaurora.org> |
qcacmn: Map all module logs to per-level log APIs
Map all module level log APIs to per-level log APIs to compile out specific log level if required.
Change-Id: I4072b6740cb43200fd95c40943b66e1d5f8f
qcacmn: Map all module logs to per-level log APIs
Map all module level log APIs to per-level log APIs to compile out specific log level if required.
Change-Id: I4072b6740cb43200fd95c40943b66e1d5f8f1847 CRs-Fixed: 2266719
show more ...
|
#
c7ee85c4 |
| 10-Mar-2018 |
Dustin Brown <dustinb@codeaurora.org> |
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
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
show more ...
|
#
d78dedc9 |
| 16-May-2018 |
Vivek <vchettri@codeaurora.org> |
qcacmn: Configure qdf_flex_mem segments for scheduler pool
Configure the qdf_flex_mem segments for scheduler pool to 32, which creates 1024 scheduler message buffers during init.
Change-Id: Iefa942
qcacmn: Configure qdf_flex_mem segments for scheduler pool
Configure the qdf_flex_mem segments for scheduler pool to 32, which creates 1024 scheduler message buffers during init.
Change-Id: Iefa9427b55b427f79aa21a90cbf6e8a05be35e59 CRs-Fixed:
show more ...
|
#
6ecd284e |
| 04-Apr-2018 |
Vignesh Viswanathan <viswanat@codeaurora.org> |
qcacmn: Add handlers for scan queue in scheduler core
Add scheduler message handler function for QDF_MODULE_ID_SCAN queue.
Also post scan beacon/probe frames and scan events to SCAN queue instead o
qcacmn: Add handlers for scan queue in scheduler core
Add scheduler message handler function for QDF_MODULE_ID_SCAN queue.
Also post scan beacon/probe frames and scan events to SCAN queue instead of TARGET_IF queue.
Change-Id: I94e3ea2f0eb5c9592f5cfcd91738778fa65ba815 CRs-Fixed: 2214554
show more ...
|
#
c8e2987f |
| 09-Mar-2018 |
Dustin Brown <dustinb@codeaurora.org> |
qcacmn: Reduce SCHEDULER_CORE_MAX_MESSAGES to 1000
After profiling many iterations of several driver operations, the observed absolute maximum number of queue scheduler messages was 452 during soft
qcacmn: Reduce SCHEDULER_CORE_MAX_MESSAGES to 1000
After profiling many iterations of several driver operations, the observed absolute maximum number of queue scheduler messages was 452 during soft AP startup. Typical maximums for this test case are less than 100, occasionally getting as high as 250. The median for all of the driver operations in general were in the range of 1-2. Given this information, a round number around twice the worst case rate was picked.
Reduce SCHEDULER_CORE_MAX_MESSAGES to 1000, down from 8000 for MCL. This saves a significant amount of unused statically allocated memory.
Change-Id: I6ef65db84ca524cea68afbc3bb49347c6d996992 CRs-Fixed: 2202692
show more ...
|
#
3149adf5 |
| 06-Mar-2018 |
Dustin Brown <dustinb@codeaurora.org> |
qcacmn: Migrate scheduler logging functions
Part of the scheduler component has been migrated to the new sched_* logging wrappers, but part of it still remains to be ported. Finish migrating all of
qcacmn: Migrate scheduler logging functions
Part of the scheduler component has been migrated to the new sched_* logging wrappers, but part of it still remains to be ported. Finish migrating all of the scheduler logging APIs.
Change-Id: I5065d849a1523d6c27d6c6a27b1ad4605036c3e6 CRs-Fixed: 2201038
show more ...
|
#
f227fb74 |
| 27-Dec-2017 |
Vivek <vchettri@codeaurora.org> |
qcacmn: Reduce the number of scheduler message buffers for WIN
Reduced the number of scheduler message buffers for WIN to 2k from 4k since WIN is only using 2 scheduler queues.
Changed the order of
qcacmn: Reduce the number of scheduler message buffers for WIN
Reduced the number of scheduler message buffers for WIN to 2k from 4k since WIN is only using 2 scheduler queues.
Changed the order of two members of scheduler messgae structure to avoid additional padding on 64bit platform.
Change-Id: Ic74d60878867c45413bc4fbd5c56feb4dd421699 CRs-Fixed: 2157621
show more ...
|
#
91abaccb |
| 01-Dec-2017 |
Dustin Brown <dustinb@codeaurora.org> |
qcacmn: Use sched logging helpers in scheduler_api.c
A set of logging helpers for the scheduler component were previously added to reduce boilerplate logging code. Update scheduler_api.c to use the
qcacmn: Use sched logging helpers in scheduler_api.c
A set of logging helpers for the scheduler component were previously added to reduce boilerplate logging code. Update scheduler_api.c to use the new logging helpers.
Change-Id: I45715e40dbdd5a94d064ca4c64290a443cacea34 CRs-Fixed: 2152575
show more ...
|
#
e1d3d092 |
| 04-May-2017 |
Dustin Brown <dustinb@codeaurora.org> |
qcacmn: Add scheduler logging macros
To reduce boilerplate code, add standard logging macros to the scheduler module.
Change-Id: I478ec2d16d340f419135101704f0ab3a5bf0b4d8 CRs-Fixed: 2042761
|
#
e226cebd |
| 21-Apr-2017 |
Dustin Brown <dustinb@codeaurora.org> |
qcacmn: Add Scheduler Watchdog Timer
In order to catch long running scheduler messages, start a watchdog timer before processing each message, and stop the timer after each message is processed. Whe
qcacmn: Add Scheduler Watchdog Timer
In order to catch long running scheduler messages, start a watchdog timer before processing each message, and stop the timer after each message is processed. When the watchdog timer expires, immediately crash the device in debug builds for easier debugging.
Change-Id: I4b43a9e12fc1f5b8a795fec790fe7548a100d9db CRs-Fixed: 2037094
show more ...
|
#
73c05a80 |
| 05-Jan-2017 |
Rajeev Kumar <rajekuma@codeaurora.org> |
qcacmn: Add changes to detect if scheduler thread is stuck
Scheduler thread can get stuck because of many reasons like mutex deadlock, resource starvation etc. Add changes to detect if scheduler thr
qcacmn: Add changes to detect if scheduler thread is stuck
Scheduler thread can get stuck because of many reasons like mutex deadlock, resource starvation etc. Add changes to detect if scheduler thread is stuck.
Change-Id: Ib9d4e3b240077464b3a51ab6be6af728cb845bfe CRs-Fixed: 1107636
show more ...
|
#
cd395495 |
| 25-Dec-2016 |
Rajeev Kumar <rajekuma@codeaurora.org> |
qcacmn: Rename control path scheduler from sch to scheduler
Legacy protocol engine already has a module name 'sch' rename control path scheduler from sch to scheduler to avoid naming conflict with p
qcacmn: Rename control path scheduler from sch to scheduler
Legacy protocol engine already has a module name 'sch' rename control path scheduler from sch to scheduler to avoid naming conflict with protocol sch.
Change-Id: I94ce9aa5037aa75319aaad2287116462444c03f4 CRs-Fixed: 1105115
show more ...
|