From: Al Viro <viro@ZenIV.linux.org.uk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, Paul Mackerras <paulus@samba.org>,
linux-arch@vger.kernel.org, David Miller <davem@davemloft.net>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>
Subject: [git pull] signal.git, pile 2 (was Re: [RFC][CFT][CFReview] execve and kernel_thread unification work)
Date: Fri, 12 Oct 2012 02:09:58 +0100 [thread overview]
Message-ID: <20121012010958.GG2616@ZenIV.linux.org.uk> (raw)
In-Reply-To: <20121012001633.GA29883@bloggs.ozlabs.ibm.com>
On Fri, Oct 12, 2012 at 11:16:33AM +1100, Paul Mackerras wrote:
> On Thu, Oct 11, 2012 at 01:53:06PM +0100, Al Viro wrote:
>
> > Umm... Maybe, but let's do that as subsequent cleanup. Again,
> > we almost certainly don't need to mess with TOC at all - the callbacks
> > are in the main kernel, there are very few of them and they really are
> > low-level details of exported mechanisms (i.e. kthread_create/run/etc.
> > in kthread.h and call_usermode... in kmod.h). Again, we are talking
> > about out-of-tree modules, they had better mechanism for at least
> > 6 years and conversion to it is bloody trivial. Hell, it was even
> > in late unlamented feature-removal-schedule.txt - since 2006. If that's
> > not enough to retire an export, what is?
>
> OK... yes we can fix things up in a subsequent cleanup.
>
> We will need to fix the TOC handling when we go to using multiple TOCs
> in the main kernel, with the linker managing the transitions between
> TOCs. Our toolchain guys have been pushing us to do that for years,
> because it should make things run faster, but first we'll have to stop
> using ld -r to combine objects in subdirectories.
How granular are you planning to make that? I mean, we are talking about
3 objects here - init/main.o, kernel/kthread.o and kernel/kmod.o. Do they
get TOC separate from that of arch/powerpc/kernel/entry_64.o?
Anyway, if ppc folks can live with that stuff in its current form for now,
here's the second signal.git pull request. Stuff in there: kernel_thread/
kernel_execve/sys_execve conversions for several more architectures plus
assorted signal fixes and cleanups. There'll be more (in particular, real
fixes for alpha do_notify_resume() irq mess)... Linus, could you pull that
queue? It's in the usual place -
git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal for-linus
Shortlog:
Al Viro (38):
powerpc: split ret_from_fork
powerpc: switch to generic sys_execve()/kernel_execve()
m68k: split ret_from_fork(), simplify kernel_thread()
m68k: switch to generic sys_execve()/kernel_execve()
frv: split ret_from_fork, simplify kernel_thread() a lot
frv: switch to generic sys_execve()
frv: switch to generic kernel_execve
frv: switch to generic kernel_thread()
mn10300: split ret_from_fork, simplify kernel_thread()
mn10300: switch to generic sys_execve()
mn10300: switch to generic kernel_execve()
mn10300: convert to generic kernel_thread()
c6x: switch to generic kernel_thread()
xtensa: can't get to do_notify_resume() when user_mode(regs) is not true
mn10300: get rid of calling do_notify_resume() when returning to kernel mode
score: fix bogus restarts on sigreturn()
ia64: can't reach do_signal() when returning to kernel mode
mips: prevent hitting do_notify_resume() with !user_mode(regs)
mips: unobfuscate _TIF..._MASK
mips: merge the identical "return from syscall" per-ABI code
mips: NOTIFY_RESUME is not needed in TIF masks
unicore32: unobfuscate _TIF_WORK_MASK
bury _TIF_RESTORE_SIGMASK
sanitize tsk_is_polling()
bury the rest of TIF_IRET
parisc: fix double restarts
parisc: don't bother looping in do_signal()
parisc: decide whether to go to slow path (tracesys) based on thread flags
h8300: trim _TIF_WORK_MASK
unicore32: remove pointless test
x86: get rid of duplicate code in case of CONFIG_VM86
frv: no need to raise SIGTRAP in setup_frame()
mn10300: don't bother with SIGTRAP in setup_frame()
microblaze: don't bother with SIGTRAP in setup_rt_frame()
tile: don't bother with SIGTRAP in setup_frame
avr32: trim masks
m32r: trim masks
alpha: don't open-code trace_report_syscall_{enter,exit}
Greg Ungerer (1):
m68k: always set stack frame format for ColdFire on thread start
Mark Salter (3):
c6x: add ret_from_kernel_thread(), simplify kernel_thread()
c6x: switch to generic kernel_execve
c6x: switch to generic sys_execve
Richard Weinberger (1):
Uninclude linux/freezer.h
Diffstat:
arch/alpha/include/asm/thread_info.h | 3 +-
arch/alpha/kernel/entry.S | 13 ++--
arch/alpha/kernel/ptrace.c | 32 ++++-----
arch/arm/include/asm/thread_info.h | 2 -
arch/arm/kernel/signal.c | 1 -
arch/avr32/include/asm/thread_info.h | 18 ++---
arch/avr32/kernel/signal.c | 1 -
arch/blackfin/include/asm/thread_info.h | 4 -
arch/blackfin/kernel/signal.c | 1 -
arch/c6x/Kconfig | 1 +
arch/c6x/include/asm/processor.h | 2 -
arch/c6x/include/asm/syscalls.h | 5 --
arch/c6x/include/asm/thread_info.h | 1 -
arch/c6x/include/asm/unistd.h | 3 +
arch/c6x/kernel/asm-offsets.c | 1 -
arch/c6x/kernel/entry.S | 56 +++++++--------
arch/c6x/kernel/process.c | 72 +++-----------------
arch/cris/include/asm/thread_info.h | 3 -
arch/frv/Kconfig | 1 +
arch/frv/include/asm/processor.h | 9 +--
arch/frv/include/asm/ptrace.h | 1 +
arch/frv/include/asm/thread_info.h | 3 -
arch/frv/include/asm/unistd.h | 2 +
arch/frv/kernel/Makefile | 4 +-
arch/frv/kernel/entry.S | 13 ++++
arch/frv/kernel/frv_ksyms.c | 1 -
arch/frv/kernel/kernel_execve.S | 33 ---------
arch/frv/kernel/kernel_thread.S | 77 ---------------------
arch/frv/kernel/process.c | 66 ++++++------------
arch/frv/kernel/signal.c | 9 ---
arch/h8300/include/asm/thread_info.h | 7 +--
arch/h8300/kernel/signal.c | 1 -
arch/hexagon/include/asm/thread_info.h | 5 --
arch/hexagon/kernel/signal.c | 1 -
arch/ia64/include/asm/thread_info.h | 2 -
arch/ia64/kernel/signal.c | 8 --
arch/m32r/include/asm/thread_info.h | 9 +--
arch/m32r/kernel/signal.c | 3 -
arch/m68k/Kconfig | 1 +
arch/m68k/include/asm/processor.h | 25 +++----
arch/m68k/include/asm/ptrace.h | 2 +
arch/m68k/include/asm/unistd.h | 2 +
arch/m68k/kernel/entry.S | 16 +++++
arch/m68k/kernel/process.c | 104 +++++++----------------------
arch/m68k/kernel/sys_m68k.c | 17 -----
arch/microblaze/include/asm/thread_info.h | 3 +-
arch/microblaze/kernel/signal.c | 7 +--
arch/mips/include/asm/thread_info.h | 9 +--
arch/mips/kernel/entry.S | 15 +++-
arch/mips/kernel/scall32-o32.S | 13 +---
arch/mips/kernel/scall64-64.S | 13 +---
arch/mips/kernel/scall64-n32.S | 13 +---
arch/mips/kernel/scall64-o32.S | 13 +---
arch/mips/kernel/signal.c | 8 --
arch/mn10300/Kconfig | 1 +
arch/mn10300/include/asm/frame.inc | 2 +-
arch/mn10300/include/asm/processor.h | 18 +----
arch/mn10300/include/asm/ptrace.h | 1 +
arch/mn10300/include/asm/thread_info.h | 3 +-
arch/mn10300/include/asm/unistd.h | 2 +
arch/mn10300/kernel/Makefile | 4 +-
arch/mn10300/kernel/entry.S | 18 +++++
arch/mn10300/kernel/internal.h | 6 +--
arch/mn10300/kernel/kernel_execve.S | 37 ----------
arch/mn10300/kernel/kthread.S | 31 ---------
arch/mn10300/kernel/process.c | 91 ++++++-------------------
arch/mn10300/kernel/signal.c | 13 ----
arch/openrisc/include/asm/thread_info.h | 3 +-
arch/parisc/hpux/gate.S | 2 +-
arch/parisc/include/asm/thread_info.h | 5 +-
arch/parisc/kernel/signal.c | 45 ++++--------
arch/parisc/kernel/syscall.S | 9 ++-
arch/powerpc/Kconfig | 1 +
arch/powerpc/include/asm/processor.h | 3 -
arch/powerpc/include/asm/ptrace.h | 2 +
arch/powerpc/include/asm/syscalls.h | 3 -
arch/powerpc/include/asm/thread_info.h | 2 +
arch/powerpc/include/asm/unistd.h | 2 +
arch/powerpc/kernel/entry_32.S | 16 +++++
arch/powerpc/kernel/entry_64.S | 16 +++++
arch/powerpc/kernel/misc.S | 7 --
arch/powerpc/kernel/misc_32.S | 33 ---------
arch/powerpc/kernel/misc_64.S | 34 ---------
arch/powerpc/kernel/ppc_ksyms.c | 1 -
arch/powerpc/kernel/process.c | 59 ++++++++---------
arch/powerpc/kernel/signal_32.c | 1 -
arch/powerpc/kernel/sys_ppc32.c | 22 ------
arch/s390/include/asm/thread_info.h | 4 -
arch/score/include/asm/thread_info.h | 4 -
arch/score/kernel/signal.c | 1 +
arch/sh/include/asm/thread_info.h | 3 +
arch/sh/kernel/signal_32.c | 1 -
arch/sh/kernel/signal_64.c | 1 -
arch/sparc/include/asm/thread_info_32.h | 3 +-
arch/sparc/include/asm/thread_info_64.h | 3 +
arch/tile/kernel/compat_signal.c | 9 ---
arch/tile/kernel/signal.c | 12 +---
arch/um/include/asm/thread_info.h | 3 -
arch/unicore32/include/asm/thread_info.h | 4 +-
arch/unicore32/kernel/entry.S | 2 -
arch/unicore32/kernel/signal.c | 1 -
arch/x86/kernel/entry_32.S | 17 ++---
arch/xtensa/include/asm/thread_info.h | 5 --
arch/xtensa/kernel/signal.c | 4 -
kernel/sched/core.c | 2 +-
105 files changed, 363 insertions(+), 944 deletions(-)
delete mode 100644 arch/frv/kernel/kernel_execve.S
delete mode 100644 arch/frv/kernel/kernel_thread.S
delete mode 100644 arch/mn10300/kernel/kernel_execve.S
delete mode 100644 arch/mn10300/kernel/kthread.S
next prev parent reply other threads:[~2012-10-12 1:10 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-01 21:38 [RFC][CFT][CFReview] execve and kernel_thread unification work Al Viro
2012-10-05 16:07 ` Catalin Marinas
2012-10-06 16:19 ` Al Viro
2012-10-09 19:48 ` Chris Metcalf
2012-10-09 19:48 ` Chris Metcalf
2012-10-10 4:51 ` Al Viro
2012-10-11 9:00 ` Paul Mackerras
2012-10-11 12:53 ` Al Viro
2012-10-12 0:16 ` Paul Mackerras
2012-10-12 1:09 ` Al Viro [this message]
2012-10-12 5:32 ` [git pull] signal.git, pile 2 (was Re: [RFC][CFT][CFReview] execve and kernel_thread unification work) Paul Mackerras
2012-10-12 7:55 ` Benjamin Herrenschmidt
2012-10-15 1:30 ` [RFC][CFT][CFReview] execve and kernel_thread unification work Al Viro
2012-10-17 6:16 ` Greg Ungerer
2012-10-17 6:16 ` Greg Ungerer
2012-10-17 14:02 ` Catalin Marinas
2012-10-17 16:34 ` Al Viro
2012-10-17 16:40 ` 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=20121012010958.GG2616@ZenIV.linux.org.uk \
--to=viro@zeniv.linux.org.uk \
--cc=benh@kernel.crashing.org \
--cc=davem@davemloft.net \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=paulus@samba.org \
--cc=torvalds@linux-foundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.