Re: [PATCH 0/6] Implement generic IPI support mechanism

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2015/9/23 22:49, Qais Yousef wrote:
> This RFC series attempts to implement a generic IPI layer for reserving and sending IPI.
> 
> It is based on the discussion in this link
> 
> 	https://lkml.org/lkml/2015/8/26/713
> 
> This series deals with points #1 and #2 only. Since I'm not the irq expert, I'm hoping this
> series will give me early feedback and drive the discussion further about any potential
> tricky points.
> 
> I tried to keep changes clean and small, but since this is just an RFC I might have missed
> few things.
> 
> Thomas I hope I didn't stray far from what you had in mind :-)
> 
> My only testing so far is having SMP linux booting.
Hi Qais,
	Thanks for doing this, but the change is a little bigger than
my expectation. Could we achieve this by:
1) extend irq_chip to support send_ipi operation
2) reuse existing irqdomain allocation interfaces to allocate IPI IRQ
3) arch code to create an IPI domain for IPI allocations
4) IRQ core provides some helpers to help arch code to implement IPI
   irqdomain
	I think that may make the change smaller and more clear.
Thanks!
Gerry

> 
> Qais Yousef (6):
>   irqdomain: add new IRQ_DOMAIN_FLAGS_IPI
>   irqdomain: add a new send_ipi() to irq_domain_ops
>   irqdomain: add struct irq_hwcfg and helper functions
>   irq: add a new generic IPI handling code to irq core
>   irqchip: mips-gic: add a IPI hierarchy domain
>   irqchip: mips-gic: use the new generic IPI API
> 
>  arch/mips/kernel/smp-gic.c       |  37 ++--
>  drivers/irqchip/Kconfig          |   1 +
>  drivers/irqchip/irq-mips-gic.c   | 189 ++++++++++++++++++---
>  include/linux/irqchip/mips-gic.h |   3 +-
>  include/linux/irqdomain.h        |  67 ++++++++
>  kernel/irq/irqdomain.c           | 352 +++++++++++++++++++++++++++++++++++++++
>  6 files changed, 601 insertions(+), 48 deletions(-)
> 




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux