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

Xiang W wxjstz at 126.com
Wed Nov 22 04:59:04 PST 2023


在 2023-11-21星期二的 23:03 +0530,Anup Patel写道:
> 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.

New patch at
https://lists.infradead.org/pipermail/opensbi/2023-November/005965.html

Regards,
Xiang W

> 
> 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