#
8b3dca18 |
| 26-Sep-2022 |
Jeff Johnson <quic_jjohnson@quicinc.com> |
qcacmn: Remove call to qdf_exit_thread()
Since Linux Kernel commit 63706172f332 ("kthreads: rework kthread_stop()"), made in 2009 in Linux Kernel v2.6.31-rc1, it has not been necessary for kernel th
qcacmn: Remove call to qdf_exit_thread()
Since Linux Kernel commit 63706172f332 ("kthreads: rework kthread_stop()"), made in 2009 in Linux Kernel v2.6.31-rc1, it has not been necessary for kernel threads to call do_exit(). Since we do not support kernels earlier than that, remove the call to qdf_exit_thread(), the abstraction function for do_exit().
See Change-Id I22f27692fa8766df080630b9b0640c259285557c for more information on why this call is being removed.
Change-Id: I4de812397e8910e5117bc142bf9185c02d2d3ec0 CRs-Fixed: 3300459
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 ...
|
#
f28396d0 |
| 11-Feb-2020 |
Vivek <vchettri@codeaurora.org> |
qcacmn: Add API to print scheduler history
The scheduler maintains a history of the recent messages in the scheduler that were queued, started or completed execution.
This information can be review
qcacmn: Add API to print scheduler history
The scheduler maintains a history of the recent messages in the scheduler that were queued, started or completed execution.
This information can be reviewed while debugging issues if the scheduler is taking longer to process any message.
The new API will print the scheduler history on request.
Change-Id: I2ed7989296f6891cfd9779e7b96383253d680f51 CRs-Fixed: 2599281
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 ...
|
#
8ddef7dd |
| 25-Feb-2019 |
Dustin Brown <dustinb@codeaurora.org> |
qcacmn: Remove qdf_flex_mem_release()
Due to a limitation in the memory leak detection logic when qdf_flex_mem was written, qdf_flex_mem_release() was necessary to free any dynamically allocated mem
qcacmn: Remove qdf_flex_mem_release()
Due to a limitation in the memory leak detection logic when qdf_flex_mem was written, qdf_flex_mem_release() was necessary to free any dynamically allocated memory in the qdf_flex_mem_pool during certain points in the WLAN driver lifecycle. This was done to avoid flagging any dynamically allocated qdf_flex_mem_segments as false positive leaks when the memory domains were changed and leak checking was performed. With the introduction of qdf_talloc(), this workaround is no longer required. Replace the calls to qdf_mem_malloc/free with qdf_talloc/free, and remove qdf_flex_mem_release() altogether.
Change-Id: Ia5fd21386b94fc117af5f27853db5d8341601738 CRs-Fixed: 2404955
show more ...
|
#
27d56464 |
| 12-Oct-2018 |
Dustin Brown <dustinb@codeaurora.org> |
qcacmn: Record queue depth in scheduler history
The scheduler history feature contains logic to capture the queue depth at the time of message insertion, but an oversight means this information is n
qcacmn: Record queue depth in scheduler history
The scheduler history feature contains logic to capture the queue depth at the time of message insertion, but an oversight means this information is not actually recorded in the scheduler history. Record the captured queue depth in the scheduler history when a message is dequeued for processing.
Change-Id: Ia2dd6f641055237b8f9c546077f7b5992c697330 CRs-Fixed: 2332752
show more ...
|
#
dae10a5f |
| 25-Sep-2018 |
Dustin Brown <dustinb@codeaurora.org> |
qcacmn: Add queue information to scheduler history
In order to triage latency issues in the scheduler thread, track which queue a message was queue in, when each message was queued, how long it spen
qcacmn: Add queue information to scheduler history
In order to triage latency issues in the scheduler thread, track which queue a message was queue in, when each message was queued, how long it spent in queue, and the depth of the queue at the point of insertion.
Change-Id: I83edd04e668d5a2674ca71495fc904092b3ab800 CRs-Fixed: 2322561
show more ...
|
#
0626a4da |
| 28-Sep-2018 |
Vivek <vchettri@codeaurora.org> |
qcacmn: Wait for scheduler buffers before we panic
The scheduler can run out of buffers and we panic whenever this happens. However in the older code we wait until the failure count of getting sched
qcacmn: Wait for scheduler buffers before we panic
The scheduler can run out of buffers and we panic whenever this happens. However in the older code we wait until the failure count of getting scheduler buffers reaches a defined limit, thus making buffers available in due time and the panic was seen in rare cases, where failure count was exceeding the defined limit.
With the qdf_flex_mem supprt added for scheduler, the wait to panic, when the failure count was removed and we panic when the first failure to get scheduler buffer is reached. This change adds to wait until the failure count reaches the limit and then panic.
Change-Id: Ie8774830dc0cefdfccb1473216a9300609ab65bb CRs-Fixed: 2322049
show more ...
|
#
39bb395e |
| 28-Aug-2018 |
Dustin Brown <dustinb@codeaurora.org> |
qcacmn: Add scheduler history
To help triage issues where the scheduler thread is processing slowly, add a scheduler processing history for offline analysis. This can also be useful in determining i
qcacmn: Add scheduler history
To help triage issues where the scheduler thread is processing slowly, add a scheduler processing history for offline analysis. This can also be useful in determining if a processing delay in some operation is attributed to the scheduler thread or not.
Change-Id: Icfea17efc34b2a23d4f8b2baebe08db4e2f6ce8b CRs-Fixed: 2307252
show more ...
|
#
8afde5a8 |
| 16-Jul-2018 |
Dustin Brown <dustinb@codeaurora.org> |
qcacmn: Reduce/remove scheduler logs
As part of the effort to reduce overly verbose and excessive logging driver wide, reduce or remove logs in scheduler as much as possible.
Change-Id: I1e45c43931
qcacmn: Reduce/remove scheduler logs
As part of the effort to reduce overly verbose and excessive logging driver wide, reduce or remove logs in scheduler as much as possible.
Change-Id: I1e45c439315e81d9ff05e1688fe690d0ca30e097 CRs-Fixed: 2280337
show more ...
|
#
fe41df9c |
| 27-Jun-2018 |
Dustin Brown <dustinb@codeaurora.org> |
qcacmn: Move panic messages into QDF_DEBUG_PANIC
QDF_DEBUG_PANIC has recently gained a reason parameter. Move instance of logging followed immediately by QDF_DEBUG_PANIC to single calls.
Change-Id:
qcacmn: Move panic messages into QDF_DEBUG_PANIC
QDF_DEBUG_PANIC has recently gained a reason parameter. Move instance of logging followed immediately by QDF_DEBUG_PANIC to single calls.
Change-Id: Ifc00be410621005e8494074ed00b1b7e44cc6a03 CRs-Fixed: 2271769
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 ...
|
#
80617cac |
| 25-Apr-2018 |
Jeff Johnson <jjohnson@codeaurora.org> |
qcacmn: scheduler: Remove legacy markings
Per current guidance remove legacy markings.
Change-Id: Ic2fdf678fab90f204c59cc0cbfe616d115b0d6b9 CRs-Fixed: 2230684
|
#
1c6bb033 |
| 09-May-2018 |
Zhu Jianmin <jianminz@codeaurora.org> |
qcacmn: Avoid timer double free when disable scheduler
A global timer is created and freed by each module, if passed as msg to mc queues, shouldn't be freed in scheduler_cleanup_queues, or double fr
qcacmn: Avoid timer double free when disable scheduler
A global timer is created and freed by each module, if passed as msg to mc queues, shouldn't be freed in scheduler_cleanup_queues, or double free issue happens
For example, a timer in tLimTimers is freed in mac_stop->pe_stop ->lim_cleanup_mlm
Change-Id: I919b13f2570e3496a1de249fd90a88f3bfeaa131 CRs-Fixed: 2220514
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 ...
|
#
ef615e76 |
| 20-Sep-2017 |
Houston Hoffman <hhoffman@codeaurora.org> |
qcacmn: Use atomic set bit ops for mc thread
The basic qdf bit ops are not atomic. Race conditions can lead to messages stuck in queues without mc thread being woken up.
Change-Id: I42093b863c7ed9
qcacmn: Use atomic set bit ops for mc thread
The basic qdf bit ops are not atomic. Race conditions can lead to messages stuck in queues without mc thread being woken up.
Change-Id: I42093b863c7ed93c5c2baf0bd14106eb4fe082fc CRs-Fixed: 2118014
show more ...
|
#
83f387ac |
| 24-Apr-2017 |
Vivek <vchettri@codeaurora.org> |
qcacmn: Change log levels in scheduler API's
Changed the log levels from ERROR to DEBUG for few prints in the scheduler API's since the prints were not for errors but for debugging purposes.
Change
qcacmn: Change log levels in scheduler API's
Changed the log levels from ERROR to DEBUG for few prints in the scheduler API's since the prints were not for errors but for debugging purposes.
Change-Id: I2a351de5933cfe6ec7e52d48fbc6e32880854276 CRs-Fixed: 2034873
show more ...
|
#
1880b6f8 |
| 18-Apr-2017 |
Krunal Soni <ksoni@codeaurora.org> |
qcacmn: Change init-deinit sequence of scheduler & call flush callback
Provide fix such a way that scheduler's initialization happens at the end after all components' initialization gets done. Same-
qcacmn: Change init-deinit sequence of scheduler & call flush callback
Provide fix such a way that scheduler's initialization happens at the end after all components' initialization gets done. Same-way scheduler's deinitiazation happens very first before other component's deinit gets started.
scheduler also need to call component's provided callback to notify that component while flushing component's message queue.
CRs-Fixed: 2034772 Change-Id: I2c46bf9e68b93ecbc2ce9659d56de2887573411e
show more ...
|
#
62d6736a |
| 25-Apr-2017 |
Rajeev Kumar <rajekuma@codeaurora.org> |
qcacmn: Rename vStatus to linux style variable name
In scheduler core message processor rename camel case variable name vStatus to qdf_status.
Change-Id: I2b22915269aad9583ab4a360b92938df3d976c66 C
qcacmn: Rename vStatus to linux style variable name
In scheduler core message processor rename camel case variable name vStatus to qdf_status.
Change-Id: I2b22915269aad9583ab4a360b92938df3d976c66 CRs-Fixed: 2037960
show more ...
|
#
7fb19690 |
| 25-Apr-2017 |
Rajeev Kumar <rajekuma@codeaurora.org> |
qcacmn: Rename pMsgWrapper to linux style variable name
In scheduler core message processor rename camel case variable name pMsgWrapper to msg_wrapper.
Change-Id: Ica6715d9b14a807fdabc2da302de6ead4
qcacmn: Rename pMsgWrapper to linux style variable name
In scheduler core message processor rename camel case variable name pMsgWrapper to msg_wrapper.
Change-Id: Ica6715d9b14a807fdabc2da302de6ead4509aef8 CRs-Fixed: 2037958
show more ...
|
#
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 ...
|
#
99a10d07 |
| 16-Mar-2017 |
Rajeev Kumar <rajekuma@codeaurora.org> |
qcacmn: Do not allocate scheduler context dynamically
Scheduler context size is more than 400KB so run time memory allocation may fail when system memory is fragmented. Do not allocate scheduler con
qcacmn: Do not allocate scheduler context dynamically
Scheduler context size is more than 400KB so run time memory allocation may fail when system memory is fragmented. Do not allocate scheduler context memory dynamcially instead allocate it from .bss section.
Change-Id: I19ebd0689f81b971bde271e1a540952cf41a6cba CRs-Fixed: 2020711
show more ...
|
#
ba5d80ca |
| 24-Jan-2017 |
Krunal Soni <ksoni@codeaurora.org> |
qcacmn: Initialize qid to qidx mapping to max value
By default qid to qidx mapping gets value zero as default initialization which creates issue to identify whether zero is valid or invalid index.
qcacmn: Initialize qid to qidx mapping to max value
By default qid to qidx mapping gets value zero as default initialization which creates issue to identify whether zero is valid or invalid index.
Initializing to maximum value will eliminate above mentioned issue.
Change-Id: I4c0e2ba45e67fe6e167bd965bdb7ab901c3828a8 CRs-Fixed: 2001133
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 ...
|