On Wed, Jun 08, 2022 at 09:54:09AM +0200, David Jander wrote: > Mark Brown <broonie@xxxxxxxxxx> wrote: > > Moving idling (and all the was_busy stuff) within the io_mutex would > > definitely resolve the issue, the async submission context is the only one > > that really needs the spinlock and it doesn't care about idling. I can't > > think what you could do with the io_mutex when idling so it seems to > > fit. > Ok, so we could agree on a way to fix this particular issue: put the idling > transition into the io_mutex. Thanks. > Looking forward to read comments on the rest of the code, and the general idea > of what I am trying to accomplish. I think the rest of it is fine or at least I'm finding it difficult to see anything beyond the concurrency issues. I think we need to do an audit to find any users that are doing a spi_sync() to complete a sequence of spi_async() operations but I'm not aware of any and if it delivers the performance benefits it's probably worth changing that aspect of the driver API.
Attachment:
signature.asc
Description: PGP signature