summaryrefslogtreecommitdiffstats
path: root/runtime/autoconf-oneachcpu-retry.c
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/autoconf-oneachcpu-retry.c')
-rw-r--r--runtime/autoconf-oneachcpu-retry.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/runtime/autoconf-oneachcpu-retry.c b/runtime/autoconf-oneachcpu-retry.c
index d4745a48..3564eb2c 100644
--- a/runtime/autoconf-oneachcpu-retry.c
+++ b/runtime/autoconf-oneachcpu-retry.c
@@ -1,5 +1,21 @@
-#include <linux/stddef.h>
-#include <linux/irqflags.h>
+/*
+ * PRs 6923 and 6967:
+ * #include <linux/smp.h> should be sufficient, but there are some
+ * problems with #include hygiene in this area:
+ * i386, recent kernels: linux/smp.h needs linux/irqflags.h.
+ * s390, RHEL5.2: linux/irqflags.h needs asm/system.h (and
+ * linux/kernel.h, which asm/system.h includes).
+ *
+ * #include <linux/kernel.h> is probably redundant here, since
+ * everybody's <asm/system.h> seems to include it, but nobody
+ * seems to #include <asm/system.h> without <linux/kernel.h> first.
+ *
+ * <asm/system.h> includes <linux/irqflags.h> on most architectures,
+ * so we don't explicitly include it here. The exception is ia64,
+ * but <linux/smp.h> alone seemed to be sufficient for ia64 here.
+ */
+#include <linux/kernel.h>
+#include <asm/system.h>
#include <linux/smp.h>
static void no_op(void *arg)