Received: by 10.223.185.116 with SMTP id b49csp1008960wrg; Fri, 16 Feb 2018 10:44:02 -0800 (PST) X-Google-Smtp-Source: AH8x22516kf6131wXv5rs61yCaPv/Fd9YGTaK0J+TaHmt1nWnWS5dUPQyapQU8sNRRt0Z4Wm8/MO X-Received: by 10.98.105.199 with SMTP id e190mr6989312pfc.70.1518806642816; Fri, 16 Feb 2018 10:44:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518806642; cv=none; d=google.com; s=arc-20160816; b=CTcZ9Wrj7RfbvT+01Ckg8tHEi77b3CUFbF6WSYIeI5fIqsIUNzmlYC/d6A4cYx1zsU /i0qtg6c+ou7jNmnBMgd9sepq7ix5XKzSPHURh8dBabkmcWWBHhpHkLQJLPb/srnQL3D bptiwRgLvdCVWUIDyVqNKq36ZlHNdBgAucSC3rHQJh6oEdNb7tibKaxb2KXz3Mioyo+W 2j3lOhzxQTU9pBuitJ6inx99YqLnvcKWI1pJg0a+ZhqxGQ8eCPG73TtlGUy6ieo3hIBo 7ZYFA/k4uvxlx6lYvFUlHHbYRHxgaO2HrbxT/sBQEqOSz/usGP9tpb0CNl8UQ7GYJsPR Wi3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=INsikXMMT6MksxA/u1wQB+ZRii7VAMprrDzHvKWIYIA=; b=0vrhIpfOs1UO1MYZSOoAtFc0N3igfpk3+Un2rdj04sEk1tbi5x01roa6/rHNcy/38h VRowmxVDYNfIBuLNfh9ial3lPFCN99jhgN6V+/6LMN87KIw5ez0IczIvUfgF9nZY43bm krsn8J9KetR/VApgS6WR80JJahLSEG4KbqBRlhMenZFLzaZ72vwFEZHjPVJSNTaKMeWs MR/LTvUhGe34ebpHu/tXmqIOCKRtM/s7glBwB/AesP7gh+9QmjnZobVpRyHh8z37syLC lJHUlrBxwOR1oUT29WaZgnAU7cXzK81v4vWO7o7csgXxS4PNbXyS8fGjg2qZuzV459l9 ARrQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n6si1681934pgr.31.2018.02.16.10.43.48; Fri, 16 Feb 2018 10:44:02 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1423199AbeBPDVd (ORCPT + 99 others); Thu, 15 Feb 2018 22:21:33 -0500 Received: from mga18.intel.com ([134.134.136.126]:1689 "EHLO mga18.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757384AbeBPDVO (ORCPT ); Thu, 15 Feb 2018 22:21:14 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Feb 2018 19:21:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,519,1511856000"; d="scan'208";a="18576212" Received: from gvt-dell.bj.intel.com (HELO gvt-dell-host.bj.intel.com) ([10.238.154.59]) by orsmga008.jf.intel.com with ESMTP; 15 Feb 2018 19:21:12 -0800 From: changbin.du@intel.com To: corbet@lwn.net, rostedt@goodmis.org, mingo@kernel.org Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Changbin Du Subject: [PATCH 3/3] Documentation: add ftrace-uses.rst to doc tree Date: Fri, 16 Feb 2018 11:12:19 +0800 Message-Id: <1518750739-12514-4-git-send-email-changbin.du@intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1518750739-12514-1-git-send-email-changbin.du@intel.com> References: <1518750739-12514-1-git-send-email-changbin.du@intel.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Changbin Du Signed-off-by: Changbin Du --- Documentation/trace/ftrace-uses.rst | 23 ++++++++++++----------- Documentation/trace/index.rst | 1 + 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Documentation/trace/ftrace-uses.rst b/Documentation/trace/ftrace-uses.rst index 3aed560..998a60a 100644 --- a/Documentation/trace/ftrace-uses.rst +++ b/Documentation/trace/ftrace-uses.rst @@ -21,13 +21,14 @@ how to use ftrace to implement your own function callbacks. The ftrace context ================== +.. warning:: -WARNING: The ability to add a callback to almost any function within the -kernel comes with risks. A callback can be called from any context -(normal, softirq, irq, and NMI). Callbacks can also be called just before -going to idle, during CPU bring up and takedown, or going to user space. -This requires extra care to what can be done inside a callback. A callback -can be called outside the protective scope of RCU. + The ability to add a callback to almost any function within the + kernel comes with risks. A callback can be called from any context + (normal, softirq, irq, and NMI). Callbacks can also be called just before + going to idle, during CPU bring up and takedown, or going to user space. + This requires extra care to what can be done inside a callback. A callback + can be called outside the protective scope of RCU. The ftrace infrastructure has some protections agains recursions and RCU but one must still be very careful how they use the callbacks. @@ -54,15 +55,15 @@ an ftrace_ops with ftrace: Both .flags and .private are optional. Only .func is required. -To enable tracing call:: +To enable tracing call: .. c:function:: register_ftrace_function(&ops); -To disable tracing call:: +To disable tracing call: .. c:function:: unregister_ftrace_function(&ops); -The above is defined by including the header:: +The above is defined by including the header: .. c:function:: #include @@ -200,7 +201,7 @@ match a specific pattern. See Filter Commands in :file:`Documentation/trace/ftrace.txt`. -To just trace the schedule function:: +To just trace the schedule function: .. code-block:: c @@ -210,7 +211,7 @@ To add more functions, call the ftrace_set_filter() more than once with the @reset parameter set to zero. To remove the current filter set and replace it with new functions defined by @buf, have @reset be non-zero. -To remove all the filtered functions and trace all functions:: +To remove all the filtered functions and trace all functions: .. code-block:: c diff --git a/Documentation/trace/index.rst b/Documentation/trace/index.rst index c8000ba..aa2baad 100644 --- a/Documentation/trace/index.rst +++ b/Documentation/trace/index.rst @@ -6,3 +6,4 @@ Linux Tracing Technologies :maxdepth: 2 ftrace-design + ftrace-uses -- 2.7.4