linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  reply	other threads:[~2012-10-12  1:10 UTC|newest]

Thread overview: 16+ 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-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 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 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).