[PATCH 0/2] Allow relaxed MMIO writes in device IPI callbacks

Anup Patel apatel at ventanamicro.com
Tue Nov 21 09:33:48 PST 2023


On Tue, Nov 21, 2023 at 10:18 PM Xiang W <wxjstz at 126.com> wrote:
>
> 在 2023-11-21星期二的 21:47 +0530,Anup Patel写道:
> > This series improves the barrier usage around device IPI callbacks
> > such that platform IPI driver can now use relaxed MMIO writes in
> > device IPI callbacks.
> >
> > These patches can also be found in the sbi_ipi_barrier_imp_v1 branch
> > at: https://github.com/avpatel/opensbi.git
> This patch is partly similar to this one:
> https://lists.infradead.org/pipermail/opensbi/2023-November/005931.html
>
> Then we may also encounter the following case:
>
>                 hart A             hart B
> send ipi--------->|                  |
>                   | clear ipi        |
>                   |                  | set ipi_type
>                   |                  |
>                   | xchg ipi_type    |
>                   |                  |
>                   |<-----------------| send ipi
>                   |                  |
>                   |                  |

This case is handled.

>
> To deal with this case, my patch:
> https://lists.infradead.org/pipermail/opensbi/2023-November/005932.html

Using spinlock for IPI synchronization is very handed
and reduces performance.

Functionally we have an IPI mux built on-top of one HW IPI
which is functionally similar to the Linux generic IPI-mux.

Regards,
Anup

>
> Regards,
> Xiang W
> >
> > Anup Patel (2):
> >   lib: sbi: Allow relaxed MMIO writes in device ipi_send() callback
> >   lib: sbi: Allow relaxed MMIO writes in device ipi_clear() callback
> >
> >  lib/sbi/sbi_ipi.c           | 31 +++++++++++++++++++++++++------
> >  lib/utils/ipi/aclint_mswi.c |  4 ++--
> >  lib/utils/irqchip/imsic.c   |  4 ++--
> >  3 files changed, 29 insertions(+), 10 deletions(-)
> >
> > --
> > 2.34.1
> >
> >
>



More information about the opensbi mailing list