From: mcgrof@kernel.org To: hpa@zytor.com, tglx@linutronix.de, mingo@redhat.com, jpoimboe@redhat.com, bp@alien8.de, linux@arm.linux.org.uk, mhiramat@kernel.org, masami.hiramatsu.pt@hitachi.com, jbaron@akamai.com, heiko.carstens@de.ibm.com, ananth@linux.vnet.ibm.com, anil.s.keshavamurthy@intel.com, davem@davemloft.net, realmz6@gmail.com Cc: x86@kernel.org, luto@amacapital.net, keescook@chromium.org, torvalds@linux-foundation.org, gregkh@linuxfoundation.org, rusty@rustcorp.com.au, gnomes@lxorguk.ukuu.org.uk, alan@linux.intel.com, dwmw2@infradead.org, arnd@arndb.de, ming.lei@canonical.com, linux-arch@vger.kernel.org, benh@kernel.crashing.org, ananth@in.ibm.com, pebolle@tiscali.nl, fontana@sharpeleven.org, david.vrabel@citrix.com, konrad.wilk@oracle.com, mcb30@ipxe.org, jgross@suse.com, andrew.cooper3@citrix.com, andriy.shevchenko@linux.intel.com, paul.gortmaker@windriver.com, xen-devel@lists.xensource.com, ak@linux.intel.com, pali.rohar@gmail.com, dvhart@infradead.org, platform-driver-x86@vger.kernel.org, mmarek@suse.com, linux@rasmusvillemoes.dk, jkosina@suse.cz, korea.drzix@gmail.com, linux-kbuild@vger.kernel.org, ton Subject: [PATCH v4 13/16] dynamic_debug: port to use linker tables Date: Fri, 19 Aug 2016 14:34:11 -0700 [thread overview] Message-ID: <1471642454-5679-14-git-send-email-mcgrof@kernel.org> (raw) In-Reply-To: <1471642454-5679-1-git-send-email-mcgrof@kernel.org> From: "Luis R. Rodriguez" <mcgrof@kernel.org> This removes the custom vmlinux.lds.h hacks and uses the generalized solution for .data (SECTION_DATA) entries. This is much more potential for further fine tuning here though in the future. For instance, linker tables enable an extra postfix for order level annotations, this could easily be used as the KBUILD_MODNAME and with a bit of linker table changes we may be able to get a direct O(1) count of the entries for that KBUILD_MODNAME: it would just be a count on the number of entries for the given order level. This should help make dynamic_debug_init() cleaner and also reduce the amount of time it takes at boot time. Instead of iterating over each print until we have all for a KBUILD_MODNAME, we'd instead directly operate on each KBUILD_MODNAME directly. Tested dynamic debug with dyndbg query ana debugfs control and it works as expected, for both built-in code and modules. v4: fix compilation on blackfin v3: added modular support v2: introduced this patch into the series Cc: Barry Song <barry.song@analog.com> Cc: Mike Frysinger <vapier@gentoo.org> Cc: Steven Miao <realmz6@gmail.com> Cc: Michael Matz <matz@suse.de> Cc: Guenter Roeck <linux@roeck-us.net> Cc: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org> --- include/asm-generic/vmlinux.lds.h | 5 ----- include/linux/dynamic_debug.h | 5 +++-- lib/dynamic_debug.c | 13 ++++++------- scripts/module-common.lds.S | 1 + 4 files changed, 10 insertions(+), 14 deletions(-) diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 140fbed4a817..ba49b7ad7af2 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -211,11 +211,6 @@ *(.data.unlikely) \ STRUCT_ALIGN(); \ *(__tracepoints) \ - /* implement dynamic printk debug */ \ - . = ALIGN(8); \ - VMLINUX_SYMBOL(__start___verbose) = .; \ - *(__verbose) \ - VMLINUX_SYMBOL(__stop___verbose) = .; \ LIKELY_PROFILE() \ BRANCH_PROFILE() \ TRACE_PRINTKS() \ diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index 546d68057e3b..a52618a77b09 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -4,6 +4,7 @@ #if defined(CC_HAVE_ASM_GOTO) && defined(CONFIG_JUMP_LABEL) #include <linux/jump_label.h> #endif +#include <linux/tables.h> /* * An instance of this structure is created in a special @@ -50,6 +51,7 @@ int ddebug_add_module(struct _ddebug *tab, unsigned int n, const char *modname); #if defined(CONFIG_DYNAMIC_DEBUG) +DECLARE_LINKTABLE(struct _ddebug, __verbose); extern int ddebug_remove_module(const char *mod_name); extern __printf(2, 3) void __dynamic_pr_debug(struct _ddebug *descriptor, const char *fmt, ...); @@ -71,8 +73,7 @@ void __dynamic_netdev_dbg(struct _ddebug *descriptor, const char *fmt, ...); #define DEFINE_DYNAMIC_DEBUG_METADATA_KEY(name, fmt, key, init) \ - static struct _ddebug __aligned(8) \ - __attribute__((section("__verbose"))) name = { \ + static LINKTABLE(__verbose, SECTION_ORDER_ANY) name = { \ .modname = KBUILD_MODNAME, \ .function = __func__, \ .filename = __FILE__, \ diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index da796e2dc4f5..f0060c84c654 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -37,8 +37,7 @@ #include <linux/device.h> #include <linux/netdevice.h> -extern struct _ddebug __start___verbose[]; -extern struct _ddebug __stop___verbose[]; +DEFINE_LINKTABLE(struct _ddebug, __verbose); struct ddebug_table { struct list_head link; @@ -978,14 +977,14 @@ static int __init dynamic_debug_init(void) int n = 0, entries = 0, modct = 0; int verbose_bytes = 0; - if (__start___verbose == __stop___verbose) { - pr_warn("_ddebug table is empty in a CONFIG_DYNAMIC_DEBUG build\n"); + if (LINUX_SECTION_EMPTY(__verbose)) { + pr_warn("dynamic debug linker table empty on CONFIG_DYNAMIC_DEBUG build\n"); return 1; } - iter = __start___verbose; + iter = LINUX_SECTION_START(__verbose); modname = iter->modname; iter_start = iter; - for (; iter < __stop___verbose; iter++) { + LINKTABLE_FOR_EACH(iter, __verbose) { entries++; verbose_bytes += strlen(iter->modname) + strlen(iter->function) + strlen(iter->filename) + strlen(iter->format); @@ -1008,7 +1007,7 @@ static int __init dynamic_debug_init(void) ddebug_init_success = 1; vpr_info("%d modules, %d entries and %d bytes in ddebug tables, %d bytes in (readonly) verbose section\n", modct, entries, (int)(modct * sizeof(struct ddebug_table)), - verbose_bytes + (int)(__stop___verbose - __start___verbose)); + verbose_bytes + (int)(LINUX_SECTION_SIZE(__verbose))); /* apply ddebug_query boot param, dont unload tables on err */ if (ddebug_setup_string[0] != '\0') { diff --git a/scripts/module-common.lds.S b/scripts/module-common.lds.S index be3bde1ea0ce..be57ca0994dc 100644 --- a/scripts/module-common.lds.S +++ b/scripts/module-common.lds.S @@ -21,6 +21,7 @@ SECTIONS { __kcrctab_unused_gpl 0 : { *(SORT(___kcrctab_unused_gpl+*)) } __kcrctab_gpl_future 0 : { *(SORT(___kcrctab_gpl_future+*)) } __jump_table 0 : { *(SORT(SECTION_TBL(SECTION_DATA, __jump_table, *))) } + __verbose 0 : { *(SORT(SECTION_TBL(SECTION_DATA, __verbose, *))) } . = ALIGN(8); .init_array 0 : { *(SORT(.init_array.*)) *(.init_array) } -- 2.9.2
WARNING: multiple messages have this Message-ID (diff)
From: mcgrof@kernel.org To: hpa@zytor.com, tglx@linutronix.de, mingo@redhat.com, jpoimboe@redhat.com, bp@alien8.de, linux@arm.linux.org.uk, mhiramat@kernel.org, masami.hiramatsu.pt@hitachi.com, jbaron@akamai.com, heiko.carstens@de.ibm.com, ananth@linux.vnet.ibm.com, anil.s.keshavamurthy@intel.com, davem@davemloft.net, realmz6@gmail.com Cc: x86@kernel.org, luto@amacapital.net, keescook@chromium.org, torvalds@linux-foundation.org, gregkh@linuxfoundation.org, rusty@rustcorp.com.au, gnomes@lxorguk.ukuu.org.uk, alan@linux.intel.com, dwmw2@infradead.org, arnd@arndb.de, ming.lei@canonical.com, linux-arch@vger.kernel.org, benh@kernel.crashing.org, ananth@in.ibm.com, pebolle@tiscali.nl, fontana@sharpeleven.org, david.vrabel@citrix.com, konrad.wilk@oracle.com, mcb30@ipxe.org, jgross@suse.com, andrew.cooper3@citrix.com, andriy.shevchenko@linux.intel.com, paul.gortmaker@windriver.com, xen-devel@lists.xensource.com, ak@linux.intel.com, pali.rohar@gmail.com, dvhart@infradead.org, platform-driver-x86@vger.kernel.org, mmarek@suse.com, linux@rasmusvillemoes.dk, jkosina@suse.cz, korea.drzix@gmail.com, linux-kbuild@vger.kernel.org, tony.luck@intel.com, akpm@linux-foundation.org, linux-ia64@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, catalin.marinas@arm.com, will.deacon@arm.com, rostedt@goodmis.org, jani.nikula@intel.com, mchehab@osg.samsung.com, markus.heiser@darmarit.de, acme@redhat.com, jolsa@kernel.org, msalter@redhat.com, chris@zankel.net, jcmvbkbc@gmail.com, linux-xtensa@linux-xtensa.org, paulus@samba.org, mpe@ellerman.id.au, James.Bottomley@HansenPartnership.com, "Luis R. Rodriguez" <mcgrof@kernel.org>, Barry Song <barry.song@analog.com>, Mike Frysinger <vapier@gentoo.org>, Michael Matz <matz@suse.de>, Guenter Roeck <linux@roeck-us.net>, Fengguang Wu <fengguang.wu@intel.com> Subject: [PATCH v4 13/16] dynamic_debug: port to use linker tables Date: Fri, 19 Aug 2016 14:34:11 -0700 [thread overview] Message-ID: <1471642454-5679-14-git-send-email-mcgrof@kernel.org> (raw) Message-ID: <20160819213411.ysQ2WCHhakLQuQqFu-jX1ln4bDV8jKKGRvz-T1c3JNM@z> (raw) In-Reply-To: <1471642454-5679-1-git-send-email-mcgrof@kernel.org> From: "Luis R. Rodriguez" <mcgrof@kernel.org> This removes the custom vmlinux.lds.h hacks and uses the generalized solution for .data (SECTION_DATA) entries. This is much more potential for further fine tuning here though in the future. For instance, linker tables enable an extra postfix for order level annotations, this could easily be used as the KBUILD_MODNAME and with a bit of linker table changes we may be able to get a direct O(1) count of the entries for that KBUILD_MODNAME: it would just be a count on the number of entries for the given order level. This should help make dynamic_debug_init() cleaner and also reduce the amount of time it takes at boot time. Instead of iterating over each print until we have all for a KBUILD_MODNAME, we'd instead directly operate on each KBUILD_MODNAME directly. Tested dynamic debug with dyndbg query ana debugfs control and it works as expected, for both built-in code and modules. v4: fix compilation on blackfin v3: added modular support v2: introduced this patch into the series Cc: Barry Song <barry.song@analog.com> Cc: Mike Frysinger <vapier@gentoo.org> Cc: Steven Miao <realmz6@gmail.com> Cc: Michael Matz <matz@suse.de> Cc: Guenter Roeck <linux@roeck-us.net> Cc: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org> --- include/asm-generic/vmlinux.lds.h | 5 ----- include/linux/dynamic_debug.h | 5 +++-- lib/dynamic_debug.c | 13 ++++++------- scripts/module-common.lds.S | 1 + 4 files changed, 10 insertions(+), 14 deletions(-) diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 140fbed4a817..ba49b7ad7af2 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -211,11 +211,6 @@ *(.data.unlikely) \ STRUCT_ALIGN(); \ *(__tracepoints) \ - /* implement dynamic printk debug */ \ - . = ALIGN(8); \ - VMLINUX_SYMBOL(__start___verbose) = .; \ - *(__verbose) \ - VMLINUX_SYMBOL(__stop___verbose) = .; \ LIKELY_PROFILE() \ BRANCH_PROFILE() \ TRACE_PRINTKS() \ diff --git a/include/linux/dynamic_debug.h b/include/linux/dynamic_debug.h index 546d68057e3b..a52618a77b09 100644 --- a/include/linux/dynamic_debug.h +++ b/include/linux/dynamic_debug.h @@ -4,6 +4,7 @@ #if defined(CC_HAVE_ASM_GOTO) && defined(CONFIG_JUMP_LABEL) #include <linux/jump_label.h> #endif +#include <linux/tables.h> /* * An instance of this structure is created in a special @@ -50,6 +51,7 @@ int ddebug_add_module(struct _ddebug *tab, unsigned int n, const char *modname); #if defined(CONFIG_DYNAMIC_DEBUG) +DECLARE_LINKTABLE(struct _ddebug, __verbose); extern int ddebug_remove_module(const char *mod_name); extern __printf(2, 3) void __dynamic_pr_debug(struct _ddebug *descriptor, const char *fmt, ...); @@ -71,8 +73,7 @@ void __dynamic_netdev_dbg(struct _ddebug *descriptor, const char *fmt, ...); #define DEFINE_DYNAMIC_DEBUG_METADATA_KEY(name, fmt, key, init) \ - static struct _ddebug __aligned(8) \ - __attribute__((section("__verbose"))) name = { \ + static LINKTABLE(__verbose, SECTION_ORDER_ANY) name = { \ .modname = KBUILD_MODNAME, \ .function = __func__, \ .filename = __FILE__, \ diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c index da796e2dc4f5..f0060c84c654 100644 --- a/lib/dynamic_debug.c +++ b/lib/dynamic_debug.c @@ -37,8 +37,7 @@ #include <linux/device.h> #include <linux/netdevice.h> -extern struct _ddebug __start___verbose[]; -extern struct _ddebug __stop___verbose[]; +DEFINE_LINKTABLE(struct _ddebug, __verbose); struct ddebug_table { struct list_head link; @@ -978,14 +977,14 @@ static int __init dynamic_debug_init(void) int n = 0, entries = 0, modct = 0; int verbose_bytes = 0; - if (__start___verbose == __stop___verbose) { - pr_warn("_ddebug table is empty in a CONFIG_DYNAMIC_DEBUG build\n"); + if (LINUX_SECTION_EMPTY(__verbose)) { + pr_warn("dynamic debug linker table empty on CONFIG_DYNAMIC_DEBUG build\n"); return 1; } - iter = __start___verbose; + iter = LINUX_SECTION_START(__verbose); modname = iter->modname; iter_start = iter; - for (; iter < __stop___verbose; iter++) { + LINKTABLE_FOR_EACH(iter, __verbose) { entries++; verbose_bytes += strlen(iter->modname) + strlen(iter->function) + strlen(iter->filename) + strlen(iter->format); @@ -1008,7 +1007,7 @@ static int __init dynamic_debug_init(void) ddebug_init_success = 1; vpr_info("%d modules, %d entries and %d bytes in ddebug tables, %d bytes in (readonly) verbose section\n", modct, entries, (int)(modct * sizeof(struct ddebug_table)), - verbose_bytes + (int)(__stop___verbose - __start___verbose)); + verbose_bytes + (int)(LINUX_SECTION_SIZE(__verbose))); /* apply ddebug_query boot param, dont unload tables on err */ if (ddebug_setup_string[0] != '\0') { diff --git a/scripts/module-common.lds.S b/scripts/module-common.lds.S index be3bde1ea0ce..be57ca0994dc 100644 --- a/scripts/module-common.lds.S +++ b/scripts/module-common.lds.S @@ -21,6 +21,7 @@ SECTIONS { __kcrctab_unused_gpl 0 : { *(SORT(___kcrctab_unused_gpl+*)) } __kcrctab_gpl_future 0 : { *(SORT(___kcrctab_gpl_future+*)) } __jump_table 0 : { *(SORT(SECTION_TBL(SECTION_DATA, __jump_table, *))) } + __verbose 0 : { *(SORT(SECTION_TBL(SECTION_DATA, __verbose, *))) } . = ALIGN(8); .init_array 0 : { *(SORT(.init_array.*)) *(.init_array) } -- 2.9.2
next prev parent reply other threads:[~2016-08-19 21:34 UTC|newest] Thread overview: 288+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-08-19 21:33 [PATCH v4 00/16] linux: generalize sections, ranges and linker tables mcgrof 2016-08-19 21:33 ` mcgrof 2016-08-19 21:33 ` [PATCH v4 01/16] x86: remove LTO_REFERENCE_INITCALL() mcgrof 2016-08-19 21:33 ` mcgrof 2016-08-19 21:34 ` [PATCH v4 02/16] dell-smo8800: include uaccess.h mcgrof 2016-08-19 21:34 ` mcgrof 2016-08-19 21:34 ` [PATCH v4 03/16] scripts/module-common.lds: enable generation mcgrof 2016-08-19 21:34 ` [PATCH v4 04/16] generic-sections: add section core helpers mcgrof 2016-08-19 21:34 ` mcgrof 2016-08-23 1:26 ` Nicholas Piggin 2016-08-23 1:26 ` Nicholas Piggin 2016-08-23 17:33 ` Luis R. Rodriguez 2016-08-23 17:33 ` Luis R. Rodriguez 2016-08-24 3:51 ` Nicholas Piggin 2016-08-24 3:51 ` Nicholas Piggin 2016-08-24 20:12 ` Luis R. Rodriguez 2016-08-24 20:12 ` Luis R. Rodriguez 2016-08-25 2:06 ` Nicholas Piggin 2016-08-25 2:06 ` Nicholas Piggin 2016-08-25 6:05 ` Luis R. Rodriguez 2016-08-25 6:05 ` Luis R. Rodriguez 2016-08-25 6:51 ` Nicholas Piggin 2016-08-25 6:51 ` Nicholas Piggin 2016-08-25 17:52 ` Luis R. Rodriguez 2016-08-25 17:52 ` Luis R. Rodriguez 2016-08-26 3:00 ` Nicholas Piggin 2016-08-26 6:38 ` Luis R. Rodriguez 2016-08-26 7:33 ` Nicholas Piggin 2016-08-26 7:33 ` Nicholas Piggin 2016-08-26 13:22 ` Luis R. Rodriguez 2016-08-26 13:22 ` Luis R. Rodriguez 2016-08-26 13:28 ` Nicholas Piggin 2016-08-26 13:28 ` Nicholas Piggin 2016-08-19 21:34 ` [PATCH v4 05/16] xtensa: skip adding literal when SORT() is used mcgrof 2016-08-19 21:34 ` mcgrof 2016-08-19 21:34 ` [PATCH v4 06/16] ranges.h: add helpers to build and identify Linux section ranges mcgrof 2016-08-19 21:34 ` mcgrof 2016-08-19 21:34 ` [PATCH v4 07/16] tables.h: add linker table support mcgrof 2016-08-19 21:34 ` mcgrof 2016-08-19 21:34 ` [PATCH v4 08/16] kbuild: enable option to force compile force-obj-y and force-lib-y mcgrof 2016-08-19 21:34 ` mcgrof 2016-08-19 21:34 ` [PATCH v4 09/16] firmware/Makefile: force recompilation if makefile changes mcgrof 2016-08-19 21:34 ` mcgrof 2016-08-19 21:34 ` [PATCH v4 10/16] firmware: port built-in section to linker table mcgrof 2016-08-19 21:34 ` mcgrof 2016-08-19 21:34 ` [PATCH v4 11/16] jump_label: move guard #endif down where it belongs mcgrof 2016-08-19 21:34 ` mcgrof 2016-08-19 21:34 ` [PATCH v4 12/16] jump_label: port __jump_table to linker tables mcgrof 2016-08-19 21:34 ` mcgrof 2016-08-19 21:34 ` mcgrof [this message] 2016-08-19 21:34 ` [PATCH v4 13/16] dynamic_debug: port to use " mcgrof 2016-08-19 21:34 ` [PATCH v4 14/16] kprobes: move kprobe declarations to asm-generic/kprobes.h mcgrof 2016-08-19 21:34 ` mcgrof 2016-08-22 15:11 ` Masami Hiramatsu 2016-08-22 15:11 ` Masami Hiramatsu 2016-08-23 16:31 ` Luis R. Rodriguez 2016-08-23 16:31 ` Luis R. Rodriguez 2016-08-29 14:04 ` Masami Hiramatsu 2016-08-29 14:04 ` Masami Hiramatsu 2016-08-30 20:07 ` Luis R. Rodriguez 2016-08-30 20:07 ` Luis R. Rodriguez 2017-02-01 20:02 ` Luis R. Rodriguez 2017-02-01 20:02 ` Luis R. Rodriguez 2016-08-19 21:34 ` [PATCH v4 15/16] kprobes: port .kprobes.text to section range mcgrof 2016-08-19 21:34 ` mcgrof 2016-08-19 21:34 ` [PATCH v4 16/16] kprobes: port blacklist kprobes to linker table mcgrof 2016-08-19 21:34 ` mcgrof 2016-08-19 21:41 ` [PATCH v1 0/7] tools: add linker table userspace sandbox mcgrof 2016-08-19 21:41 ` mcgrof 2016-08-19 21:41 ` [PATCH v1 1/7] tools: add a userspace tools bug.h mcgrof 2016-08-19 21:41 ` mcgrof 2016-08-19 21:41 ` [PATCH v1 2/7] tools: add a basic tools printk.h mcgrof 2016-08-19 21:41 ` mcgrof 2016-08-19 21:41 ` [PATCH v1 3/7] tools: add init.h for tools mcgrof 2016-08-19 21:41 ` mcgrof 2016-08-19 21:41 ` [PATCH v1 4/7] tools: add __used and enable to override mcgrof 2016-08-19 21:41 ` mcgrof 2016-08-19 21:41 ` [PATCH v1 5/7] tools: expand export.h with VMLINUX_SYMBOL() mcgrof 2016-08-19 21:41 ` mcgrof 2016-08-19 21:41 ` [PATCH v1 6/7] tools: add __section() to compiler.h mcgrof 2016-08-19 21:41 ` mcgrof 2016-08-19 21:41 ` [PATCH v1 7/7] tools: add userspace linker table sandbox mcgrof 2016-08-19 22:31 ` Kees Cook 2016-08-23 0:07 ` Luis R. Rodriguez 2016-08-23 0:28 ` H. Peter Anvin 2016-08-23 0:28 ` H. Peter Anvin 2016-08-23 14:30 ` Arnaldo Carvalho de Melo 2016-08-23 14:30 ` Arnaldo Carvalho de Melo 2016-08-24 2:28 ` Kees Cook 2016-08-24 2:28 ` Kees Cook 2016-08-24 12:39 ` Arnaldo Carvalho de Melo 2016-08-24 12:39 ` Arnaldo Carvalho de Melo 2016-08-24 16:20 ` Luis R. Rodriguez 2016-08-24 16:20 ` Luis R. Rodriguez 2016-08-24 19:17 ` Arnaldo Carvalho de Melo 2016-08-24 19:17 ` Arnaldo Carvalho de Melo 2016-08-20 4:57 ` [PATCH v1 0/7] tools: add linker table userspace sandbox Rob Landley 2016-08-20 4:57 ` Rob Landley 2016-08-21 4:59 ` Rich Felker 2016-08-21 4:59 ` Rich Felker 2016-08-22 4:04 ` H. Peter Anvin 2016-08-22 4:04 ` H. Peter Anvin 2016-08-22 9:59 ` Vegard Nossum 2016-08-22 9:59 ` Vegard Nossum 2016-08-23 15:49 ` Luis R. Rodriguez 2016-08-23 15:49 ` Luis R. Rodriguez 2016-12-22 2:39 ` [PATCH v2 0/6] " Luis R. Rodriguez 2016-12-22 2:39 ` Luis R. Rodriguez 2016-12-22 2:39 ` [PATCH v2 1/6] tools: add a userspace tools bug.h Luis R. Rodriguez 2016-12-22 2:39 ` Luis R. Rodriguez 2016-12-22 2:39 ` [PATCH v2 2/6] tools: add init.h for tools Luis R. Rodriguez 2016-12-22 2:39 ` Luis R. Rodriguez 2016-12-22 2:39 ` [PATCH v2 3/6] tools: add __used and enable to override Luis R. Rodriguez 2016-12-22 2:39 ` Luis R. Rodriguez 2016-12-22 2:39 ` [PATCH v2 4/6] tools: expand export.h with VMLINUX_SYMBOL() Luis R. Rodriguez 2016-12-22 2:39 ` Luis R. Rodriguez 2016-12-22 2:39 ` [PATCH v2 5/6] tools: add __section() to compiler.h Luis R. Rodriguez 2016-12-22 2:39 ` Luis R. Rodriguez 2016-12-22 2:39 ` [PATCH v2 6/6] tools: add userspace linker table sandbox Luis R. Rodriguez 2017-01-09 15:02 ` [PATCH v3 0/6] tools: add linker table userspace sandbox Luis R. Rodriguez 2017-01-09 15:02 ` Luis R. Rodriguez 2017-01-09 15:02 ` [PATCH v3 1/6] tools: add a userspace tools bug.h Luis R. Rodriguez 2017-01-09 15:02 ` Luis R. Rodriguez 2017-01-09 15:02 ` [PATCH v3 2/6] tools: add init.h for tools Luis R. Rodriguez 2017-01-09 15:02 ` Luis R. Rodriguez 2017-01-09 15:02 ` [PATCH v3 3/6] tools: add __used and enable to override Luis R. Rodriguez 2017-01-09 15:02 ` Luis R. Rodriguez 2017-01-09 15:02 ` [PATCH v3 4/6] tools: expand export.h with VMLINUX_SYMBOL() Luis R. Rodriguez 2017-01-09 15:02 ` Luis R. Rodriguez 2017-01-09 15:02 ` [PATCH v3 5/6] tools: add __section() to compiler.h Luis R. Rodriguez 2017-01-09 15:02 ` Luis R. Rodriguez 2017-01-09 15:02 ` [PATCH v3 6/6] tools: add userspace linker table sandbox Luis R. Rodriguez 2017-01-15 21:12 ` [PATCH v4 0/6] tools: add linker table userspace sandbox Luis R. Rodriguez 2017-01-15 21:12 ` Luis R. Rodriguez 2017-01-15 21:12 ` [PATCH v4 1/6] tools: add a userspace tools bug.h Luis R. Rodriguez 2017-01-15 21:12 ` Luis R. Rodriguez 2017-01-19 11:01 ` Greg KH 2017-01-19 11:01 ` Greg KH 2017-01-15 21:12 ` [PATCH v4 2/6] tools: add init.h for tools Luis R. Rodriguez 2017-01-15 21:12 ` Luis R. Rodriguez 2017-01-19 11:02 ` Greg KH 2017-01-19 11:02 ` Greg KH 2017-01-15 21:12 ` [PATCH v4 3/6] tools: add __used and enable to override Luis R. Rodriguez 2017-01-15 21:12 ` Luis R. Rodriguez 2017-01-19 11:02 ` Greg KH 2017-01-19 11:02 ` Greg KH 2017-01-15 21:12 ` [PATCH v4 4/6] tools: expand export.h with VMLINUX_SYMBOL() Luis R. Rodriguez 2017-01-15 21:12 ` Luis R. Rodriguez 2017-01-19 11:03 ` Greg KH 2017-01-19 11:03 ` Greg KH 2017-01-19 11:04 ` Greg KH 2017-01-19 11:04 ` Greg KH 2017-01-15 21:12 ` [PATCH v4 5/6] tools: add __section() to compiler.h Luis R. Rodriguez 2017-01-15 21:12 ` Luis R. Rodriguez 2017-01-19 11:04 ` Greg KH 2017-01-19 11:04 ` Greg KH 2017-01-15 21:12 ` [PATCH v4 6/6] tools: add userspace linker table sandbox Luis R. Rodriguez 2017-01-19 11:07 ` Greg KH 2016-12-22 2:37 ` [PATCH v5 00/14] linux: generalize sections, ranges and linker tables Luis R. Rodriguez 2016-12-22 2:37 ` Luis R. Rodriguez 2016-12-22 2:37 ` [PATCH v5 01/14] generic-sections: add section core helpers Luis R. Rodriguez 2016-12-22 2:37 ` Luis R. Rodriguez 2016-12-22 2:37 ` [PATCH v5 02/14] xtensa: skip adding literal when SORT() is used Luis R. Rodriguez 2016-12-22 2:37 ` Luis R. Rodriguez 2016-12-22 2:37 ` [PATCH v5 03/14] ranges.h: add helpers to build and identify Linux section ranges Luis R. Rodriguez 2016-12-22 2:37 ` Luis R. Rodriguez 2016-12-22 2:38 ` [PATCH v5 04/14] tables.h: add linker table support Luis R. Rodriguez 2016-12-22 2:38 ` Luis R. Rodriguez 2016-12-22 13:58 ` Andy Shevchenko 2016-12-22 13:58 ` Andy Shevchenko 2017-01-03 21:25 ` Luis R. Rodriguez 2017-01-03 21:25 ` Luis R. Rodriguez 2017-01-04 9:47 ` Andy Shevchenko 2017-01-06 20:00 ` Luis R. Rodriguez 2017-01-06 20:43 ` Andy Shevchenko 2017-01-09 14:22 ` Luis R. Rodriguez 2016-12-22 2:38 ` [PATCH v5 05/14] kbuild: enable option to force compile force-obj-y and force-lib-y Luis R. Rodriguez 2016-12-22 2:38 ` Luis R. Rodriguez 2016-12-22 2:38 ` [PATCH v5 06/14] firmware/Makefile: force recompilation if makefile changes Luis R. Rodriguez 2016-12-22 2:38 ` Luis R. Rodriguez 2016-12-22 2:38 ` [PATCH v5 07/14] firmware: port built-in section to linker table Luis R. Rodriguez 2016-12-22 2:38 ` Luis R. Rodriguez 2016-12-22 2:38 ` [PATCH v5 08/14] jump_label: move guard #endif down where it belongs Luis R. Rodriguez 2016-12-22 2:38 ` Luis R. Rodriguez 2016-12-22 2:38 ` [PATCH v5 09/14] jump_label: port __jump_table to linker tables Luis R. Rodriguez 2016-12-22 2:38 ` Luis R. Rodriguez 2016-12-22 14:08 ` Andy Shevchenko 2016-12-22 14:08 ` Andy Shevchenko 2017-01-03 21:27 ` Luis R. Rodriguez 2017-01-03 21:27 ` Luis R. Rodriguez 2016-12-22 2:38 ` [PATCH v5 10/14] dynamic_debug: port to use " Luis R. Rodriguez 2016-12-22 2:38 ` Luis R. Rodriguez 2016-12-22 2:38 ` [PATCH v5 11/14] kprobes: move kprobe declarations to asm-generic/kprobes.h Luis R. Rodriguez 2016-12-22 2:38 ` Luis R. Rodriguez 2016-12-22 2:38 ` [PATCH v5 12/14] kprobes: port .kprobes.text to section range Luis R. Rodriguez 2016-12-22 2:38 ` Luis R. Rodriguez 2016-12-22 2:38 ` [PATCH v5 13/14] kprobes: port blacklist kprobes to linker table Luis R. Rodriguez 2016-12-22 2:38 ` Luis R. Rodriguez 2016-12-22 2:38 ` [PATCH v5 14/14] lib: add linker tables test driver Luis R. Rodriguez 2016-12-22 2:38 ` Luis R. Rodriguez 2017-01-09 14:58 ` [PATCH v6 00/14] linux: generalize sections, ranges and linker tables Luis R. Rodriguez 2017-01-09 14:58 ` Luis R. Rodriguez 2017-01-09 14:58 ` [PATCH v6 01/14] generic-sections: add section core helpers Luis R. Rodriguez 2017-01-09 14:58 ` Luis R. Rodriguez 2017-01-16 14:46 ` Borislav Petkov 2017-01-16 14:46 ` Borislav Petkov 2017-01-09 14:58 ` [PATCH v6 02/14] xtensa: skip adding literal when SORT() is used Luis R. Rodriguez 2017-01-09 14:58 ` Luis R. Rodriguez 2017-01-09 14:58 ` [PATCH v6 03/14] ranges.h: add helpers to build and identify Linux section ranges Luis R. Rodriguez 2017-01-09 14:58 ` Luis R. Rodriguez 2017-01-09 14:58 ` [PATCH v6 04/14] tables.h: add linker table support Luis R. Rodriguez 2017-01-09 14:58 ` Luis R. Rodriguez 2017-01-09 14:58 ` [PATCH v6 05/14] kbuild: enable option to force compile force-obj-y and force-lib-y Luis R. Rodriguez 2017-01-09 14:58 ` Luis R. Rodriguez 2017-01-09 14:58 ` [PATCH v6 06/14] firmware/Makefile: force recompilation if makefile changes Luis R. Rodriguez 2017-01-09 14:58 ` Luis R. Rodriguez 2017-01-09 14:58 ` [PATCH v6 07/14] firmware: port built-in section to linker table Luis R. Rodriguez 2017-01-09 14:58 ` Luis R. Rodriguez 2017-01-09 14:58 ` [PATCH v6 08/14] jump_label: move guard #endif down where it belongs Luis R. Rodriguez 2017-01-09 14:58 ` Luis R. Rodriguez 2017-01-09 14:58 ` [PATCH v6 09/14] jump_label: port __jump_table to linker tables Luis R. Rodriguez 2017-01-09 14:58 ` Luis R. Rodriguez 2017-01-09 14:58 ` [PATCH v6 10/14] dynamic_debug: port to use " Luis R. Rodriguez 2017-01-09 14:58 ` Luis R. Rodriguez 2017-01-09 14:58 ` [PATCH v6 11/14] kprobes: move kprobe declarations to asm-generic/kprobes.h Luis R. Rodriguez 2017-01-09 14:58 ` Luis R. Rodriguez 2017-01-09 14:58 ` [PATCH v6 12/14] kprobes: port .kprobes.text to section range Luis R. Rodriguez 2017-01-09 14:58 ` Luis R. Rodriguez 2017-01-09 14:58 ` [PATCH v6 13/14] kprobes: port blacklist kprobes to linker table Luis R. Rodriguez 2017-01-09 14:58 ` Luis R. Rodriguez 2017-01-09 14:58 ` [PATCH v6 14/14] lib: add linker tables test driver Luis R. Rodriguez 2017-01-09 14:58 ` Luis R. Rodriguez 2017-01-09 16:27 ` [PATCH v6 00/14] linux: generalize sections, ranges and linker tables Andy Shevchenko 2017-01-09 16:27 ` Andy Shevchenko 2017-01-09 16:36 ` Luis R. Rodriguez 2017-01-09 17:12 ` Shevchenko, Andriy 2017-01-09 17:16 ` Luis R. Rodriguez 2017-01-09 18:29 ` Andy Shevchenko 2017-01-09 18:29 ` Andy Shevchenko 2017-01-11 14:37 ` Luis R. Rodriguez 2017-01-11 14:37 ` Luis R. Rodriguez 2017-01-15 21:10 ` [PATCH v7 " Luis R. Rodriguez 2017-01-15 21:10 ` Luis R. Rodriguez 2017-01-15 21:10 ` [PATCH v7 01/14] generic-sections: add section core helpers Luis R. Rodriguez 2017-01-15 21:10 ` Luis R. Rodriguez 2017-01-19 11:09 ` Greg KH 2017-01-19 11:09 ` Greg KH 2017-01-15 21:10 ` [PATCH v7 02/14] xtensa: skip adding literal when SORT() is used Luis R. Rodriguez 2017-01-15 21:10 ` Luis R. Rodriguez 2017-01-18 11:29 ` Borislav Petkov 2017-01-18 11:29 ` Borislav Petkov 2017-01-15 21:10 ` [PATCH v7 03/14] ranges.h: add helpers to build and identify Linux section ranges Luis R. Rodriguez 2017-01-15 21:10 ` Luis R. Rodriguez 2017-01-19 11:11 ` Greg KH 2017-01-19 11:11 ` Greg KH 2017-01-15 21:10 ` [PATCH v7 04/14] tables.h: add linker table support Luis R. Rodriguez 2017-01-15 21:10 ` Luis R. Rodriguez 2017-01-19 11:13 ` Greg KH 2017-01-19 11:13 ` Greg KH 2017-01-15 21:10 ` [PATCH v7 05/14] kbuild: enable option to force compile force-obj-y and force-lib-y Luis R. Rodriguez 2017-01-15 21:10 ` Luis R. Rodriguez 2017-01-19 11:18 ` Greg KH 2017-01-19 11:18 ` Greg KH 2017-01-15 21:10 ` [PATCH v7 06/14] firmware/Makefile: force recompilation if makefile changes Luis R. Rodriguez 2017-01-15 21:10 ` Luis R. Rodriguez 2017-01-19 11:19 ` Greg KH 2017-01-19 11:19 ` Greg KH 2017-01-23 16:12 ` Luis R. Rodriguez 2017-01-15 21:10 ` [PATCH v7 07/14] firmware: port built-in section to linker table Luis R. Rodriguez 2017-01-15 21:10 ` Luis R. Rodriguez 2017-01-15 21:10 ` [PATCH v7 08/14] jump_label: move guard #endif down where it belongs Luis R. Rodriguez 2017-01-15 21:10 ` Luis R. Rodriguez 2017-01-19 11:20 ` Greg KH 2017-01-19 11:20 ` Greg KH 2017-01-15 21:10 ` [PATCH v7 09/14] jump_label: port __jump_table to linker tables Luis R. Rodriguez 2017-01-15 21:10 ` Luis R. Rodriguez 2017-01-19 11:24 ` Greg KH 2017-01-19 11:24 ` Greg KH 2017-01-15 21:10 ` [PATCH v7 10/14] dynamic_debug: port to use " Luis R. Rodriguez 2017-01-15 21:10 ` Luis R. Rodriguez 2017-01-15 21:10 ` [PATCH v7 11/14] kprobes: move kprobe declarations to asm-generic/kprobes.h Luis R. Rodriguez 2017-01-15 21:10 ` Luis R. Rodriguez 2017-01-15 21:10 ` [PATCH v7 12/14] kprobes: port .kprobes.text to section range Luis R. Rodriguez 2017-01-15 21:10 ` Luis R. Rodriguez 2017-01-15 21:10 ` [PATCH v7 13/14] kprobes: port blacklist kprobes to linker table Luis R. Rodriguez 2017-01-15 21:10 ` Luis R. Rodriguez 2017-01-15 21:10 ` [PATCH v7 14/14] lib: add linker tables test driver Luis R. Rodriguez 2017-01-15 21:10 ` Luis R. Rodriguez
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=1471642454-5679-14-git-send-email-mcgrof@kernel.org \ --to=mcgrof@kernel.org \ --cc=ak@linux.intel.com \ --cc=alan@linux.intel.com \ --cc=ananth@in.ibm.com \ --cc=ananth@linux.vnet.ibm.com \ --cc=andrew.cooper3@citrix.com \ --cc=andriy.shevchenko@linux.intel.com \ --cc=anil.s.keshavamurthy@intel.com \ --cc=arnd@arndb.de \ --cc=benh@kernel.crashing.org \ --cc=bp@alien8.de \ --cc=davem@davemloft.net \ --cc=david.vrabel@citrix.com \ --cc=dvhart@infradead.org \ --cc=dwmw2@infradead.org \ --cc=fontana@sharpeleven.org \ --cc=gnomes@lxorguk.ukuu.org.uk \ --cc=gregkh@linuxfoundation.org \ --cc=heiko.carstens@de.ibm.com \ --cc=hpa@zytor.com \ --cc=jbaron@akamai.com \ --cc=jgross@suse.com \ --cc=jkosina@suse.cz \ --cc=jpoimboe@redhat.com \ --cc=keescook@chromium.org \ --cc=konrad.wilk@oracle.com \ --cc=korea.drzix@gmail.com \ --cc=linux-arch@vger.kernel.org \ --cc=linux-kbuild@vger.kernel.org \ --cc=linux@arm.linux.org.uk \ --cc=linux@rasmusvillemoes.dk \ --cc=luto@amacapital.net \ --cc=masami.hiramatsu.pt@hitachi.com \ --cc=mcb30@ipxe.org \ --cc=mhiramat@kernel.org \ --cc=ming.lei@canonical.com \ --cc=mingo@redhat.com \ --cc=mmarek@suse.com \ --cc=pali.rohar@gmail.com \ --cc=paul.gortmaker@windriver.com \ --cc=pebolle@tiscali.nl \ --cc=platform-driver-x86@vger.kernel.org \ --cc=realmz6@gmail.com \ --cc=rusty@rustcorp.com.au \ --cc=tglx@linutronix.de \ --cc=torvalds@linux-foundation.org \ --cc=x86@kernel.org \ --cc=xen-devel@lists.xensource.com \ /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: linkBe 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; as well as URLs for NNTP newsgroup(s).