From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933571AbcK2PBO (ORCPT ); Tue, 29 Nov 2016 10:01:14 -0500 Received: from mail.kernel.org ([198.145.29.136]:47496 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933835AbcK2O7w (ORCPT ); Tue, 29 Nov 2016 09:59:52 -0500 Message-Id: <20161129145657.483474913@goodmis.org> User-Agent: quilt/0.63-1 Date: Tue, 29 Nov 2016 09:56:57 -0500 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Ingo Molnar , Andrew Morton , Masami Hiramatsu , Mathieu Desnoyers , Namhyung Kim Subject: [PATCH 0/4] tracing: Have tracepoint reg functions allowed to fail Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I added a 'trace_event=*:*' to my command line and it crashed the system. The reason was because it enabled the tracepoint benchmark which has a reg function that creates a thread. But the kernel command line tracepoint enabling is done before the scheduler is set up, and thus the creation of a thread killed the kernel. But then I noticed that there's no way for the reg to tell the calling function that it failed to set up. I changed that so that it can fail and notify the users that the tracepoint did not get enabled due to a failure. git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git ftrace/core Head SHA1: 9d08cef4a375e171008ed3a041e930aae20cc940 Steven Rostedt (Red Hat) (4): tracing: Have the reg function allow to fail tracing: Do not start benchmark on boot up tracing: Have system enable return error if one of the events fail tracing: Allow benchmark to be enabled at early_initcall() ---- arch/powerpc/include/asm/trace.h | 4 ++-- arch/powerpc/platforms/powernv/opal-tracepoints.c | 6 ++++-- arch/powerpc/platforms/pseries/lpar.c | 6 ++++-- arch/x86/include/asm/trace/exceptions.h | 2 +- arch/x86/include/asm/trace/irq_vectors.h | 2 +- arch/x86/kernel/tracepoint.c | 3 ++- drivers/i2c/i2c-core.c | 3 ++- include/linux/tracepoint-defs.h | 2 +- include/linux/tracepoint.h | 2 +- include/trace/events/i2c.h | 2 +- kernel/trace/trace_benchmark.c | 26 +++++++++++++++++++++-- kernel/trace/trace_benchmark.h | 2 +- kernel/trace/trace_events.c | 13 ++++++++++-- kernel/tracepoint.c | 12 ++++++++--- samples/trace_events/trace-events-sample.c | 3 ++- samples/trace_events/trace-events-sample.h | 2 +- 16 files changed, 67 insertions(+), 23 deletions(-)