Messages in this thread | | | Date | Tue, 15 Feb 2022 09:11:01 +0000 | From | Cristian Marussi <> | Subject | Re: [PATCH v4 3/8] firmware: arm_scmi: Add atomic mode support to virtio transport |
| |
On Sun, Feb 13, 2022 at 07:58:27PM +0000, Cristian Marussi wrote: > Add support for .mark_txdone and .poll_done transport operations to SCMI > VirtIO transport as pre-requisites to enable atomic operations. > > Add a Kernel configuration option to enable SCMI VirtIO transport polling > and atomic mode for selected SCMI transactions while leaving it default > disabled. > > Cc: "Michael S. Tsirkin" <mst@redhat.com> > Cc: Igor Skalkin <igor.skalkin@opensynergy.com> > Cc: Peter Hilber <peter.hilber@opensynergy.com> > Cc: virtualization@lists.linux-foundation.org > Signed-off-by: Cristian Marussi <cristian.marussi@arm.com> > --- > v1 --> v2 > - shrinked spinlocked section within virtio_poll_done to exclude > virtqueue_poll > - removed poll_lock > - use vio channel refcount acquire/release logic when polling > - using new free_list accessors > - added new dedicated pending_lock to access pending_cmds_list > - fixed a few comments > > v0 --> v1 > - check for deferred_wq existence before queueing work to avoid > race at driver removal time > - changed mark_txdone decision-logic about message release > - fixed race while checking for msg polled from another thread > - using dedicated poll_status instead of poll_idx upper bits > - pick initial poll_idx earlier inside send_message to avoid missing > early replies > - removed F_NOTIFY mention in comment > - clearing xfer->priv on the IRQ tx path once message has been fetched > - added some store barriers > - updated some comments > --- > drivers/firmware/arm_scmi/Kconfig | 15 ++ > drivers/firmware/arm_scmi/driver.c | 9 +- > drivers/firmware/arm_scmi/virtio.c | 277 ++++++++++++++++++++++++++++- > 3 files changed, 291 insertions(+), 10 deletions(-) >
Hi Michael,
how do you feel about the current status of this patch and the previous two in this series about SCMI virtio polling support after the last fixes ?
Could we start thinking about merging this series on the SCMI side, leaving aside for the next iteration the polling ABA-problem mitigation I proposed in the virtio core (wrap counters and new API to enable them) that is now in a distinct series ? (and probably needs more tests/perfs/feedback...)
Thank you, Cristian
| |