All of lore.kernel.org
 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: 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.