From patchwork Tue Oct 7 19:39:59 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Helge Deller X-Patchwork-Id: 5048751 Return-Path: X-Original-To: patchwork-linux-parisc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id CF2BAC11AB for ; Tue, 7 Oct 2014 19:40:33 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id BB421201F7 for ; Tue, 7 Oct 2014 19:40:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9C90D20222 for ; Tue, 7 Oct 2014 19:40:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753815AbaJGTk1 (ORCPT ); Tue, 7 Oct 2014 15:40:27 -0400 Received: from mout.gmx.net ([212.227.17.21]:53549 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753518AbaJGTkX (ORCPT ); Tue, 7 Oct 2014 15:40:23 -0400 Received: from [192.168.178.60] ([84.173.33.33]) by mail.gmx.com (mrgmx102) with ESMTPSA (Nemesis) id 0MHMRr-1XPGg32EfT-00E8WY; Tue, 07 Oct 2014 21:40:20 +0200 Message-ID: <5434418F.1020407@gmx.de> Date: Tue, 07 Oct 2014 21:39:59 +0200 From: Helge Deller User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.7.0 MIME-Version: 1.0 To: linux-parisc , John David Anglin , Jeroen Roovers Subject: systemd on hppa and number of free RT signals X-Provags-ID: V03:K0:VTauewiaou/tE4Ig9beZaIGxdEJtwY/FI069ExQ2kznl8qHwxzg ghyr0V6/kZ1QhFrPYiYF5ZnqYwHpMnDk2N3G7be6vkPfrjWs1B2OXAiNCiTRvuww0GcAQTu BOF2S47ypOa3nHhke8s8j2fd68HsrcGFVJMPilNsjeQSkNGWik/1A/SEMQjTfzswHEyTTyt 6PxMXprmoo39yHvOc9SoQ== X-UI-Out-Filterresults: notjunk:1; Sender: linux-parisc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-parisc@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_HI,T_RP_MATCHES_RCVD,T_TVD_MIME_EPI,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hello everyone, I've just had a successful boot on hppa with systemd :-) The bootlog is attached. As already discussed here: http://article.gmane.org/gmane.linux.ports.parisc/5278 we don't have enough RT signals for systemd, which requests "SIGRTMIN+29" which is > 64 (SIGRTMAX). Since systemd gets more and more important (e.g. KDE now seems to require systemd) we should try to find a solution. The attached patches to Linux kernel and glibc shuffles around some signals, so that we end up with #define __SIGRTMIN 32 instead of #define __SIGRTMIN 37 I do know that this changes the ABI and introduces a binary incompatibly. Nevertheless, my testing with the new kernel and glibc didn't showed any obvious problems, which means that I could install either of those and the system didn't showed problems even after reboots. Additionally, given the fact that we have very little users and live in debian/gentoo unstable would IMHO justify such an incompatible change. Even HP-UX support was dropped a few months back... And we could easily rebuild packages like strace, gdb and such... The other option would be to increase NSIG in kernel from 64 to 128 or higher. I did tried to come up with kernel patches for this now for a few weeks, but ended up with the recognition, that this would require to duplicate nearly all of Linux kernel signal handling and which would most likely introduce new bugs. What's your opinion on this? I will provide prebuilt debian packages with those patches for kernel and glibc tomorrow for download, so that people may test themselves... Helge diff -up ./ports/sysdeps/unix/sysv/linux/hppa/bits/signum.h.org ./ports/sysdeps/unix/sysv/linux/hppa/bits/signum.h --- ./ports/sysdeps/unix/sysv/linux/hppa/bits/signum.h.org 2014-10-06 10:58:34.071963059 +0200 +++ ./ports/sysdeps/unix/sysv/linux/hppa/bits/signum.h 2014-10-06 11:02:48.879949179 +0200 @@ -35,13 +35,13 @@ #define SIGILL 4 /* Illegal instruction (ANSI). */ #define SIGTRAP 5 /* Trace trap (POSIX). */ #define SIGABRT 6 /* Abort (ANSI). */ +#define SIGSTKFLT 7 /* Stack fault. */ #define SIGIOT 6 /* IOT trap (4.2 BSD). */ -#define SIGEMT 7 #define SIGFPE 8 /* Floating-point exception (ANSI). */ #define SIGKILL 9 /* Kill, unblockable (POSIX). */ #define SIGBUS 10 /* BUS error (4.2 BSD). */ #define SIGSEGV 11 /* Segmentation violation (ANSI). */ -#define SIGSYS 12 /* Bad system call. */ +#define SIGXCPU 12 /* CPU limit exceeded (4.2 BSD). */ #define SIGPIPE 13 /* Broken pipe (POSIX). */ #define SIGALRM 14 /* Alarm clock (POSIX). */ #define SIGTERM 15 /* Termination (ANSI). */ @@ -61,11 +61,9 @@ #define SIGTTIN 27 /* Background read from tty (POSIX). */ #define SIGTTOU 28 /* Background write to tty (POSIX). */ #define SIGURG 29 /* Urgent condition on socket (4.2 BSD). */ -#define SIGLOST 30 /* Operating System Has Lost (HP/UX). */ +#define SIGXFSZ 30 /* File size limit exceeded (4.2 BSD). */ +#define SIGSYS 31 /* Bad system call. */ #define SIGUNUSED 31 -#define SIGXCPU 33 /* CPU limit exceeded (4.2 BSD). */ -#define SIGXFSZ 34 /* File size limit exceeded (4.2 BSD). */ -#define SIGSTKFLT 36 /* Stack fault. */ #define _NSIG 65 /* Biggest signal number + 1 (including real-time signals). */ @@ -75,7 +73,7 @@ /* These are the hard limits of the kernel. These values should not be used directly at user level. */ -#define __SIGRTMIN 37 +#define __SIGRTMIN 32 /* Kernel > 3.17 */ #define __SIGRTMAX (_NSIG - 1) #endif /* included. */