linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] trace: add the MMIO-tracer to the tracer menu
@ 2008-10-24 10:49 Peter Zijlstra
  2008-10-24 11:25 ` Ingo Molnar
  2008-10-24 11:53 ` Steven Rostedt
  0 siblings, 2 replies; 6+ messages in thread
From: Peter Zijlstra @ 2008-10-24 10:49 UTC (permalink / raw)
  To: linux-kernel; +Cc: Pekka Paalanen, Steven Rostedt

Subject: trace: add the MMIO-tracer to the tracer menu
From: Peter Zijlstra <a.p.zijlstra@chello.nl>
Date: Fri Oct 24 12:46:04 CEST 2008

Add the MMIO-tracer to the tracer menu.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
CC: Pekka Paalanen <pq@iki.fi>
---
 arch/x86/Kconfig.debug |   28 ++--------------------------
 kernel/trace/Kconfig   |   28 ++++++++++++++++++++++++++++
 2 files changed, 30 insertions(+), 26 deletions(-)

Index: linux-2.6/arch/x86/Kconfig.debug
===================================================================
--- linux-2.6.orig/arch/x86/Kconfig.debug
+++ linux-2.6/arch/x86/Kconfig.debug
@@ -175,32 +175,8 @@ config IOMMU_LEAK
 	  Add a simple leak tracer to the IOMMU code. This is useful when you
 	  are debugging a buggy device driver that leaks IOMMU mappings.
 
-config MMIOTRACE_HOOKS
-	bool
-
-config MMIOTRACE
-	bool "Memory mapped IO tracing"
-	depends on DEBUG_KERNEL && PCI
-	select TRACING
-	select MMIOTRACE_HOOKS
-	help
-	  Mmiotrace traces Memory Mapped I/O access and is meant for
-	  debugging and reverse engineering. It is called from the ioremap
-	  implementation and works via page faults. Tracing is disabled by
-	  default and can be enabled at run-time.
-
-	  See Documentation/tracers/mmiotrace.txt.
-	  If you are not helping to develop drivers, say N.
-
-config MMIOTRACE_TEST
-	tristate "Test module for mmiotrace"
-	depends on MMIOTRACE && m
-	help
-	  This is a dumb module for testing mmiotrace. It is very dangerous
-	  as it will write garbage to IO memory starting at a given address.
-	  However, it should be safe to use on e.g. unused portion of VRAM.
-
-	  Say N, unless you absolutely know what you are doing.
+config HAVE_MMIOTRACE_SUPPORT
+	def_bool y
 
 #
 # IO delay types:
Index: linux-2.6/kernel/trace/Kconfig
===================================================================
--- linux-2.6.orig/kernel/trace/Kconfig
+++ linux-2.6/kernel/trace/Kconfig
@@ -194,4 +194,32 @@ config FTRACE_STARTUP_TEST
 	  functioning properly. It will do tests on all the configured
 	  tracers of ftrace.
 
+config MMIOTRACE_HOOKS
+	bool
+
+config MMIOTRACE
+	bool "Memory mapped IO tracing"
+	depends on HAVE_MMIOTRACE_SUPPORT && DEBUG_KERNEL && PCI
+	select TRACING
+	select MMIOTRACE_HOOKS
+	help
+	  Mmiotrace traces Memory Mapped I/O access and is meant for
+	  debugging and reverse engineering. It is called from the ioremap
+	  implementation and works via page faults. Tracing is disabled by
+	  default and can be enabled at run-time.
+
+	  See Documentation/tracers/mmiotrace.txt.
+	  If you are not helping to develop drivers, say N.
+
+config MMIOTRACE_TEST
+	tristate "Test module for mmiotrace"
+	depends on MMIOTRACE && m
+	help
+	  This is a dumb module for testing mmiotrace. It is very dangerous
+	  as it will write garbage to IO memory starting at a given address.
+	  However, it should be safe to use on e.g. unused portion of VRAM.
+
+	  Say N, unless you absolutely know what you are doing.
+
+
 endmenu


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] trace: add the MMIO-tracer to the tracer menu
  2008-10-24 10:49 [PATCH] trace: add the MMIO-tracer to the tracer menu Peter Zijlstra
