[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140210090948.02266f38@gandalf.local.home>
Date: Mon, 10 Feb 2014 09:09:48 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Dongsheng Yang <yangds.fnst@...fujitsu.com>
Cc: Namhyung Kim <namhyung@...nel.org>, linux-kernel@...r.kernel.org,
peterz@...radead.org, raistlin@...ux.it, juri.lelli@...il.com,
clark.williams@...il.com, mingo@...hat.com
Subject: Re: [PATCH 1/3] sched: Move the priority specific bits into a new
header file.
On Mon, 10 Feb 2014 10:56:34 +0800
Dongsheng Yang <yangds.fnst@...fujitsu.com> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists