Re: [PATCH] PCI/DOE: Remove asynchronous task support

From: Lukas Wunner
Date: Tue Nov 22 2022 - 14:29:05 EST


On Mon, Nov 21, 2022 at 11:19:25AM +0000, Jonathan Cameron wrote:
> On Sat, 19 Nov 2022 14:25:27 -0800 ira.weiny@xxxxxxxxx wrote:
> > Initially, it was anticipated that DOE tasks were going to need to be
> > submitted asynchronously and the code was designed thusly. Many
> > alternatives were discussed to fix the work initialization issue.[2]
> >
> > However, all current users submit tasks synchronously and this has
> > therefore become an unneeded maintenance burden. Remove the extra
> > maintenance burden by replacing asynchronous task submission with
> > a synchronous wait function.[3]
[...]
> @Lukas, I assume we don't care about the async support for SPDM going forwards?

We don't. However:

While I wouldn't have put in the asynchronous support in the first place,
now that it exists, it wouldn't delete it either.

I would just keep it internal to doe.c and only expose a synchronous
API call, which does the pci_doe_task allocation internally on the
stack, uses the appropriate INIT_WORK variant and waits for completion.

Actually I was going to do just that... I'm working on the DOE code
but the ongoing patch submissions make things difficult for me
because I have to shoot at a moving target.

The simplest solution would probably just be the object_is_on_stack()
check and the second simplest would be the synchronous API call outlined
above.

Thanks,

Lukas