@ 2008-10-24 11:25 ` Ingo Molnar
  2008-10-24 11:56   ` Steven Rostedt
  2008-10-24 11:53 ` Steven Rostedt
  1 sibling, 1 reply; 6+ messages in thread
From: Ingo Molnar @ 2008-10-24 11:25 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: linux-kernel, Pekka Paalanen, Steven Rostedt


* Peter Zijlstra <peterz@infradead.org> wrote:

> Subject: trace: add the MMIO-tracer to the tracer menu
> From: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Date: Fri Oct 24 12:46:04 CEST 2008
> 
> Add the MMIO-tracer to the tracer menu.
> 
> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
> CC: Pekka Paalanen <pq@iki.fi>
> ---
>  arch/x86/Kconfig.debug |   28 ++--------------------------
>  kernel/trace/Kconfig   |   28 ++++++++++++++++++++++++++++
>  2 files changed, 30 insertions(+), 26 deletions(-)
> 
> Index: linux-2.6/arch/x86/Kconfig.debug
> ===================================================================
> --- linux-2.6.orig/arch/x86/Kconfig.debug
> +++ linux-2.6/arch/x86/Kconfig.debug
> @@ -175,32 +175,8 @@ config IOMMU_LEAK
>  	  Add a simple leak tracer to the IOMMU code. This is useful when you
>  	  are debugging a buggy device driver that leaks IOMMU mappings.
>  
> -config MMIOTRACE_HOOKS
> -	bool
> -
> -config MMIOTRACE
> -	bool "Memory mapped IO tracing"
> -	depends on DEBUG_KERNEL && PCI
> -	select TRACING
> -	select MMIOTRACE_HOOKS
> -	help
> -	  Mmiotrace traces Memory Mapped I/O access and is meant for
> -	  debugging and reverse engineering. It is called from the ioremap
> -	  implementation and works via page faults. Tracing is disabled by
> -	  default and can be enabled at run-time.
> -
> -	  See Documentation/tracers/mmiotrace.txt.
> -	  If you are not helping to develop drivers, say N.
> -
> -config MMIOTRACE_TEST
> -	tristate "Test module for mmiotrace"
> -	depends on MMIOTRACE && m
> -	help
> -	  This is a dumb module for testing mmiotrace. It is very dangerous
> -	  as it will write garbage to IO memory starting at a given address.
> -	  However, it should be safe to use on e.g. unused portion of VRAM.
> -
> -	  Say N, unless you absolutely know what you are doing.
> +config HAVE_MMIOTRACE_SUPPORT
> +	def_bool y
>  
>  #
>  # IO delay types:
> Index: linux-2.6/kernel/trace/Kconfig
> ===================================================================
> --- linux-2.6.orig/kernel/trace/Kconfig
> +++ linux-2.6/kernel/trace/Kconfig
> @@ -194,4 +194,32 @@ config FTRACE_STARTUP_TEST
>  	  functioning properly. It will do tests on all the configured
>  	  tracers of ftrace.
>  
> +config MMIOTRACE_HOOKS
> +	bool
> +
> +config MMIOTRACE
> +	bool "Memory mapped IO tracing"
> +	depends on HAVE_MMIOTRACE_SUPPORT && DEBUG_KERNEL && PCI
> +	select TRACING
> +	select MMIOTRACE_HOOKS

change makes sense, but isnt MMIOTRACE_HOOKS basically overlapping 
HAVE_MMIOTRACE_SUPPORT? So i think we could get rid of MMIOTRACE_HOOKS 
altogether and just use HAVE_MMIOTRACE_SUPPORT.

Pekka?

	Ingo

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] trace: add the MMIO-tracer to the tracer menu
  2008-10-24 10:49 [PATCH] trace: add the MMIO-tracer to the tracer menu Peter Zijlstra
  2008-10-24 11:25 ` Ingo Molnar
@ 2008-10-24 11:53 ` Steven Rostedt
  1 sibling, 0 replies; 6+ messages in thread
From: Steven Rostedt @ 2008-10-24 11:53 UTC (permalink / raw)
  To: Peter Zijlstra; +Cc: linux-kernel, Pekka Paalanen


On Fri, 24 Oct 2008, Peter Zijlstra wrote:

> Subject: trace: add the MMIO-tracer to the tracer menu
> From: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Date: Fri Oct 24 12:46:04 CEST 2008
> 
> Add the MMIO-tracer to the tracer menu.
> 
> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
> CC: Pekka Paalanen <pq@iki.fi>
> ---
>  arch/x86/Kconfig.debug |   28 ++--------------------------
>  kernel/trace/Kconfig   |   28 ++++++++++++++++++++++++++++
>  2 files changed, 30 insertions(+), 26 deletions(-)
> 
> Index: linux-2.6/arch/x86/Kconfig.debug
> ===================================================================
> --- linux-2.6.orig/arch/x86/Kconfig.debug
> +++ linux-2.6/arch/x86/Kconfig.debug
> @@ -175,32 +175,8 @@ config IOMMU_LEAK
>  	  Add a simple leak tracer to the IOMMU code. This is useful when you
>  	  are debugging a buggy device driver that leaks IOMMU mappings.
>  
> -config MMIOTRACE_HOOKS
> -	bool
> -
> -config MMIOTRACE
> -	bool "Memory mapped IO tracing"
> -	depends on DEBUG_KERNEL && PCI
> -	select TRACING
> -	select MMIOTRACE_HOOKS
> -	help
> -	  Mmiotrace traces Memory Mapped I/O access and is meant for
> -	  debugging and reverse engineering. It is called from the ioremap
> -	  implementation and works via page faults. Tracing is disabled by
> -	  default and can be enabled at run-time.
> -
> -	  See Documentation/tracers/mmiotrace.txt.
> -	  If you are not helping to develop drivers, say N.
> -
> -config MMIOTRACE_TEST
> -	tristate "Test module for mmiotrace"
> -	depends on MMIOTRACE && m
> -	help
> -	  This is a dumb module for testing mmiotrace. It is very dangerous
> -	  as it will write garbage to IO memory starting at a given address.
> -	  However, it should be safe to use on e.g. unused portion of VRAM.
> -
> -	  Say N, unless you absolutely know what you are doing.
> +config HAVE_MMIOTRACE_SUPPORT
> +	def_bool y
>  
>  #
>  # IO delay types:
> Index: linux-2.6/kernel/trace/Kconfig
> ===================================================================
> --- linux-2.6.orig/kernel/trace/Kconfig
> +++ linux-2.6/kernel/trace/Kconfig
> @@ -194,4 +194,32 @@ config FTRACE_STARTUP_TEST
>  	  functioning properly. It will do tests on all the configured
>  	  tracers of ftrace.
>  
> +config MMIOTRACE_HOOKS
> +	bool
> +
> +config MMIOTRACE
> +	bool "Memory mapped IO tracing"
> +	depends on HAVE_MMIOTRACE_SUPPORT && DEBUG_KERNEL && PCI
> +	select TRACING

Since this was taken from the x86 Kconfig, do we need to add a
"depends X86" ?

-- Steve

> +	select MMIOTRACE_HOOKS
> +	help
> +	  Mmiotrace traces Memory Mapped I/O access and is meant for
> +	  debugging and reverse engineering. It is called from the ioremap
> +	  implementation and works via page faults. Tracing is disabled by
> +	  default and can be enabled at run-time.
> +
> +	  See Documentation/tracers/mmiotrace.txt.
> +	  If you are not helping to develop drivers, say N.
> +
> +config MMIOTRACE_TEST
> +	tristate "Test module for mmiotrace"
> +	depends on MMIOTRACE && m
> +	help
> +	  This is a dumb module for testing mmiotrace. It is very dangerous
> +	  as it will write garbage to IO memory starting at a given address.
> +	  However, it should be safe to use on e.g. unused portion of VRAM.
> +
> +	  Say N, unless you absolutely know what you are doing.
> +
> +
>  endmenu
> 
> 
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] trace: add the MMIO-tracer to the tracer menu
  2008-10-24 11:25 ` Ingo Molnar
@ 2008-10-24 11:56   ` Steven Rostedt
  2008-10-24 17:08     ` Pekka Paalanen
  0 siblings, 1 reply; 6+ messages in thread
From: Steven Rostedt @ 2008-10-24 11:56 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Peter Zijlstra, linux-kernel, Pekka Paalanen


On Fri, 24 Oct 2008, Ingo Molnar wrote:
> >  #
> >  # IO delay types:
> > Index: linux-2.6/kernel/trace/Kconfig
> > ===================================================================
> > --- linux-2.6.orig/kernel/trace/Kconfig
> > +++ linux-2.6/kernel/trace/Kconfig
> > @@ -194,4 +194,32 @@ config FTRACE_STARTUP_TEST
> >  	  functioning properly. It will do tests on all the configured
> >  	  tracers of ftrace.
> >  
> > +config MMIOTRACE_HOOKS
> > +	bool
> > +
> > +config MMIOTRACE
> > +	bool "Memory mapped IO tracing"
> > +	depends on HAVE_MMIOTRACE_SUPPORT && DEBUG_KERNEL && PCI
> > +	select TRACING
> > +	select MMIOTRACE_HOOKS
> 
> change makes sense, but isnt MMIOTRACE_HOOKS basically overlapping 
> HAVE_MMIOTRACE_SUPPORT? So i think we could get rid of MMIOTRACE_HOOKS 
> altogether and just use HAVE_MMIOTRACE_SUPPORT.

And doing this will remove the need about my question on depends on X86.

-- Steve


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] trace: add the MMIO-tracer to the tracer menu
  2008-10-24 11:56   ` Steven Rostedt
@ 2008-10-24 17:08     ` Pekka Paalanen
  2008-10-27 12:02       ` Ingo Molnar
  0 siblings, 1 reply; 6+ messages in thread
From: Pekka Paalanen @ 2008-10-24 17:08 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Steven Rostedt, Peter Zijlstra, linux-kernel

On Fri, 24 Oct 2008 07:56:05 -0400 (EDT)
Steven Rostedt <rostedt@goodmis.org> wrote:

> 
> On Fri, 24 Oct 2008, Ingo Molnar wrote:
> > >  #
> > >  # IO delay types:
> > > Index: linux-2.6/kernel/trace/Kconfig
> > > ===================================================================
> > > --- linux-2.6.orig/kernel/trace/Kconfig
> > > +++ linux-2.6/kernel/trace/Kconfig
> > > @@ -194,4 +194,32 @@ config FTRACE_STARTUP_TEST
> > >  	  functioning properly. It will do tests on all the configured
> > >  	  tracers of ftrace.
> > >  
> > > +config MMIOTRACE_HOOKS
> > > +	bool
> > > +
> > > +config MMIOTRACE
> > > +	bool "Memory mapped IO tracing"
> > > +	depends on HAVE_MMIOTRACE_SUPPORT && DEBUG_KERNEL && PCI
> > > +	select TRACING
> > > +	select MMIOTRACE_HOOKS
> > 
> > change makes sense, but isnt MMIOTRACE_HOOKS basically overlapping 
> > HAVE_MMIOTRACE_SUPPORT? So i think we could get rid of MMIOTRACE_HOOKS 
> > altogether and just use HAVE_MMIOTRACE_SUPPORT.
> 
> And doing this will remove the need about my question on depends on X86.

Yes, we can remove MMIOTRACE_HOOKS and replace it with just MMIOTRACE.
MMIOTRACE_HOOKS is a remnant from the time when I thought that
something else could also use the kmmio facilities.

Here's a compile-tested patch against current Ingo's tip/master.

>From d4b97cd777c3382b784a9504281feccc9f2c4036 Mon Sep 17 00:00:00 2001
From: Pekka Paalanen <pq@iki.fi>
Date: Fri, 24 Oct 2008 18:59:56 +0300
Subject: [PATCH] mmiotrace: Remove unneeded CONFIG_MMIOTRACE_HOOKS.

Signed-off-by: Pekka Paalanen <pq@iki.fi>
---
 arch/x86/Kconfig.debug |    4 ----
 arch/x86/mm/Makefile   |    3 +--
 arch/x86/mm/fault.c    |    2 +-
 3 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index fc58b86..01649e1 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -175,14 +175,10 @@ config IOMMU_LEAK
 	  Add a simple leak tracer to the IOMMU code. This is useful when you
 	  are debugging a buggy device driver that leaks IOMMU mappings.
 
-config MMIOTRACE_HOOKS
-	bool
-
 config MMIOTRACE
 	bool "Memory mapped IO tracing"
 	depends on DEBUG_KERNEL && PCI
 	select TRACING
-	select MMIOTRACE_HOOKS
 	help
 	  Mmiotrace traces Memory Mapped I/O access and is meant for
 	  debugging and reverse engineering. It is called from the ioremap
diff --git a/arch/x86/mm/Makefile b/arch/x86/mm/Makefile
index f4edb6e..617537f 100644
--- a/arch/x86/mm/Makefile
+++ b/arch/x86/mm/Makefile
@@ -10,9 +10,8 @@ obj-$(CONFIG_HIGHMEM)		+= highmem_32.o
 
 obj-$(CONFIG_KMEMCHECK)		+= kmemcheck/
 
-obj-$(CONFIG_MMIOTRACE_HOOKS)	+= kmmio.o
 obj-$(CONFIG_MMIOTRACE)		+= mmiotrace.o
-mmiotrace-y			:= pf_in.o mmio-mod.o
+mmiotrace-y			:= kmmio.o pf_in.o mmio-mod.o
 obj-$(CONFIG_MMIOTRACE_TEST)	+= testmmiotrace.o
 
 obj-$(CONFIG_NUMA)		+= numa_$(BITS).o
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index ed9ee30..63e9f7c 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -55,7 +55,7 @@
 
 static inline int kmmio_fault(struct pt_regs *regs, unsigned long addr)
 {
-#ifdef CONFIG_MMIOTRACE_HOOKS
+#ifdef CONFIG_MMIOTRACE
 	if (unlikely(is_kmmio_active()))
 		if (kmmio_handler(regs, addr) == 1)
 			return -1;
-- 
1.5.6.4



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] trace: add the MMIO-tracer to the tracer menu
  2008-10-24 17:08     ` Pekka Paalanen
