linux-mips.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Russell King - ARM Linux admin <linux@armlinux.org.uk>,
	Andy Lutomirski <luto@kernel.org>,
	y2038 Mailman List <y2038@lists.linaro.org>,
	Linux API <linux-api@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-arch <linux-arch@vger.kernel.org>,
	Matt Turner <mattst88@gmail.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	Tony Luck <tony.luck@intel.com>,
	Fenghua Yu <fenghua.yu@intel.com>,
	Michal Simek <monstr@monstr.eu>,
	Paul Burton <paul.burton@mips.com>, Helge Deller <deller@gmx.de>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Rich Felker <dalias@libc.org>,
	"David S. Miller" <davem@davemloft.net>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	X86 ML <x86@kernel.org>, Max Filippov <jcmvbkbc@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Deepa Dinamani <deepa.kernel@gmail.com>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	Firoz Khan <firoz.khan@linaro.org>,
	alpha <linux-alpha@vger.kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	linux-m68k <linux-m68k@lists.linux-m68k.org>,
	linux-mips@vger.kernel.org,
	Parisc List <linux-parisc@vger.kernel.org>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	linux-s390 <linux-s390@vger.kernel.org>,
	Linux-sh list <linux-sh@vger.kernel.org>,
	sparclinux <sparclinux@vger.kernel.org>,
	Network Development <netdev@vger.kernel.org>,
	Linux FS Devel <linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH v2 29/29] y2038: add 64-bit time_t syscalls to all 32-bit architectures
Date: Mon, 21 Jan 2019 18:08:20 +0100	[thread overview]
Message-ID: <CAK8P3a04UC2dHVqx1gHXJQzsDw446h1ghLEuRe0xmUyJgrOktw@mail.gmail.com> (raw)
In-Reply-To: <CAMuHMdXzQNEEDjWrmTph8Krovj1g2WhnBUaM=FvKB+J2fZqctA@mail.gmail.com>

On Mon, Jan 21, 2019 at 9:19 AM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> On Sat, Jan 19, 2019 at 3:29 PM Russell King - ARM Linux admin
> <linux@armlinux.org.uk> wrote:
> > On Fri, Jan 18, 2019 at 11:53:25AM -0800, Andy Lutomirski wrote:
> > > On Fri, Jan 18, 2019 at 11:33 AM Arnd Bergmann <arnd@arndb.de> wrote:
> > > > On Fri, Jan 18, 2019 at 7:50 PM Andy Lutomirski <luto@kernel.org> wrote:
> > >
> > > Can we perhaps just start the consistent numbers above 547 or maybe
> > > block out 512..547 in the new regime?
> >
> > I don't think you gain much with that kind of scheme - it won't take
> > very long before an architecture misses having a syscall added, and
> > then someone else adds their own.  Been there with ARM - I was keeping
> > the syscall table in the same order as x86 for new syscalls, but now
>
> Same for m68k, and probably other architectures.
>
> > that others have been adding syscalls to the table since I converted
> > ARM to the tabular form, that's now gone out the window.
> >
> > So, I think it's completely pointless to do what you're suggesting.
> > We'll just end up with a big hole in the middle of the syscall table
> > and then revert back to random numbering of syscalls thereafter again.
>
> I believe the plan is to add future syscalls for all architectures in a
> single commit, to keep everything in sync.

Yes, that is the idea. This was not realistic before, since each one
of the old architectures had its own way of describing the system call
tables, and many needed a different set of quirks.

Since (almost) everything is now converted to the syscall.tbl format,
we have removed all obsolete architectures, and a lot of the quirks
(x32, spu, s390-31) won't matter as much in the future, I think it is
now possible to do it.

We could even extend scripts/checksyscalls.sh to warn if a new
syscall above 423 is not added to all 16 tables at the same time.

> Regardless, I'm wondering what to do with the holes marked "room for
> arch specific calls".
> When is a syscall really arch-specific, and can it be added there, and
> when does it turn out (later) that it isn't, breaking the
> synchronization again?

We've had a bit of that already, with cacheflush(), which exists on
a couple of architectures, including some that use the first
'arch specific' slot (244) of the asm-generic table. I think this
will be rare enough that we can figure out a solution when we
get there.

> The pkey syscalls may be a bad example, as AFAIU they can be implemented
> on some architectures, but not on some others.  Still, I had skipped them
> when adding new syscalls to m68k.
>
> Perhaps we should get rid of the notion of "arch-specific syscalls", and
> reserve a slot everywhere anyway?

I don't mind calling the hole something else if that helps. Out of
principle I would already assume that anything we add for x86
or the generic table should be added everywhere, but we can
make it broader than that.

      Arnd

  reply	other threads:[~2019-01-21 17:08 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-18 16:18 [PATCH v2 00/29] y2038: add time64 syscalls Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 01/29] ia64: add __NR_umount2 definition Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 02/29] ia64: add statx and io_pgetevents syscalls Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 03/29] ia64: assign syscall numbers for perf and seccomp Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 04/29] alpha: wire up io_pgetevents system call Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 05/29] alpha: update syscall macro definitions Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 06/29] ARM: add migrate_pages() system call Arnd Bergmann
