Re: [PATCH 1/3] sched: Move the priority specific bits into a newheader file.

From: Steven Rostedt
Date: Mon Feb 10 2014 - 09:10:01 EST


On Mon, 10 Feb 2014 10:56:34 +0800
Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> wrote:

> >> diff --git a/include/linux/sched.h b/include/linux/sched.h
> >> index 68a0e84..ba1b732 100644
> >> --- a/include/linux/sched.h
> >> +++ b/include/linux/sched.h
> >> @@ -3,6 +3,10 @@
> >>
> >> #include <uapi/linux/sched.h>
> >>
> >> +#ifndef _SCHED_PRIO_H
> >> +#include <linux/sched/prio.h>
> >> +#endif /* #ifndef _SCHED_PRIO_H */
> > It seems you don't need to use #ifndef-#endif pair to include a header
> > file?
>
> Sorry for the late reply, coming back from vacation for Chinese Spring
> Festival.
>
> The reason I use #ifndef-#endif here is that there are lots of files,
> such as kernel/sched/sched.h, are including <linux/sched.h> and
> <linux/sched/rt.h>. And both of them are including prio.h.
>
> I am not sure should we avoid reincluding a file and how.
>
> Could you help to give me some suggestion of it. Thanx :)


That's why you have:

+++ b/include/linux/sched/prio.h
@@ -0,0 +1,23 @@
+#ifndef _SCHED_PRIO_H
+#define _SCHED_PRIO_H

The first time a header gets included, it checks if _SCHED_PRIO_H is
defined, if not, it defines it and continues. Otherwise it skips the
content of the file.

This is so standard practice that CPP (C Pre-Processor) optimizes this
by checking if this exists and caches it. It wont even open the file
the second time it sees it included.

-- Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/