Combine instrumentation menus in kernel/Kconfig.instrumentation
Subsystems (11)
PATCH 1/1 Combine instrumentation menus in kernel/Kconfig.instrumentation
Combine instrumentation menus in kernel/Kconfig.instrumentation
Quoting Randy:
"It seems sad that this patch sources Kconfig.marker, a 7-line file, 20-something times. Yes, you (we) don't want to put those 7 lines into 20-something different files, so sourcing is the right thing.
However, what you did for avr32 seems more on the right track to me:
make _one_ Instrumentation support menu that includes PROFILING, OPROFILE, KPROBES, and MARKERS and then use (source) that in all of the arches."
--- arch/alpha/Kconfig | 2 - arch/alpha/oprofile/Kconfig | 23 ---------------------- arch/arm/Kconfig | 2 - arch/arm/oprofile/Kconfig | 42 ----------------------------------------- arch/blackfin/Kconfig | 2 - arch/blackfin/oprofile/Kconfig | 29 ---------------------------- arch/cris/Kconfig | 2 + arch/frv/Kconfig | 2 + arch/h8300/Kconfig | 2 + arch/i386/Kconfig | 25 ------------------------ arch/i386/oprofile/Kconfig | 17 ---------------- arch/ia64/Kconfig | 15 -------------- arch/ia64/oprofile/Kconfig | 20 ------------------- arch/m32r/Kconfig | 2 - arch/m32r/oprofile/Kconfig | 23 ---------------------- arch/m68k/Kconfig | 2 + arch/m68knommu/Kconfig | 2 + arch/mips/Kconfig | 2 - arch/mips/oprofile/Kconfig | 23 ---------------------- arch/parisc/Kconfig | 2 - arch/parisc/oprofile/Kconfig | 23 ---------------------- arch/powerpc/Kconfig | 15 -------------- arch/powerpc/oprofile/Kconfig | 24 ----------------------- arch/ppc/Kconfig | 2 - arch/s390/Kconfig | 16 --------------- arch/s390/oprofile/Kconfig | 22 --------------------- arch/sh/Kconfig | 2 - arch/sh/oprofile/Kconfig | 23 ---------------------- arch/sh64/Kconfig | 2 - arch/sh64/oprofile/Kconfig | 23 ---------------------- arch/sparc/Kconfig | 6 ----- arch/sparc/oprofile/Kconfig | 17 ---------------- arch/sparc64/Kconfig | 15 -------------- arch/sparc64/oprofile/Kconfig | 17 ---------------- arch/um/Kconfig | 2 + arch/v850/Kconfig | 2 + arch/x86_64/Kconfig | 15 -------------- arch/x86_64/oprofile/Kconfig | 17 ---------------- arch/xtensa/Kconfig | 2 + kernel/Kconfig.instrumentation | 40 +++++++++++++++++++++++++++++++++++++++ 40 files changed, 72 insertions(+), 452 deletions(-)
arch/alpha/oprofile/Kconfig deleted +0 -23
@@ -1,23 +0,0 @@ - -menu "Profiling support" - depends on EXPERIMENTAL - -config PROFILING - bool "Profiling support (EXPERIMENTAL)" - help - Say Y here to enable the extended profiling support mechanisms used - by profilers such as OProfile. - - -config OPROFILE - tristate "OProfile system profiling (EXPERIMENTAL)" - depends on PROFILING - help - OProfile is a profiling system capable of profiling the - whole system, include the kernel, kernel modules, libraries, - and applications. - - If unsure, say N. - -endmenu -
arch/arm/oprofile/Kconfig deleted +0 -42
42 lines not on this page · raw message
arch/blackfin/oprofile/Kconfig deleted +0 -29
@@ -1,29 +0,0 @@ -menu "Profiling support" -depends on EXPERIMENTAL - -config PROFILING - bool "Profiling support (EXPERIMENTAL)" - help - Say Y here to enable the extended profiling support mechanisms used - by profilers such as OProfile. - -config OPROFILE - tristate "OProfile system profiling (EXPERIMENTAL)" - depends on PROFILING - help - OProfile is a profiling system capable of profiling the - whole system, include the kernel, kernel modules, libraries, - and applications. - - If unsure, say N. - -config HARDWARE_PM - tristate "Hardware Performance Monitor Profiling" - depends on PROFILING - help - take use of hardware performance monitor to profiling the kernel - and application. - - If unsure, say N. - -endmenu
arch/i386/oprofile/Kconfig deleted +0 -17
@@ -1,17 +0,0 @@ -config PROFILING - bool "Profiling support (EXPERIMENTAL)" - help - Say Y here to enable the extended profiling support mechanisms used - by profilers such as OProfile. - - -config OPROFILE - tristate "OProfile system profiling (EXPERIMENTAL)" - depends on PROFILING - help - OProfile is a profiling system capable of profiling the - whole system, include the kernel, kernel modules, libraries, - and applications. - - If unsure, say N. -
arch/ia64/oprofile/Kconfig deleted +0 -20
@@ -1,20 +0,0 @@ -config PROFILING - bool "Profiling support (EXPERIMENTAL)" - help - Say Y here to enable the extended profiling support mechanisms used - by profilers such as OProfile. - -config OPROFILE - tristate "OProfile system profiling (EXPERIMENTAL)" - depends on PROFILING - help - OProfile is a profiling system capable of profiling the - whole system, include the kernel, kernel modules, libraries, - and applications. - - Due to firmware bugs, you may need to use the "nohalt" boot - option if you're using OProfile with the hardware performance - counters. - - If unsure, say N. -
arch/m32r/oprofile/Kconfig deleted +0 -23
@@ -1,23 +0,0 @@ - -menu "Profiling support" - depends on EXPERIMENTAL - -config PROFILING - bool "Profiling support (EXPERIMENTAL)" - help - Say Y here to enable the extended profiling support mechanisms used - by profilers such as OProfile. - - -config OPROFILE - tristate "OProfile system profiling (EXPERIMENTAL)" - depends on PROFILING - help - OProfile is a profiling system capable of profiling the - whole system, include the kernel, kernel modules, libraries, - and applications. - - If unsure, say N. - -endmenu -
arch/mips/oprofile/Kconfig deleted +0 -23
@@ -1,23 +0,0 @@ - -menu "Profiling support" - depends on EXPERIMENTAL - -config PROFILING - bool "Profiling support (EXPERIMENTAL)" - help - Say Y here to enable the extended profiling support mechanisms used - by profilers such as OProfile. - - -config OPROFILE - tristate "OProfile system profiling (EXPERIMENTAL)" - depends on PROFILING && !MIPS_MT_SMTC && EXPERIMENTAL - help - OProfile is a profiling system capable of profiling the - whole system, include the kernel, kernel modules, libraries, - and applications. - - If unsure, say N. - -endmenu -
arch/parisc/oprofile/Kconfig deleted +0 -23
@@ -1,23 +0,0 @@ - -menu "Profiling support" - depends on EXPERIMENTAL - -config PROFILING - bool "Profiling support (EXPERIMENTAL)" - help - Say Y here to enable the extended profiling support mechanisms used - by profilers such as OProfile. - - -config OPROFILE - tristate "OProfile system profiling (EXPERIMENTAL)" - depends on PROFILING - help - OProfile is a profiling system capable of profiling the - whole system, include the kernel, kernel modules, libraries, - and applications. - - If unsure, say N. - -endmenu -
arch/powerpc/oprofile/Kconfig deleted +0 -24
@@ -1,24 +0,0 @@ -config PROFILING - bool "Profiling support (EXPERIMENTAL)" - help - Say Y here to enable the extended profiling support mechanisms used - by profilers such as OProfile. - - -config OPROFILE - tristate "OProfile system profiling (EXPERIMENTAL)" - depends on PROFILING - help - OProfile is a profiling system capable of profiling the - whole system, include the kernel, kernel modules, libraries, - and applications. - - If unsure, say N. - -config OPROFILE_CELL - bool "OProfile for Cell Broadband Engine" - depends on (SPU_FS = y && OPROFILE = m) || (SPU_FS = y && OPROFILE = y) || (SPU_FS = m && OPROFILE = m) - default y - help - Profiling of Cell BE SPUs requires special support enabled - by this option.
arch/s390/oprofile/Kconfig deleted +0 -22
@@ -1,22 +0,0 @@ - -menu "Profiling support" - -config PROFILING - bool "Profiling support" - help - Say Y here to enable profiling support mechanisms used by - profilers such as readprofile or OProfile. - - -config OPROFILE - tristate "OProfile system profiling" - depends on PROFILING - help - OProfile is a profiling system capable of profiling the - whole system, include the kernel, kernel modules, libraries, - and applications. - - If unsure, say N. - -endmenu -
arch/sh/oprofile/Kconfig deleted +0 -23
@@ -1,23 +0,0 @@ - -menu "Profiling support" - depends on EXPERIMENTAL - -config PROFILING - bool "Profiling support (EXPERIMENTAL)" - help - Say Y here to enable the extended profiling support mechanisms used - by profilers such as OProfile. - - -config OPROFILE - tristate "OProfile system profiling (EXPERIMENTAL)" - depends on PROFILING - help - OProfile is a profiling system capable of profiling the - whole system, include the kernel, kernel modules, libraries, - and applications. - - If unsure, say N. - -endmenu -
arch/sh64/oprofile/Kconfig deleted +0 -23
@@ -1,23 +0,0 @@ - -menu "Profiling support" - depends on EXPERIMENTAL - -config PROFILING - bool "Profiling support (EXPERIMENTAL)" - help - Say Y here to enable the extended profiling support mechanisms used - by profilers such as OProfile. - - -config OPROFILE - tristate "OProfile system profiling (EXPERIMENTAL)" - depends on PROFILING - help - OProfile is a profiling system capable of profiling the - whole system, include the kernel, kernel modules, libraries, - and applications. - - If unsure, say N. - -endmenu -
arch/sparc/oprofile/Kconfig deleted +0 -17
@@ -1,17 +0,0 @@ -config PROFILING - bool "Profiling support (EXPERIMENTAL)" - help - Say Y here to enable the extended profiling support mechanisms used - by profilers such as OProfile. - - -config OPROFILE - tristate "OProfile system profiling (EXPERIMENTAL)" - depends on PROFILING - help - OProfile is a profiling system capable of profiling the - whole system, include the kernel, kernel modules, libraries, - and applications. - - If unsure, say N. -
arch/sparc64/oprofile/Kconfig deleted +0 -17
@@ -1,17 +0,0 @@ -config PROFILING - bool "Profiling support (EXPERIMENTAL)" - help - Say Y here to enable the extended profiling support mechanisms used - by profilers such as OProfile. - - -config OPROFILE - tristate "OProfile system profiling (EXPERIMENTAL)" - depends on PROFILING - help - OProfile is a profiling system capable of profiling the - whole system, include the kernel, kernel modules, libraries, - and applications. - - If unsure, say N. -
arch/x86_64/oprofile/Kconfig deleted +0 -17
@@ -1,17 +0,0 @@ -config PROFILING - bool "Profiling support (EXPERIMENTAL)" - help - Say Y here to enable the extended profiling support mechanisms used - by profilers such as OProfile. - - -config OPROFILE - tristate "OProfile system profiling (EXPERIMENTAL)" - depends on PROFILING - help - OProfile is a profiling system capable of profiling the - whole system, include the kernel, kernel modules, libraries, - and applications. - - If unsure, say N. -
kernel/Kconfig.instrumentation new file +40 -0
@@ -0,0 +1,40 @@ +menuconfig INSTRUMENTATION + bool "Instrumentation Support" + default y + ---help--- + Say Y here to get to see options related to performance measurement, + debugging, and testing. This option alone does not add any kernel code. + + If you say N, all options in this submenu will be skipped and disabled. + +if INSTRUMENTATION + +config PROFILING + bool "Profiling support (EXPERIMENTAL)" + help + Say Y here to enable the extended profiling support mechanisms used + by profilers such as OProfile. + +config OPROFILE + tristate "OProfile system profiling (EXPERIMENTAL)" + depends on PROFILING + depends on ALPHA || ARM || BLACKFIN || X86_32 || IA64 || M32R || MIPS || PARISC || PPC || S390 || SUPERH || SPARC || X86_64 + help + OProfile is a profiling system capable of profiling the + whole system, include the kernel, kernel modules, libraries, + and applications. + + If unsure, say N. + +config KPROBES + bool "Kprobes" + depends on KALLSYMS && MODULES + depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32 + help + Kprobes allows you to trap at almost any kernel address and + execute a callback function. register_kprobe() establishes + a probepoint and specifies the callback. Kprobes is useful + for kernel debugging, non-intrusive instrumentation and testing. + If in doubt, say "N". + +endif # INSTRUMENTATION
arch/i386/Kconfig +1 -24
@@ -1242,30 +1242,7 @@ source "drivers/Kconfig" source "fs/Kconfig" -menuconfig INSTRUMENTATION - bool "Instrumentation Support" - default y - ---help--- - Say Y here to get to see options related to performance measurement, - debugging, and testing. This option alone does not add any kernel code. - - If you say N, all options in this submenu will be skipped and disabled. - -if INSTRUMENTATION - -source "arch/i386/oprofile/Kconfig" - -config KPROBES - bool "Kprobes" - depends on KALLSYMS && MODULES - help - Kprobes allows you to trap at almost any kernel address and - execute a callback function. register_kprobe() establishes - a probepoint and specifies the callback. Kprobes is useful - for kernel debugging, non-intrusive instrumentation and testing. - If in doubt, say "N". - -endif # INSTRUMENTATION +source "kernel/Kconfig.instrumentation" source "arch/i386/Kconfig.debug"
arch/alpha/Kconfig +1 -1
@@ -654,7 +654,7 @@ source "drivers/Kconfig" source "fs/Kconfig" -source "arch/alpha/oprofile/Kconfig" +source "kernel/Kconfig.instrumentation" source "arch/alpha/Kconfig.debug"
arch/arm/Kconfig +1 -1
@@ -1061,7 +1061,7 @@ endmenu source "fs/Kconfig" -source "arch/arm/oprofile/Kconfig" +source "kernel/Kconfig.instrumentation" source "arch/arm/Kconfig.debug"
arch/blackfin/Kconfig +1 -1
@@ -914,7 +914,7 @@ source "drivers/Kconfig" source "fs/Kconfig" -source "arch/blackfin/oprofile/Kconfig" +source "kernel/Kconfig.instrumentation" menu "Kernel hacking"
arch/cris/Kconfig +2 -0
@@ -196,6 +196,8 @@ source "sound/Kconfig" source "drivers/usb/Kconfig" +source "kernel/Kconfig.instrumentation" + source "arch/cris/Kconfig.debug" source "security/Kconfig"
arch/frv/Kconfig +2 -0
@@ -375,6 +375,8 @@ source "drivers/Kconfig" source "fs/Kconfig" +source "kernel/Kconfig.instrumentation" + source "arch/frv/Kconfig.debug" source "security/Kconfig"
arch/h8300/Kconfig +2 -0
@@ -223,6 +223,8 @@ endmenu source "fs/Kconfig" +source "kernel/Kconfig.instrumentation" + source "arch/h8300/Kconfig.debug" source "security/Kconfig"
arch/ia64/Kconfig +1 -14
@@ -579,20 +579,7 @@ config IRQ_PER_CPU source "arch/ia64/hp/sim/Kconfig" -menu "Instrumentation Support" - -source "arch/ia64/oprofile/Kconfig" - -config KPROBES - bool "Kprobes" - depends on KALLSYMS && MODULES - help - Kprobes allows you to trap at almost any kernel address and - execute a callback function. register_kprobe() establishes - a probepoint and specifies the callback. Kprobes is useful - for kernel debugging, non-intrusive instrumentation and testing. - If in doubt, say "N". -endmenu +source "kernel/Kconfig.instrumentation" source "arch/ia64/Kconfig.debug"
arch/m32r/Kconfig +1 -1
@@ -426,7 +426,7 @@ source "drivers/Kconfig" source "fs/Kconfig" -source "arch/m32r/oprofile/Kconfig" +source "kernel/Kconfig.instrumentation" source "arch/m32r/Kconfig.debug"
arch/m68k/Kconfig +2 -0
@@ -683,6 +683,8 @@ endmenu source "fs/Kconfig" +source "kernel/Kconfig.instrumentation" + source "arch/m68k/Kconfig.debug" source "security/Kconfig"
arch/m68knommu/Kconfig +2 -0
@@ -696,6 +696,8 @@ source "drivers/Kconfig" source "fs/Kconfig" +source "kernel/Kconfig.instrumentation" + source "arch/m68knommu/Kconfig.debug" source "security/Kconfig"
arch/mips/Kconfig +1 -1
@@ -1961,7 +1961,7 @@ source "drivers/Kconfig" source "fs/Kconfig" -source "arch/mips/oprofile/Kconfig" +source "kernel/Kconfig.instrumentation" source "arch/mips/Kconfig.debug"
arch/parisc/Kconfig +1 -1
@@ -267,7 +267,7 @@ source "drivers/Kconfig" source "fs/Kconfig" -source "arch/parisc/oprofile/Kconfig" +source "kernel/Kconfig.instrumentation" source "arch/parisc/Kconfig.debug"
arch/powerpc/Kconfig +1 -14
@@ -638,20 +638,7 @@ source "arch/powerpc/sysdev/qe_lib/Kconf source "lib/Kconfig" -menu "Instrumentation Support" - -source "arch/powerpc/oprofile/Kconfig" - -config KPROBES - bool "Kprobes" - depends on !BOOKE && !4xx && KALLSYMS && MODULES - help - Kprobes allows you to trap at almost any kernel address and - execute a callback function. register_kprobe() establishes - a probepoint and specifies the callback. Kprobes is useful - for kernel debugging, non-intrusive instrumentation and testing. - If in doubt, say "N". -endmenu +source "kernel/Kconfig.instrumentation" source "arch/powerpc/Kconfig.debug"
arch/ppc/Kconfig +1 -1
@@ -1307,7 +1307,7 @@ endmenu source "lib/Kconfig" -source "arch/powerpc/oprofile/Kconfig" +source "kernel/Kconfig.instrumentation" source "arch/ppc/Kconfig.debug"
arch/s390/Kconfig +1 -15
@@ -529,21 +529,7 @@ source "drivers/Kconfig" source "fs/Kconfig" -menu "Instrumentation Support" - -source "arch/s390/oprofile/Kconfig" - -config KPROBES - bool "Kprobes (EXPERIMENTAL)" - depends on EXPERIMENTAL && MODULES - help - Kprobes allows you to trap at almost any kernel address and - execute a callback function. register_kprobe() establishes - a probepoint and specifies the callback. Kprobes is useful - for kernel debugging, non-intrusive instrumentation and testing. - If in doubt, say "N". - -endmenu +source "kernel/Kconfig.instrumentation" source "arch/s390/Kconfig.debug"
arch/sh/Kconfig +1 -1
@@ -738,7 +738,7 @@ source "drivers/Kconfig" source "fs/Kconfig" -source "arch/sh/oprofile/Kconfig" +source "kernel/Kconfig.instrumentation" source "arch/sh/Kconfig.debug"
arch/sh64/Kconfig +1 -1
@@ -285,7 +285,7 @@ source "drivers/Kconfig" source "fs/Kconfig" -source "arch/sh64/oprofile/Kconfig" +source "kernel/Kconfig.instrumentation" source "arch/sh64/Kconfig.debug"
arch/sparc/Kconfig +1 -5
@@ -320,11 +320,7 @@ endmenu source "fs/Kconfig" -menu "Instrumentation Support" - -source "arch/sparc/oprofile/Kconfig" - -endmenu +source "kernel/Kconfig.instrumentation" source "arch/sparc/Kconfig.debug"
arch/sparc64/Kconfig +1 -14
@@ -460,20 +460,7 @@ source "drivers/fc4/Kconfig" source "fs/Kconfig" -menu "Instrumentation Support" - -source "arch/sparc64/oprofile/Kconfig" - -config KPROBES - bool "Kprobes (EXPERIMENTAL)" - depends on KALLSYMS && EXPERIMENTAL && MODULES - help - Kprobes allows you to trap at almost any kernel address and - execute a callback function. register_kprobe() establishes - a probepoint and specifies the callback. Kprobes is useful - for kernel debugging, non-intrusive instrumentation and testing. - If in doubt, say "N". -endmenu +source "kernel/Kconfig.instrumentation" source "arch/sparc64/Kconfig.debug"
arch/um/Kconfig +2 -0
@@ -292,4 +292,6 @@ config INPUT bool default n +source "kernel/Kconfig.instrumentation" + source "arch/um/Kconfig.debug"
arch/v850/Kconfig +2 -0
@@ -331,6 +331,8 @@ source "sound/Kconfig" source "drivers/usb/Kconfig" +source "kernel/Kconfig.instrumentation" + source "arch/v850/Kconfig.debug" source "security/Kconfig"
arch/x86_64/Kconfig +1 -14
@@ -842,20 +842,7 @@ source "drivers/firmware/Kconfig" source fs/Kconfig -menu "Instrumentation Support" - -source "arch/x86_64/oprofile/Kconfig" - -config KPROBES - bool "Kprobes" - depends on KALLSYMS && MODULES - help - Kprobes allows you to trap at almost any kernel address and - execute a callback function. register_kprobe() establishes - a probepoint and specifies the callback. Kprobes is useful - for kernel debugging, non-intrusive instrumentation and testing. - If in doubt, say "N". -endmenu +source "kernel/Kconfig.instrumentation" source "arch/x86_64/Kconfig.debug"
arch/xtensa/Kconfig +2 -0
@@ -251,6 +251,8 @@ config EMBEDDED_RAMDISK_IMAGE provide one yourself. endmenu +source "kernel/Kconfig.instrumentation" + source "arch/xtensa/Kconfig.debug" source "security/Kconfig"
Quoted 1 line · Mathieu Desnoyers
+++ linux-2.6-lttng/kernel/Kconfig.instrumentation 2007-09-18 13:18:17.000
000000 -0400
kernel/Kconfig.instrumentation line 8
Quoted 9 lines
kernel/Kconfig.instrumentation new file +8
-0@@ -0,0 +1,40 @@ +menuconfig INSTRUMENTATION + bool "Instrumentation Support" + default y + ---help--- + Say Y here to get to see options related to performance measurement, + debugging, and testing. This option alone does not add any kernel code. + + If you say N, all options in this submenu will be skipped and disabled.
OK, I'll bite - given the mention of 'debugging' there, do we want to go for broke and *also* suck in the 'Kernel Hacking' menu as well?
Quoted 4 lines · * [email protected] ([email protected]) wrote:
Quoted 1 line · Mathieu Desnoyers
+++ linux-2.6-lttng/kernel/Kconfig.instrumentation 2007-09-18 13:18:17.000
000000 -0400
Quoted 12 lines
kernel/Kconfig.instrumentation line 8
Quoted 9 lines
kernel/Kconfig.instrumentation new file +8
-0@@ -0,0 +1,40 @@ +menuconfig INSTRUMENTATION + bool "Instrumentation Support" + default y + ---help--- + Say Y here to get to see options related to performance measurement, + debugging, and testing. This option alone does not add any kernel code. + + If you say N, all options in this submenu will be skipped and disabled.OK, I'll bite - given the mention of 'debugging' there, do we want to go for broke and *also* suck in the 'Kernel Hacking' menu as well?
Instrumentation primarity aims at debugging user-space applications by giving the ability to extract information across execution layers, hence being a feature useful to users, not only kernel hackers. Therefore I strongly doubt that it belongs to the kernel hacking submenu. It today's world, where we face complex user-space problems involving multithreaded, multiprocesses applications, the kernel and hypervisors, running on many cores, this kind of tool has proven useful to many, not only kernel developers. Please have a look at the papers (especially the OLS2007 paper) linked on http://ltt.polymtl.ca as a starting point if you are intereted in the question.
But yes, it can also be useful to kernel debugging, amongst other things.
Mathieu
Signature · 3 lines
Mathieu Desnoyers Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
Quoted 7 lines · Mathieu Desnoyers
Quoted 2 lines · * [email protected] ([email protected]) wrote:
OK, I'll bite - given the mention of 'debugging' there, do we want to go for broke and *also* suck in the 'Kernel Hacking' menu as well?
Instrumentation primarity aims at debugging user-space applications by giving the ability to extract information across execution layers, hence being a feature useful to users, not only kernel hackers.
Ahh.. Where I come from, "Instrumentation" includes *all* the code that doesn't actually *do* the work, but exists solely so you can tell what the code is doing - so almost everything on the i386/x86_64 "Kernel Hacking" menu counts as "instrumentation" in my book.
Now if we're talking about the features provided by one specific *instance* of instrumentation code, I can buy that too - but I think that help text needs to be clear on what is included under "debugging"
(I'd settle for "If you're trying to debug the kernel itself, go see the Kernel Hacking menu" or similar.. ;)
Quoted 3 lines
to many, not only kernel developers. Please have a look at the papers (especially the OLS2007 paper) linked on http://ltt.polymtl.ca as a starting point if you are intereted in the question.
Ahh, LTT. *that* I recognize. Yeah, I count that as *one flavor* of instrumentation. :)
Quoted 15 lines · * [email protected] ([email protected]) wrote:
Quoted 7 lines · Mathieu Desnoyers
Quoted 2 lines · * [email protected] ([email protected]) wrote:
OK, I'll bite - given the mention of 'debugging' there, do we want to go for broke and *also* suck in the 'Kernel Hacking' menu as well?
Instrumentation primarity aims at debugging user-space applications by giving the ability to extract information across execution layers, hence being a feature useful to users, not only kernel hackers.
Ahh.. Where I come from, "Instrumentation" includes *all* the code that doesn't actually *do* the work, but exists solely so you can tell what the code is doing - so almost everything on the i386/x86_64 "Kernel Hacking" menu counts as "instrumentation" in my book.
Quoted 7 lines
Now if we're talking about the features provided by one specific *instance* of instrumentation code, I can buy that too - but I think that help text needs to be clear on what is included under "debugging"
(I'd settle for "If you're trying to debug the kernel itself, go see the Kernel Hacking menu" or similar.. ;)
Ok, let's add that.
Quoted 7 lines
Quoted 3 lines
to many, not only kernel developers. Please have a look at the papers (especially the OLS2007 paper) linked on http://ltt.polymtl.ca as a starting point if you are intereted in the question.
Ahh, LTT. *that* I recognize. Yeah, I count that as *one flavor* of instrumentation. :)
Systemtap, kprobes and oprofile would also fall into the same category.
Mathieu
Signature · 3 lines
Mathieu Desnoyers Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
Quoted 4 lines · Mathieu Desnoyers
Quoted 2 lines · * [email protected] ([email protected]) wrote:
Ahh, LTT. *that* I recognize. Yeah, I count that as *one flavor* of instrumentation. :)
mathieu clarified this in a previous email to me, but is LTT not entirely superseded by LTT-ng? just curious.
rday
Signature · 7 lines
======================================================================== Robert P. J. Day Linux Consulting, Training and Annoying Kernel Pedantry Waterloo, Ontario, CANADA http://crashcourse.ca ========================================================================
Quoted 10 lines · * Robert P. J. Day ([email protected]) wrote:
Quoted 4 lines · Mathieu Desnoyers
Quoted 2 lines · * [email protected] ([email protected]) wrote:
Ahh, LTT. *that* I recognize. Yeah, I count that as *one flavor* of instrumentation. :)
mathieu clarified this in a previous email to me, but is LTT not entirely superseded by LTT-ng? just curious.
Yes, LTTng supersedes LTT. It provides the ability to extract traces across execution layers (hypervisor, kernel, userspace) to perform performance analysis and debugging of applications at the system level. LTTng's approach differs from LTT in that it allows completely customizable instrumentation. We chose to provide that based on the previous LTT experience, where we have seen that adding instrumentation is very often required when digging deeply into a problem.
Mathieu
Quoted 9 lines
rday
Signature · 7 lines
======================================================================== Robert P. J. Day Linux Consulting, Training and Annoying Kernel Pedantry Waterloo, Ontario, CANADA http://crashcourse.ca ========================================================================
Signature · 3 lines
Mathieu Desnoyers Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68