Revision c8061485a0d7569a865a3cc3c63347b0f42b3765 authored by Heiko Carstens on 19 October 2016, 18:28:11 UTC, committed by Ingo Molnar on 20 October 2016, 11:27:47 UTC
The following 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 CONFIG_THREAD_INFO_IN_TASK_STRUCT=y 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. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Thomas Gleixner <tglx@linutronix.de> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andy Lutomirski <luto@kernel.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: keescook@chromium.org Cc: linux-arch@vger.kernel.org Link: http://lkml.kernel.org/r/1476901693-8492-2-git-send-email-mark.rutland@arm.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
1 parent ed1e7db
File | Mode | Size |
---|---|---|
ircomm | ||
irlan | ||
irnet | ||
Kconfig | -rw-r--r-- | 3.3 KB |
Makefile | -rw-r--r-- | 503 bytes |
af_irda.c | -rw-r--r-- | 66.4 KB |
discovery.c | -rw-r--r-- | 12.4 KB |
irda_device.c | -rw-r--r-- | 7.9 KB |
iriap.c | -rw-r--r-- | 25.9 KB |
iriap_event.c | -rw-r--r-- | 12.2 KB |
irias_object.c | -rw-r--r-- | 13.2 KB |
irlap.c | -rw-r--r-- | 33.1 KB |
irlap_event.c | -rw-r--r-- | 64.3 KB |
irlap_frame.c | -rw-r--r-- | 35.5 KB |
irlmp.c | -rw-r--r-- | 53.4 KB |
irlmp_event.c | -rw-r--r-- | 25.3 KB |
irlmp_frame.c | -rw-r--r-- | 13.7 KB |
irmod.c | -rw-r--r-- | 5.1 KB |
irnetlink.c | -rw-r--r-- | 3.2 KB |
irproc.c | -rw-r--r-- | 2.5 KB |
irqueue.c | -rw-r--r-- | 22.5 KB |
irsysctl.c | -rw-r--r-- | 6.9 KB |
irttp.c | -rw-r--r-- | 50.1 KB |
parameters.c | -rw-r--r-- | 15.3 KB |
qos.c | -rw-r--r-- | 22.2 KB |
timer.c | -rw-r--r-- | 6.3 KB |
wrapper.c | -rw-r--r-- | 13.0 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...