You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Migration to configurable work queue
* Due to possible stall of the system_wq work queue
SymSPI error recovery might be blocked by some agent, which
uses the system_wq as well.
* To separate the affected scopes, SymSPI was done configurable
on which work queue to use: "SYMSPI_WQ_SYSTEM" - uses as before
the global system work queue, "SYMSPI_WQ_SYSTEM_HIGHPRI" - uses
high priority system global work queue, "SYMSPI_WQ_PRIVATE" -
uses the current SymSPI dedicated workque with high priority.
Macro/config name:
SYMSPI_QUEUE_MODE
-> ["SYMSPI_WQ_SYSTEM", "SYMSPI_WQ_SYSTEM_HIGHPRI"
, "SYMSPI_WQ_PRIVATE"]
* If it is SymSPI code which causes the stall, it will keep
stalling, if other code causes the work queue stall, then this
stall will not affect SymSPI in "private" work queue
configuration.
* Added also a bit of grooming to init and close procedures: they
are separated in stages at least for now and symspi_close(...)
can consistently continue from the point where symspi_init(...)
left.
* A bit of logging update
* Log level "trace" added.
* SymSPI state switches, timer states, ISRs were moved to the
trace level, otherwise they make debug info level unusable in
a long run cause of too much flood per byte transfered.
* A bit less verbose logging.
* Increased other side reaction wait timeout
* To avoid error recovery for situations when we just
we too slow, but function without error. So timeout must
trigger the error recovery only when our "sloooow" reaction
looks already like something nasty, so error recovery
will execute its direct function: to purge/wake-up other
side facilities if they got stalled somehow, so the system
will keep functioning.
* Added configuration options:
* other side reaction timeout,
* workqueue mode selection.
* Added proc info entry to SymSPI
* Allows to monitor the SymSPI state and configuration
from User Space.
0 commit comments