diff options
| author | 2013-07-02 09:01:31 -0700 | |
|---|---|---|
| committer | 2013-07-02 09:01:31 -0700 | |
| commit | 27eb2c4b3d3e13f376a359e293c212a2e9407af5 (patch) | |
| tree | 556aa7b5cd6eeb4214dec129c789515157187010 /include/linux/preempt.h | |
| parent | Input: tps6507x-ts - convert to polled input device infrastructure (diff) | |
| parent | Input: cyttsp4 - SPI driver for Cypress TMA4XX touchscreen devices (diff) | |
| download | linux-dev-27eb2c4b3d3e13f376a359e293c212a2e9407af5.tar.xz linux-dev-27eb2c4b3d3e13f376a359e293c212a2e9407af5.zip | |
Merge branch 'next' into for-linus
Prepare first set of updates for 3.11 merge window.
Diffstat (limited to 'include/linux/preempt.h')
| -rw-r--r-- | include/linux/preempt.h | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/include/linux/preempt.h b/include/linux/preempt.h index 5a710b9c578e..87a03c746f17 100644 --- a/include/linux/preempt.h +++ b/include/linux/preempt.h @@ -93,14 +93,20 @@ do { \ #else /* !CONFIG_PREEMPT_COUNT */ -#define preempt_disable() do { } while (0) -#define sched_preempt_enable_no_resched() do { } while (0) -#define preempt_enable_no_resched() do { } while (0) -#define preempt_enable() do { } while (0) - -#define preempt_disable_notrace() do { } while (0) -#define preempt_enable_no_resched_notrace() do { } while (0) -#define preempt_enable_notrace() do { } while (0) +/* + * Even if we don't have any preemption, we need preempt disable/enable + * to be barriers, so that we don't have things like get_user/put_user + * that can cause faults and scheduling migrate into our preempt-protected + * region. + */ +#define preempt_disable() barrier() +#define sched_preempt_enable_no_resched() barrier() +#define preempt_enable_no_resched() barrier() +#define preempt_enable() barrier() + +#define preempt_disable_notrace() barrier() +#define preempt_enable_no_resched_notrace() barrier() +#define preempt_enable_notrace() barrier() #endif /* CONFIG_PREEMPT_COUNT */ |
