It seems that linux/preempt.h needs to include linux/thread_info.h in order to access current_thread_info(), which is used in preempt_count().
I guess that all callers of preempt_count() must include both linux/thread_info.h and linux/preempt.h directly or indirectly, as this does not cause a compile error. I noticed the problem while working on an unrelated issue in xen-land. Signed-off-by: Simon Horman <[EMAIL PROTECTED]> Index: linux-2.6/include/linux/preempt.h =================================================================== --- linux-2.6.orig/include/linux/preempt.h 2006-12-27 16:58:46.000000000 +0900 +++ linux-2.6/include/linux/preempt.h 2006-12-27 17:13:12.000000000 +0900 @@ -8,6 +8,7 @@ #include <linux/thread_info.h> #include <linux/linkage.h> +#include <linux/thread_info.h> #ifdef CONFIG_DEBUG_PREEMPT extern void fastcall add_preempt_count(int val); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/