Re: [PATCH 01/10] MIPS: smp: Make IPI interrupts scalable

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

 



On Thu, Jul 04, 2024 at 04:15:21AM +0800, Jiaxun Yang wrote:
> 
> 
> 在2024年7月3日七月 下午11:04,Thomas Bogendoerfer写道:
> > On Sun, Jun 16, 2024 at 10:03:05PM +0100, Jiaxun Yang wrote:
> >> Define enum ipi_message_type as other architectures did to
> >> allow easy extension to number of IPI interrupts, fiddle
> >> around platform IPI code to adopt to the new infra, add
> >> extensive BUILD_BUG_ON on IPI numbers to ensure future
> >> extensions won't break existing platforms.
> >> 
> >> IPI related stuff are pulled to asm/ipi.h to avoid include
> >> linux/interrupt.h in asm/smp.h.
> >> 
> >> Signed-off-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>
> >> ---
> >>  arch/mips/cavium-octeon/smp.c   | 109 ++++++++++++-----------------------
> >>  arch/mips/include/asm/ipi.h     |  34 +++++++++++
> >>  arch/mips/include/asm/smp-ops.h |   8 +--
> >>  arch/mips/include/asm/smp.h     |  42 ++++++--------
> >>  arch/mips/kernel/smp-bmips.c    |  43 +++++++-------
> >>  arch/mips/kernel/smp-cps.c      |   1 +
> >>  arch/mips/kernel/smp.c          | 124 ++++++++++++++++++++--------------------
> >>  arch/mips/loongson64/smp.c      |  51 +++++++++--------
> >>  arch/mips/mm/c-octeon.c         |   2 +-
> >>  arch/mips/sgi-ip27/ip27-smp.c   |  15 +++--
> >>  arch/mips/sgi-ip30/ip30-smp.c   |  15 +++--
> >>  arch/mips/sibyte/bcm1480/smp.c  |  19 +++---
> >>  arch/mips/sibyte/sb1250/smp.c   |  13 +++--
> >>  13 files changed, 236 insertions(+), 240 deletions(-)
> >
> > you are touching a lot of platforms, how many did you test ?
> 
> As mentioned in cover letter:
> 
> ```
> It has been tested on MIPS Boston I6500, malta SOC-It, Loongson-2K,
> Cavium CN7130 (EdgeRouter 4), and an unannounced interaptiv UP MT
> platform with EIC.
> 
> I don't really know broadcom platforms and SGI platforms well so
> changes to those platforms are kept minimal (no functional change).

I get a merge conflict in arch/mips/loongson64/smp.c and see following
warnings:

IP30 build:

  CC      arch/mips/fw/arc/init.o
In file included from /local/tbogendoerfer/korg/linux/arch/mips/fw/arc/init.c:15:
/local/tbogendoerfer/korg/linux/arch/mips/include/asm/smp-ops.h:23:40: error: ‘enum ipi_message_type’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
   23 |  void (*send_ipi_single)(int cpu, enum ipi_message_type op);
      |                                        ^~~~~~~~~~~~~~~~
/local/tbogendoerfer/korg/linux/arch/mips/include/asm/smp-ops.h:24:57: error: ‘enum ipi_message_type’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
   24 |  void (*send_ipi_mask)(const struct cpumask *mask, enum ipi_message_type op);
      |   

/local/tbogendoerfer/korg/linux/arch/mips/kernel/smp.c: In function ‘smp_prepare_cpus’:
/local/tbogendoerfer/korg/linux/arch/mips/kernel/smp.c:475:6: warning: unused variable ‘rc’ [-Wunused-variable]
  475 |  int rc;

/local/tbogendoerfer/korg/linux/arch/mips/include/asm/ipi.h:49:13: warning: ‘mips_smp_show_ipi_stats’ defined but not used [-Wunused-function]
   49 | static void mips_smp_show_ipi_stats(struct seq_file *p, int prec)


bcm1480 build:

/local/tbogendoerfer/korg/linux/arch/mips/kernel/smp.c: In function ‘smp_prepare_cpus’:
/local/tbogendoerfer/korg/linux/arch/mips/kernel/smp.c:475:6: warning: unused variable ‘rc’ [-Wunused-variable]
  475 |  int rc;
      |      ^~

In file included from /local/tbogendoerfer/korg/linux/arch/mips/kernel/smp.c:34:
At top level:
/local/tbogendoerfer/korg/linux/arch/mips/include/asm/ipi.h:49:13: warning: ‘mips_smp_show_ipi_stats’ defined but not used [-Wunused-function]
   49 | static void mips_smp_show_ipi_stats(struct seq_file *p, int prec)

octeon build:

/local/tbogendoerfer/korg/linux/arch/mips/cavium-octeon/smp.c:84:6: warning: no previous prototype for ‘octeon_send_ipi_single’ [-Wmissing-prototypes]
   84 | void octeon_send_ipi_single(int cpu, enum ipi_message_type op)
      |      ^~~~~~~~~~~~~~~~~~~~~~
In file included from /local/tbogendoerfer/korg/linux/arch/mips/cavium-octeon/smp.c:20:
/local/tbogendoerfer/korg/linux/arch/mips/include/asm/ipi.h:49:13: warning: ‘mips_smp_show_ipi_stats’ defined but not used [-Wunused-function]
   49 | static void mips_smp_show_ipi_stats(struct seq_file *p, int prec)
      |             ^~~~~~~~~~~~~~~~~~~~~~~
 
/local/tbogendoerfer/korg/linux/arch/mips/kernel/smp.c: In function ‘smp_prepare_cpus’:
/local/tbogendoerfer/korg/linux/arch/mips/kernel/smp.c:475:6: warning: unused variable ‘rc’ [-Wunused-variable]
  475 |  int rc;

/local/tbogendoerfer/korg/linux/arch/mips/include/asm/ipi.h:49:13: warning: ‘mips_smp_show_ipi_stats’ defined but not used [-Wunused-function]
   49 | static void mips_smp_show_ipi_stats(struct seq_file *p, int prec)

Please fix.

Thomas.

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea.                                                [ RFC1925, 2.3 ]




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

  Powered by Linux