History log of /wlan-dirver/qca-wifi-host-cmn/scheduler/src/scheduler_core.c (Results 1 – 24 of 24)
Revision Date Author Comments
# 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 ...