preempt: fix kernel build with !CONFIG_BKL
The preempt count logic tries to take the BKL into account, which breaks when CONFIG_BKL is not set. Use the same preempt_count offset that we use without CONFIG_PREEMPT when CONFIG_BKL is disabled. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reported-and-tested-by: Kirill A. Shutemov <kirill@shutemov.name> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
020e773f6b
commit
7fe19da4ca
@ -96,11 +96,15 @@
|
|||||||
*/
|
*/
|
||||||
#define in_nmi() (preempt_count() & NMI_MASK)
|
#define in_nmi() (preempt_count() & NMI_MASK)
|
||||||
|
|
||||||
#if defined(CONFIG_PREEMPT)
|
#if defined(CONFIG_PREEMPT) && defined(CONFIG_BKL)
|
||||||
# define PREEMPT_INATOMIC_BASE kernel_locked()
|
# define PREEMPT_INATOMIC_BASE kernel_locked()
|
||||||
# define PREEMPT_CHECK_OFFSET 1
|
|
||||||
#else
|
#else
|
||||||
# define PREEMPT_INATOMIC_BASE 0
|
# define PREEMPT_INATOMIC_BASE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_PREEMPT)
|
||||||
|
# define PREEMPT_CHECK_OFFSET 1
|
||||||
|
#else
|
||||||
# define PREEMPT_CHECK_OFFSET 0
|
# define PREEMPT_CHECK_OFFSET 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user