From: Ingo Molnar <mingo@elte.hu>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: Huang Weiyi <weiyi.huang@gmail.com>,
mingo@redhat.com, hpa@zytor.com, x86@kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/8] x86: remove dupilcated #include
Date: Wed, 8 Apr 2009 16:12:28 +0200 [thread overview]
Message-ID: <20090408141228.GD12931@elte.hu> (raw)
In-Reply-To: <20090408135803.GA21624@uranus.ravnborg.org>
* Sam Ravnborg <sam@ravnborg.org> wrote:
> On Wed, Apr 08, 2009 at 02:21:21PM +0200, Ingo Molnar wrote:
> >
> > * Huang Weiyi <weiyi.huang@gmail.com> wrote:
> >
> > > Remove dupilcated #include in arch/x86/kernel/dumpstack.c.
> > >
> > > Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
> > > ---
> > > arch/x86/kernel/dumpstack.c | 1 -
> > > 1 files changed, 0 insertions(+), 1 deletions(-)
> > >
> > > diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
> > > index 95ea5fa..6d7966d 100644
> > > --- a/arch/x86/kernel/dumpstack.c
> > > +++ b/arch/x86/kernel/dumpstack.c
> > > @@ -15,7 +15,6 @@
> > > #include <linux/bug.h>
> > > #include <linux/nmi.h>
> > > #include <linux/sysfs.h>
> > > -#include <linux/ftrace.h>
> > >
> > > #include <asm/stacktrace.h>
> >
> > Many of those include lines are probably unnecessary. Instead of
> > these trivial patches causing churn, would you be interested in
> > doing a comprehensive search to eliminate all the unused ones?
> > That would be a real step forward. (and this holds for your
> > other patches in this series too.)
> >
> > The include files section of fault.c might be a good template to
> > use:
> >
> > #include <linux/magic.h> /* STACK_END_MAGIC */
> > #include <linux/sched.h> /* test_thread_flag(), ... */
> > #include <linux/kdebug.h> /* oops_begin/end, ... */
> > #include <linux/module.h> /* search_exception_table */
> > #include <linux/bootmem.h> /* max_low_pfn */
> > #include <linux/kprobes.h> /* __kprobes, ... */
> > #include <linux/mmiotrace.h> /* kmmio_handler, ... */
> > #include <linux/perf_counter.h> /* perf_swcounter_*(), ... */
> >
> > #include <asm/traps.h> /* dotraplinkage, ... */
> > #include <asm/pgalloc.h> /* pgd_*(), ... */
> > #include <asm/kmemcheck.h> /* kmemcheck_*(), ... */
> >
> > I was able to eliminate half of all include file lines there.
>
> I assume you are aware that when you minimize the # of include
> file in the various .c files, then you implicitly add dependency
> on the includes the individual .h files have.
Yes. Look at the commit -tip that does the above change (also
attached below):
a2bcd47: x86/mm: further cleanups of fault.c's include file section
that commit uncovered a masked-until-then dependency bug in one of
the x86 include files.
More automation to discover include file dependency bugs would be
nice though, it's hard to get these things right and it all needs a
strong testing infrastructure.
Ingo
----------------->
>From a2bcd4731f77cb77ae4b5e4a3d7f5471cf346c33 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu>
Date: Sun, 29 Mar 2009 23:47:48 +0200
Subject: [PATCH] x86/mm: further cleanups of fault.c's include file section
Impact: cleanup
Eliminate more than 20 unnecessary #include lines in fault.c
Also fix include file dependency bug in asm/traps.h. (this was
masked before, by implicit inclusion)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
LKML-Reference: <tip-56aea8468746e673a4bf50b6a13d97b2d1cbe1e8@git.kernel.org>
Acked-by: H. Peter Anvin <hpa@linux.intel.com>
---
arch/x86/include/asm/traps.h | 1 +
arch/x86/mm/fault.c | 42 +++++++++---------------------------------
2 files changed, 10 insertions(+), 33 deletions(-)
diff --git a/arch/x86/include/asm/traps.h b/arch/x86/include/asm/traps.h
index 0d53425..37fb07a 100644
--- a/arch/x86/include/asm/traps.h
+++ b/arch/x86/include/asm/traps.h
@@ -2,6 +2,7 @@
#define _ASM_X86_TRAPS_H
#include <asm/debugreg.h>
+#include <asm/siginfo.h> /* TRAP_TRACE, ... */
#ifdef CONFIG_X86_32
#define dotraplinkage
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index a03b727..24a36a6 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -3,40 +3,16 @@
* Copyright (C) 2001, 2002 Andi Kleen, SuSE Labs.
* Copyright (C) 2008-2009, Red Hat Inc., Ingo Molnar
*/
-#include <linux/interrupt.h>
-#include <linux/mmiotrace.h>
-#include <linux/bootmem.h>
-#include <linux/compiler.h>
-#include <linux/highmem.h>
-#include <linux/kprobes.h>
-#include <linux/uaccess.h>
-#include <linux/vmalloc.h>
-#include <linux/vt_kern.h>
-#include <linux/signal.h>
-#include <linux/kernel.h>
-#include <linux/ptrace.h>
-#include <linux/string.h>
-#include <linux/module.h>
-#include <linux/kdebug.h>
-#include <linux/errno.h>
-#include <linux/magic.h>
-#include <linux/sched.h>
-#include <linux/types.h>
-#include <linux/init.h>
-#include <linux/mman.h>
-#include <linux/tty.h>
-#include <linux/smp.h>
-#include <linux/mm.h>
-
-#include <asm-generic/sections.h>
-
-#include <asm/tlbflush.h>
-#include <asm/pgalloc.h>
-#include <asm/segment.h>
-#include <asm/system.h>
-#include <asm/proto.h>
-#include <asm/traps.h>
-#include <asm/desc.h>
+#include <linux/magic.h> /* STACK_END_MAGIC */
+#include <linux/sched.h> /* test_thread_flag(), ... */
+#include <linux/kdebug.h> /* oops_begin/end, ... */
+#include <linux/module.h> /* search_exception_table */
+#include <linux/bootmem.h> /* max_low_pfn */
+#include <linux/kprobes.h> /* __kprobes, ... */
+#include <linux/mmiotrace.h> /* kmmio_handler, ... */
+
+#include <asm/traps.h> /* dotraplinkage, ... */
+#include <asm/pgalloc.h> /* pgd_*(), ... */
/*
* Page fault error code bits:
next prev parent reply other threads:[~2009-04-08 14:17 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-06 9:20 [PATCH 4/8] x86: remove dupilcated #include Huang Weiyi
2009-04-08 12:21 ` Ingo Molnar
2009-04-08 13:58 ` Sam Ravnborg
2009-04-08 14:12 ` Ingo Molnar [this message]
2009-04-08 18:43 ` Sam Ravnborg
2009-04-09 4:30 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090408141228.GD12931@elte.hu \
--to=mingo@elte.hu \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=sam@ravnborg.org \
--cc=weiyi.huang@gmail.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox