]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit - include/linux/sched.h
sched/preempt: Merge preempt_mask.h into preempt.h
authorFrederic Weisbecker <fweisbec@gmail.com>
Tue, 12 May 2015 14:41:46 +0000 (16:41 +0200)
committerIngo Molnar <mingo@kernel.org>
Tue, 19 May 2015 06:39:11 +0000 (08:39 +0200)
commit92cf211874e954027b8e91cc9a15485a50b58d6b
tree1f652ca09358c282384f91c90baaa1bd62e24fae
parenta22ae718067c233af790b8690b3d8f6190859ead
sched/preempt: Merge preempt_mask.h into preempt.h

preempt_mask.h defines all the preempt_count semantics and related
symbols: preempt, softirq, hardirq, nmi, preempt active, need resched,
etc...

preempt.h defines the accessors and mutators of preempt_count.

But there is a messy dependency game around those two header files:

* preempt_mask.h includes preempt.h in order to access preempt_count()

* preempt_mask.h defines all preempt_count semantic and symbols
  except PREEMPT_NEED_RESCHED that is needed by asm/preempt.h
  Thus we need to define it from preempt.h, right before including
  asm/preempt.h, instead of defining it to preempt_mask.h with the
  other preempt_count symbols. Therefore the preempt_count semantics
  happen to be spread out.

* We plan to introduce preempt_active_[enter,exit]() to consolidate
  preempt_schedule*() code. But we'll need to access both preempt_count
  mutators (preempt_count_add()) and preempt_count symbols
  (PREEMPT_ACTIVE, PREEMPT_OFFSET). The usual place to define preempt
  operations is in preempt.h but then we'll need symbols in
  preempt_mask.h which already includes preempt.h. So we end up with
  a ressource circle dependency.

Lets merge preempt_mask.h into preempt.h to solve these dependency issues.
This way we gather semantic symbols and operation definition of
preempt_count in a single file.

This is a dumb copy-paste merge. Further merge re-arrangments are
performed in a subsequent patch to ease review.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1431441711-29753-2-git-send-email-fweisbec@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/m68k/include/asm/irqflags.h
include/linux/bottom_half.h
include/linux/hardirq.h
include/linux/preempt.h
include/linux/preempt_mask.h [deleted file]
include/linux/sched.h
lib/radix-tree.c