Re: [PATCH 01/12] parisc: Switch from GENERIC_CPU_DEVICES to GENERIC_ARCH_TOPOLOGY

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

 



On 3/25/22 15:38, Helge Deller wrote:
> Switch away from the own cpu topology code to common code which is used
> by ARM64 and RISCV. That allows us to enable hotplug later on too.

With this series I was able to use CPU hotplugging on the PA-RISC machines.
I sucessfully tested it on qemu (32bit kernel) and on a 2-way C8000 (64bit kernel).

For qemu the patch I committed today is required:
https://github.com/hdeller/seabios-hppa/commit/5cec13f11d3917cf3bceaf68ce23e9fa5f206a35

There is still some issue with the irq balancing on qemu with the emulated GSC, e.g. in this
example with 3 CPUs you can only disable CPU0 or CPU2, which both don't use any IRQs.
During shutdown of CPU1 the irqs 17-20 needs to be moved to another CPU which doesn't
work reliable yet.

Example:

root@debian:~# cat /proc/interrupts
           CPU0       CPU1       CPU2
 17:          0          0          0        GSC-ASIC  parport0
 18:          0       1759          0         GSC-PCI  ttyS0
 19:          0       3572          0         GSC-PCI  sym53c8xx
 20:          0       2359          0         GSC-PCI  enp0s1
 64:        224     148358     128518             CPU  timer
 65:         16       4224        677             CPU  IPI
 66:          0          0          0             CPU  lasi
 67:          0       8758          0             CPU  Dino
STK:       2240       6080       3072   Kernel stack usage

root@debian:~# chcpu -d 2	# disables CPU2
CPU 2 disabled

root@debian:~# cat /proc/interrupts
           CPU0       CPU1
 17:          0          0        GSC-ASIC  parport0
 18:          0       1843         GSC-PCI  ttyS0
 19:          0       3662         GSC-PCI  sym53c8xx
 20:...

root@debian:~# chcpu -e 2	# enable CPU2
[    6.466714] Releasing cpu 2 now, hpa=fffb2000
CPU 2 enabled

root@debian:~# cat /proc/interrupts
           CPU0       CPU1       CPU2
 17:          0          0          0        GSC-ASIC  parport0
 18:          0       1915          0         GSC-PCI  ttyS0
 19:          0       3668          0         GSC-PCI  sym53c8xx
...

CPU hotplugging on the C8000 seems to work reliable.

Helge




[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux