• Frederic Weisbecker's avatar
    sched/preempt: Merge preempt_mask.h into preempt.h · 92cf2118
    Frederic Weisbecker authored
    preempt_mask.h defines all the preempt_count semantics and related
    symbols: preempt, softirq, hardirq, nmi, preempt active, need resched,
    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: 's avatarFrederic Weisbecker <fweisbec@gmail.com>
    Signed-off-by: 's avatarPeter 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.comSigned-off-by: 's avatarIngo Molnar <mingo@kernel.org>
bottom_half.h 764 Bytes