diff options
| author | Benjamin LaHaise <bcrl@toomuch.toronto.redhat.com> | 2002-08-21 10:32:55 -0400 |
|---|---|---|
| committer | Benjamin LaHaise <bcrl@toomuch.toronto.redhat.com> | 2002-08-21 10:32:55 -0400 |
| commit | 555dbefdfe6bfa613ebf59852ba82872dcc44233 (patch) | |
| tree | 2ccbed4f787cccc6d93d41e0dca9bfda426b93a1 /include/linux/preempt.h | |
| parent | ea5097be4e814a2a9457e60653052306295941e8 (diff) | |
| parent | d17e9bb6daa227e88f596fd0918e3af20e423261 (diff) | |
Merge toomuch.toronto.redhat.com:/md0/linux-2.5
into toomuch.toronto.redhat.com:/md0/net-aio/bk/aio-2.5
Diffstat (limited to 'include/linux/preempt.h')
| -rw-r--r-- | include/linux/preempt.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/include/linux/preempt.h b/include/linux/preempt.h index 3864d46eadba..b4ff1a7c881c 100644 --- a/include/linux/preempt.h +++ b/include/linux/preempt.h @@ -1,9 +1,14 @@ #ifndef __LINUX_PREEMPT_H #define __LINUX_PREEMPT_H +/* + * include/linux/preempt.h - macros for accessing and manipulating + * preempt_count (used for kernel preemption, interrupt count, etc.) + */ + #include <linux/config.h> -#define preempt_count() (current_thread_info()->preempt_count) +#define preempt_count() (current_thread_info()->preempt_count) #define inc_preempt_count() \ do { \ @@ -31,17 +36,16 @@ do { \ barrier(); \ } while (0) -#define preempt_enable() \ +#define preempt_check_resched() \ do { \ - preempt_enable_no_resched(); \ if (unlikely(test_thread_flag(TIF_NEED_RESCHED))) \ preempt_schedule(); \ } while (0) -#define preempt_check_resched() \ +#define preempt_enable() \ do { \ - if (unlikely(test_thread_flag(TIF_NEED_RESCHED))) \ - preempt_schedule(); \ + preempt_enable_no_resched(); \ + preempt_check_resched(); \ } while (0) #define inc_preempt_count_non_preempt() do { } while (0) @@ -50,7 +54,7 @@ do { \ #else #define preempt_disable() do { } while (0) -#define preempt_enable_no_resched() do {} while(0) +#define preempt_enable_no_resched() do { } while (0) #define preempt_enable() do { } while (0) #define preempt_check_resched() do { } while (0) |
