Re: [PATCH 1/2] cxl/mbox: Add background operation handling machinery

From: Jonathan Cameron
Date: Tue Nov 22 2022 - 04:44:36 EST


On Mon, 21 Nov 2022 13:48:04 -0800
Davidlohr Bueso <dave@xxxxxxxxxxxx> wrote:

> On Thu, 25 Aug 2022, Jonathan Cameron wrote:
>
> >> +/*
> >> + * Ensure that ->mbox_send() can run safely when a background
> >> + * command is running. If so, returns zero, otherwise -EBUSY.
> >
> >As above, I'm not sure this is necessary given you should get
> >a sensible error code in response to any such message.
> >E.g. media disabled.
>
> So this is necessary to prevent mischief in the polling case
> where you can have windows where the driver is out of sync
> with the hardware - hw finishes async command but driver
> (sleeping poller) has not acknowledged this. In the irq case,
> yeah this would be redundant and not needed.
>

Ok. A worked example might be useful for where this matters
at a higher level. For example, if there is no conflict at
the hardware level what goes wrong in the software as a result
of dropping the protection on the one that we haven't yet detected
as finished...

Jonathan


> Thanks,
> Davidlohr