linux/arch
Helge Deller 1f25df2eff parisc: Reduce SIGRTMIN from 37 to 32 to behave like other Linux architectures
This patch reduces the value of SIGRTMIN on PARISC from 37 to 32, thus
increasing the number of available RT signals and bring it in sync with other
Linux architectures.

Historically we wanted to natively support HP-UX 32bit binaries with the
PA-RISC Linux port.  Because of that we carried the various available signals
from HP-UX (e.g. SIGEMT and SIGLOST) and folded them in between the native
Linux signals.  Although this was the right decision at that time, this
required us to increase SIGRTMIN to at least 37 which left us with 27 (64-37)
RT signals.

Those 27 RT signals haven't been a problem in the past, but with the upcoming
importance of systemd we now got the problem that systemd alloctes (hardcoded)
signals up to SIGRTMIN+29 which is beyond our NSIG of 64. Because of that we
have not been able to use systemd on the PARISC Linux port yet.

Of course we could ask the systemd developers to not use those hardcoded
values, but this change is very unlikely, esp. with PA-RISC being a niche
architecture.

The other possibility would be to increase NSIG to e.g. 128, but this would
mean to duplicate most of the existing Linux signal handling code into the
parisc specific Linux kernel tree which would most likely introduce lots of new
bugs beside the code duplication.

The third option is to drop some HP-UX signals and shuffle some other signals
around to bring SIGRTMIN to 32.  This is of course an ABI change, but testing
has shown that existing Linux installations are not visibly affected by this
change - most likely because we move those signals around which are rarely used
and move them to slots which haven't been used in Linux yet. In an existing
installation I was able to exchange either the Linux kernel or glibc (or both)
without affecting the boot process and installed applications.

Dropping the HP-UX signals isn't an issue either, since support for HP-UX was
basically dropped a few months back with Kernel 3.14 in commit
f5a408d53e already, when we changed EWOULDBLOCK
to be equal to EAGAIN.

So, even if this is an ABI change, it's better to change it now and thus bring
PARISC Linux in sync with other architectures to avoid other issues in the
future.

Signed-off-by: Helge Deller <deller@gmx.de>
Cc: Carlos O'Donell <carlos@systemhalted.org>
Cc: John David Anglin <dave.anglin@bell.net>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: PARISC Linux Kernel Mailinglist <linux-parisc@vger.kernel.org>
Tested-by: Aaro Koskinen <aaro.koskinen@iki.fi>
2014-10-12 11:44:25 +02:00
..
alpha alpha: use Kbuild logic to include <asm-generic/sections.h> 2014-10-09 22:26:03 -04:00
arc irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
arm xen: features and fixes for 3.18-rc0 2014-10-11 20:29:01 -04:00
arm64 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-10-11 21:19:00 -04:00
avr32 irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
blackfin Merge branch 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2014-10-10 07:23:11 -04:00
c6x irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
cris cris: use Kbuild logic to include <asm-generic/sections.h> 2014-10-09 22:25:45 -04:00
frv frv: remove deprecated IRQF_DISABLED 2014-10-09 22:26:03 -04:00
hexagon irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
ia64 PCI changes for the v3.18 merge window: 2014-10-09 15:03:49 -04:00
m32r m32r: remove deprecated IRQF_DISABLED 2014-10-09 22:25:46 -04:00
m68k m68k: call find_vma with the mmap_sem held in sys_cacheflush() 2014-10-09 22:26:02 -04:00
metag irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
microblaze Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
mips Merge branch 'akpm' (fixes from Andrew Morton) 2014-10-09 22:26:14 -04:00
mn10300 mn10300: use Kbuild logic to include <asm-generic/sections.h> 2014-10-09 22:25:45 -04:00
openrisc Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:42:04 -04:00
parisc parisc: Reduce SIGRTMIN from 37 to 32 to behave like other Linux architectures 2014-10-12 11:44:25 +02:00
powerpc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux 2014-10-11 20:34:00 -04:00
s390 Merge branch 'for-v3.18' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2014-10-10 16:56:08 -04:00
score score: use Kbuild logic to include <asm-generic/sections.h> 2014-10-09 22:25:46 -04:00
sh Merge branch 'akpm' (fixes from Andrew Morton) 2014-10-09 22:26:14 -04:00
sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc 2014-10-11 20:36:34 -04:00
tile Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
um irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
unicore32 nosave: consolidate __nosave_{begin,end} in <asm/sections.h> 2014-10-09 22:26:04 -04:00
x86 xen: features and fixes for 3.18-rc0 2014-10-11 20:29:01 -04:00
xtensa Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-09 06:30:57 -04:00
.gitignore
Kconfig seccomp: add "seccomp" syscall 2014-07-18 12:13:37 -07:00