2019-01-25 15:16   ` Catalin Marinas
2019-01-18 16:18 ` [PATCH v2 07/29] ARM: add kexec_file_load system call number Arnd Bergmann
2019-01-25 15:43   ` Catalin Marinas
2019-01-25 16:21     ` Russell King - ARM Linux admin
2019-01-18 16:18 ` [PATCH v2 08/29] m68k: assign syscall number for seccomp Arnd Bergmann
2019-01-21  8:55   ` Geert Uytterhoeven
2019-01-18 16:18 ` [PATCH v2 09/29] sh: remove duplicate unistd_32.h file Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 10/29] sh: add statx system call Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 11/29] sparc64: fix sparc_ipc type conversion Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 12/29] ipc: rename old-style shmctl/semctl/msgctl syscalls Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 13/29] arch: add split IPC system calls where needed Arnd Bergmann
2019-01-18 17:18   ` Gabriel Paubert
2019-01-18 19:30     ` Arnd Bergmann
2019-01-21  8:55   ` Geert Uytterhoeven
2019-01-21 11:57   ` Heiko Carstens
2019-01-18 16:18 ` [PATCH v2 14/29] arch: add pkey and rseq syscall numbers everywhere Arnd Bergmann
2019-01-21  8:55   ` Geert Uytterhoeven
2019-01-21 20:28     ` Arnd Bergmann
2019-01-21 11:59   ` Heiko Carstens
2019-01-18 16:18 ` [PATCH v2 15/29] alpha: add standard statfs64/fstatfs64 syscalls Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 16/29] alpha: add generic get{eg,eu,g,p,u,pp}id() syscalls Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 17/29] syscalls: remove obsolete __IGNORE_ macros Arnd Bergmann
2019-01-21 11:59   ` Heiko Carstens
2019-01-18 16:18 ` [PATCH v2 18/29] time: make adjtime compat handling available for 32 bit Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 19/29] time: Add struct __kernel_timex Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 20/29] time: fix sys_timer_settime prototype Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 21/29] sparc64: add custom adjtimex/clock_adjtime functions Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 22/29] timex: use __kernel_timex internally Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 23/29] timex: change syscalls to use struct __kernel_timex Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 24/29] x86/x32: use time64 versions of sigtimedwait and recvmmsg Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 26/29] y2038: use time32 syscall names on 32-bit Arnd Bergmann
2019-01-21  8:07   ` Geert Uytterhoeven
2019-01-21  8:56   ` Geert Uytterhoeven
2019-01-18 16:18 ` [PATCH v2 27/29] y2038: remove struct definition redirects Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 28/29] y2038: rename old time and utime syscalls Arnd Bergmann
2019-01-21  8:56   ` Geert Uytterhoeven
2019-01-21 12:15   ` Heiko Carstens
2019-01-18 16:18 ` [PATCH v2 29/29] y2038: add 64-bit time_t syscalls to all 32-bit architectures Arnd Bergmann
2019-01-18 18:50   ` Andy Lutomirski
2019-01-18 19:33     ` Arnd Bergmann
2019-01-18 19:53       ` Andy Lutomirski
2019-01-18 20:44         ` Arnd Bergmann
2019-01-19 14:28         ` Russell King - ARM Linux admin
2019-01-21  8:19           ` Geert Uytterhoeven
2019-01-21 17:08             ` Arnd Bergmann [this message]
2019-01-21 20:40               ` Arnd Bergmann
2019-01-21  8:56   ` Geert Uytterhoeven
2019-01-21 12:19   ` Heiko Carstens
2019-01-21 16:31   ` Arnd Bergmann
2019-01-25 15:55   ` Catalin Marinas
2019-01-18 16:57 ` [PATCH v2 00/29] y2038: add time64 syscalls Dennis Clarke
2019-01-18 17:14   ` Arnd Bergmann
2019-01-18 17:19     ` Dennis Clarke
2019-01-18 17:45   ` James Bottomley
     [not found] ` <20190118161835.2259170-26-arnd@arndb.de>
2019-01-25 15:47   ` [PATCH v2 25/29] y2038: syscalls: rename y2038 compat syscalls Catalin Marinas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAK8P3a04UC2dHVqx1gHXJQzsDw446h1ghLEuRe0xmUyJgrOktw@mail.gmail.com \
    --to=arnd@arndb.de \
    --cc=akpm@linux-foundation.org \
    --cc=benh@kernel.crashing.org \
    --cc=catalin.marinas@arm.com \
    --cc=dalias@libc.org \
    --cc=davem@davemloft.net \
    --cc=deepa.kernel@gmail.com \
    --cc=deller@gmx.de \
    --cc=ebiederm@xmission.com \
    --cc=fenghua.yu@intel.com \
    --cc=firoz.khan@linaro.org \
    --cc=geert@linux-m68k.org \
    --cc=heiko.carstens@de.ibm.com \
    --cc=hpa@zytor.com \
    --cc=jcmvbkbc@gmail.com \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=luto@kernel.org \
    --cc=mattst88@gmail.com \
    --cc=mingo@redhat.com \
    --cc=monstr@monstr.eu \
    --cc=mpe@ellerman.id.au \
    --cc=netdev@vger.kernel.org \
    --cc=paul.burton@mips.com \
    --cc=schwidefsky@de.ibm.com \
    --cc=sparclinux@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=will.deacon@arm.com \
    --cc=x86@kernel.org \
    --cc=y2038@lists.linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).