Re: [PATCH v3 12/16] can: m_can: Use the workqueue as queue

From: Simon Horman
Date: Fri Mar 17 2023 - 12:18:49 EST


On Wed, Mar 15, 2023 at 12:05:42PM +0100, Markus Schneider-Pargmann wrote:
> The current implementation uses the workqueue for peripheral chips to
> submit work. Only a single work item is queued and used at any time.
>
> To be able to keep more than one transmit in flight at a time, prepare
> the workqueue to support multiple transmits at the same time.
>
> Each work item now has a separate storage for a skb and a pointer to
> cdev. This assures that each workitem can be processed individually.
>
> The workqueue is replaced by an ordered workqueue which makes sure that
> only a single worker processes the items queued on the workqueue. Also
> items are ordered by the order they were enqueued. This removes most of
> the concurrency the workqueue normally offers. It is not necessary for
> this driver.
>
> The cleanup functions have to be adopted a bit to handle this new
> mechanism.
>
> Signed-off-by: Markus Schneider-Pargmann <msp@xxxxxxxxxxxx>

Reviewed-by: Simon Horman <simon.horman@xxxxxxxxxxxx>