@ 2008-10-27 12:02       ` Ingo Molnar
  0 siblings, 0 replies; 6+ messages in thread
From: Ingo Molnar @ 2008-10-27 12:02 UTC (permalink / raw)
  To: Pekka Paalanen; +Cc: Steven Rostedt, Peter Zijlstra, linux-kernel


* Pekka Paalanen <pq@iki.fi> wrote:

> > And doing this will remove the need about my question on depends 
> > on X86.
> 
> Yes, we can remove MMIOTRACE_HOOKS and replace it with just 
> MMIOTRACE. MMIOTRACE_HOOKS is a remnant from the time when I thought 
> that something else could also use the kmmio facilities.
> 
> Here's a compile-tested patch against current Ingo's tip/master.
> 
> From d4b97cd777c3382b784a9504281feccc9f2c4036 Mon Sep 17 00:00:00 2001
> From: Pekka Paalanen <pq@iki.fi>
> Date: Fri, 24 Oct 2008 18:59:56 +0300
> Subject: [PATCH] mmiotrace: Remove unneeded CONFIG_MMIOTRACE_HOOKS.
> 
> Signed-off-by: Pekka Paalanen <pq@iki.fi>
> ---
>  arch/x86/Kconfig.debug |    4 ----
>  arch/x86/mm/Makefile   |    3 +--
>  arch/x86/mm/fault.c    |    2 +-
>  3 files changed, 2 insertions(+), 7 deletions(-)

applied, thanks Pekka!

	Ingo

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-10-27 12:02 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-10-24 10:49 [PATCH] trace: add the MMIO-tracer to the tracer menu Peter Zijlstra
2008-10-24 11:25 ` Ingo Molnar
2008-10-24 11:56   ` Steven Rostedt
2008-10-24 17:08     ` Pekka Paalanen
2008-10-27 12:02       ` Ingo Molnar
2008-10-24 11:53 ` Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).