All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] THREAD_INFO_IN_TASK prep work for arm64+s390
@ 2016-10-19 18:28 Mark Rutland
  2016-10-19 18:28 ` [PATCH 1/3] sched/core,x86: make struct thread_info arch specific again Mark Rutland
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: Mark Rutland @ 2016-10-19 18:28 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-arch, akpm, heiko.carstens, hpa, keescook, luto,
	mark.rutland, mingo, tglx

Hi all,

Heiko and I have been working on THREAD_INFO_IN_TASK for s390 and arm64
respectively, and we're both targetting v4.10.

These are the common core changes which we both require, which happen to
touch x86 and some core headers. We'd either need these merged for
v4.9-rc*, or placed on a stable branch/tag that we can both base atop
of.

I've put together a branch [1,2] based on v4.9-rc1, but the patches themselves
are sorely lacking in relevant acks. Are people willing to help change that? ;)

Thanks,
Mark.

[1] git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git core/ti-stack-split
[2] https://git.kernel.org/cgit/linux/kernel/git/mark/linux.git/log/?h=core/ti-stack-split

Heiko Carstens (1):
  sched/core,x86: make struct thread_info arch specific again

Mark Rutland (2):
  thread_info: factor out restart_block
  thread_info: include <current.h> for THREAD_INFO_IN_TASK

 arch/x86/include/asm/thread_info.h |  9 +++++++
 include/linux/restart_block.h      | 51 ++++++++++++++++++++++++++++++++++++
 include/linux/thread_info.h        | 53 ++------------------------------------
 3 files changed, 62 insertions(+), 51 deletions(-)
 create mode 100644 include/linux/restart_block.h

-- 
1.9.1

^ permalink raw reply	[flat|nested] 18+ messages in thread
* [PATCH 0/3] THREAD_INFO_IN_TASK_STRUCT vs generic preemption code
@ 2016-10-13 11:57 Heiko Carstens
  2016-10-13 11:57 ` [PATCH 1/3] sched/core,x86: make struct thread_info arch specific again Heiko Carstens
  0 siblings, 1 reply; 18+ messages in thread
From: Heiko Carstens @ 2016-10-13 11:57 UTC (permalink / raw)
  To: Andy Lutomirski, Peter Zijlstra, Linus Torvalds, Ingo Molnar,
	H . Peter Anvin
  Cc: Mark Rutland, linux-arch, linux-kernel, Martin Schwidefsky

Commit c65eacbe290b ("sched/core: Allow putting thread_info into
task_struct") made struct thread_info a generic struct with only a
single flags member if THREAD_INFO_IN_TASK_STRUCT is selected.

This change however seems to be quite x86 centric, since at least the
generic preemption code (asm-generic/preempt.h) assumes that struct
thread_info also has a preempt_count member, which apparently was not
true for x86.

We could add a bit more ifdefs to solve this problem too, but it seems
to be much simpler to make struct thread_info arch specific
again. This also makes the conversion to THREAD_INFO_IN_TASK_STRUCT a
bit easier for architectures that have a couple of arch specific stuff
in their thread_info definition.

The arch specific stuff _could_ be moved to thread_struct. However
keeping them in thread_info makes it easier: accessing thread_info
members is simple, since it is at the beginning of the task_struct,
while the thread_struct is at the end. At least on s390 the offsets
needed to access members of the thread_struct (with task_struct as
base) are too large for various asm instructions.  This is not a
problem when keeping these members within thread_info.

The above is actually the same as the description of the first
patch. The second patch is a simple compile fix and the third one the
s390 conversion to THREAD_INFO_IN_TASK_STRUCT.

Heiko Carstens (3):
  sched/core,x86: make struct thread_info arch specific again
  sched/preempt: include asm/current.h
  s390: move thread_info into task_struct

 arch/s390/Kconfig                   |  1 +
 arch/s390/include/asm/lowcore.h     |  2 +-
 arch/s390/include/asm/thread_info.h | 11 --------
 arch/s390/kernel/asm-offsets.c      | 17 +++++--------
 arch/s390/kernel/entry.S            | 51 ++++++++++++++++++-------------------
 arch/s390/kernel/head64.S           |  5 ++--
 arch/s390/kernel/setup.c            |  3 +--
 arch/s390/kernel/smp.c              |  1 -
 arch/x86/include/asm/thread_info.h  |  9 +++++++
 include/asm-generic/preempt.h       |  1 +
 include/linux/thread_info.h         | 11 --------
 11 files changed, 47 insertions(+), 65 deletions(-)

-- 
2.8.4

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2016-10-28 10:48 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-19 18:28 [PATCH 0/3] THREAD_INFO_IN_TASK prep work for arm64+s390 Mark Rutland
2016-10-19 18:28 ` [PATCH 1/3] sched/core,x86: make struct thread_info arch specific again Mark Rutland
2016-10-19 23:19   ` Andy Lutomirski
2016-10-20  6:40     ` Ingo Molnar
2016-10-20  9:33       ` Mark Rutland
2016-10-21  5:50   ` [tip:x86/urgent] sched/core, x86: Make " tip-bot for Heiko Carstens
2016-10-19 18:28 ` [PATCH 2/3] thread_info: factor out restart_block Mark Rutland
2016-10-19 23:31   ` Andy Lutomirski
2016-10-24  9:45     ` Mark Rutland
2016-10-19 18:28 ` [PATCH 3/3] thread_info: include <current.h> for THREAD_INFO_IN_TASK Mark Rutland
2016-10-20 10:29   ` Heiko Carstens
2016-10-24  9:49     ` Mark Rutland
2016-10-27 23:13   ` Andy Lutomirski
2016-10-28 10:48     ` Mark Rutland
2016-10-24 10:12 ` [PATCH 0/3] THREAD_INFO_IN_TASK prep work for arm64+s390 Mark Rutland
  -- strict thread matches above, loose matches on Subject: below --
2016-10-13 11:57 [PATCH 0/3] THREAD_INFO_IN_TASK_STRUCT vs generic preemption code Heiko Carstens
2016-10-13 11:57 ` [PATCH 1/3] sched/core,x86: make struct thread_info arch specific again Heiko Carstens
2016-10-13 23:41   ` Mark Rutland
2016-10-13 23:51     ` Andy Lutomirski

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.