Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp651033yba; Wed, 24 Apr 2019 07:28:31 -0700 (PDT) X-Google-Smtp-Source: APXvYqx9Nb2+Z4kJ5gnn6GID2JB8fbyaO8cU4Nomf9TSfpDyR24ctOjLgySAZlge3xxkSB1IR3FG X-Received: by 2002:a63:f212:: with SMTP id v18mr28793758pgh.231.1556116111248; Wed, 24 Apr 2019 07:28:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556116111; cv=none; d=google.com; s=arc-20160816; b=HQH2uoVz5EmM1/x6M4hLAZ6Hr5vNI69e5wTHz6iWy8M/fjThjtpJjRHqpi8lWKkK+3 W+sS19EoGniaJLuL94ONF8vIniC4v+0Q0zzEemb/vbOQiI8dtv0e7y7ctEcr+L3DwQxR 2nH7fNo7f1Jq9j/p/8BOF3OicBoJ5srbL47eTWvryT/7l6E4QGGT9catAtvuTLPGh9jd FchB0p8Udlrb2wTwJZl51aPvRb7g1aYp/q988gNRT+dsDEGSl1pZcz5Aaq2ezZ1RACqs PJTUKwhhjnNPCyaYeDSP/8rzTGmZSW7X35t0T9U0iEY55KzDQJ/T6WPOLSrtqgDCuPJm QshQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=BNEaPw5zdsWekVyjaU1nts2r4UktvEcYt0KDPvAT0Kg=; b=Qs3h/aZvGU0cMgapYQSOUiTkT2AJkLsTsZ2iNkAszw9ea0MLMIOtsDG6u3TZcR15+J toC36x/eZePmnr8Jt+ANsaSloW5rGH9PA7yGlFlna4g0gEpQj21XjlfSJONBfQP6ZvZs rngmiVphkFJ3rkRuper8iP/PFPqrVNGgX9BUxFgldWcwKry8+ZkprR5TER8ROHP/m6yG h2/maLeH6irbFHBT9sKDwe0fOWtGlXLtf98+BgOtchHJZ/hVqpYbB1BCd9pLfSZYyw3d +ZLPmcORJvf5o61aG/7v6ZBZSFdeIvw9OGFyp6UqCUBLDePKAXhP1VxEIYCRZKyWYEHe r4Gw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=casper.20170209 header.b=evAze0sX; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w19si19126242ply.103.2019.04.24.07.28.15; Wed, 24 Apr 2019 07:28:31 -0700 (PDT) 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; dkim=fail header.i=@infradead.org header.s=casper.20170209 header.b=evAze0sX; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730465AbfDXO0v (ORCPT + 99 others); Wed, 24 Apr 2019 10:26:51 -0400 Received: from casper.infradead.org ([85.118.1.10]:44652 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725935AbfDXO0v (ORCPT ); Wed, 24 Apr 2019 10:26:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=BNEaPw5zdsWekVyjaU1nts2r4UktvEcYt0KDPvAT0Kg=; b=evAze0sXr/R2VEXxfF49yYDX9R EoFv4LjEPqt5auay1ZgQBG+kZEmxyTfy9Vikg4u5dHar5EAuLTqs1Z1DoJHRY5SbGAgqApQwjQZxt UrHSMXjjn0ApAaDCwrnVQtK0q4NVbF501+TnZOE4k0KzHaa1tnVdKf2WuGftfP87Lw89V1qVfeZG/ phk4wWX/DChuOshwQW14o6W0zi+3XKnqqhAz14VkOs/ivXbcxbLUq8njR1fo5UXWK3rrUULNum8nw 9B0GEJJrFmpV4E8yk+QTHYVvoD06vg9BnzmN/JyyB80yv8L9mbEmf6+xBzuL8pMpk6/lIZIHahjwz IcGgjYhg==; Received: from 177.17.136.231.dynamic.adsl.gvt.net.br ([177.17.136.231] helo=coco.lan) by casper.infradead.org with esmtpsa (Exim 4.90_1 #2 (Red Hat Linux)) id 1hJIrE-0007G5-TZ; Wed, 24 Apr 2019 14:26:45 +0000 Date: Wed, 24 Apr 2019 11:26:38 -0300 From: Mauro Carvalho Chehab To: Changbin Du Cc: Jonathan Corbet , Bjorn Helgaas , rjw@rjwysocki.net, linux-pci@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, tglx@linutronix.de, mingo@redhat.com, x86@kernel.org, fenghua.yu@intel.com, linuxppc-dev@lists.ozlabs.org, linux-acpi@vger.kernel.org, linux-gpio@vger.kernel.org Subject: Re: [PATCH v4 17/63] Documentation: ACPI: move method-tracing.txt to firmware-guide/acpi and convert to rsST Message-ID: <20190424112638.1b9f7cfb@coco.lan> In-Reply-To: <20190423162932.21428-18-changbin.du@gmail.com> References: <20190423162932.21428-1-changbin.du@gmail.com> <20190423162932.21428-18-changbin.du@gmail.com> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Wed, 24 Apr 2019 00:28:46 +0800 Changbin Du escreveu: > This converts the plain text documentation to reStructuredText format and > add it to Sphinx TOC tree. No essential content change. > > Signed-off-by: Changbin Du > --- > Documentation/acpi/method-tracing.txt | 192 --------------- > Documentation/firmware-guide/acpi/index.rst | 1 + > .../firmware-guide/acpi/method-tracing.rst | 225 ++++++++++++++++++ > 3 files changed, 226 insertions(+), 192 deletions(-) > delete mode 100644 Documentation/acpi/method-tracing.txt > create mode 100644 Documentation/firmware-guide/acpi/method-tracing.rst > > diff --git a/Documentation/acpi/method-tracing.txt b/Documentation/acpi/method-tracing.txt > deleted file mode 100644 > index 0aba14c8f459..000000000000 > --- a/Documentation/acpi/method-tracing.txt > +++ /dev/null > @@ -1,192 +0,0 @@ > -ACPICA Trace Facility > - > -Copyright (C) 2015, Intel Corporation > -Author: Lv Zheng > - > - > -Abstract: > - > -This document describes the functions and the interfaces of the method > -tracing facility. > - > -1. Functionalities and usage examples: > - > - ACPICA provides method tracing capability. And two functions are > - currently implemented using this capability. > - > - A. Log reducer > - ACPICA subsystem provides debugging outputs when CONFIG_ACPI_DEBUG is > - enabled. The debugging messages which are deployed via > - ACPI_DEBUG_PRINT() macro can be reduced at 2 levels - per-component > - level (known as debug layer, configured via > - /sys/module/acpi/parameters/debug_layer) and per-type level (known as > - debug level, configured via /sys/module/acpi/parameters/debug_level). > - > - But when the particular layer/level is applied to the control method > - evaluations, the quantity of the debugging outputs may still be too > - large to be put into the kernel log buffer. The idea thus is worked out > - to only enable the particular debug layer/level (normally more detailed) > - logs when the control method evaluation is started, and disable the > - detailed logging when the control method evaluation is stopped. > - > - The following command examples illustrate the usage of the "log reducer" > - functionality: > - a. Filter out the debug layer/level matched logs when control methods > - are being evaluated: > - # cd /sys/module/acpi/parameters > - # echo "0xXXXXXXXX" > trace_debug_layer > - # echo "0xYYYYYYYY" > trace_debug_level > - # echo "enable" > trace_state > - b. Filter out the debug layer/level matched logs when the specified > - control method is being evaluated: > - # cd /sys/module/acpi/parameters > - # echo "0xXXXXXXXX" > trace_debug_layer > - # echo "0xYYYYYYYY" > trace_debug_level > - # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name > - # echo "method" > /sys/module/acpi/parameters/trace_state > - c. Filter out the debug layer/level matched logs when the specified > - control method is being evaluated for the first time: > - # cd /sys/module/acpi/parameters > - # echo "0xXXXXXXXX" > trace_debug_layer > - # echo "0xYYYYYYYY" > trace_debug_level > - # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name > - # echo "method-once" > /sys/module/acpi/parameters/trace_state > - Where: > - 0xXXXXXXXX/0xYYYYYYYY: Refer to Documentation/acpi/debug.txt for > - possible debug layer/level masking values. > - \PPPP.AAAA.TTTT.HHHH: Full path of a control method that can be found > - in the ACPI namespace. It needn't be an entry > - of a control method evaluation. > - > - B. AML tracer > - > - There are special log entries added by the method tracing facility at > - the "trace points" the AML interpreter starts/stops to execute a control > - method, or an AML opcode. Note that the format of the log entries are > - subject to change: > - [ 0.186427] exdebug-0398 ex_trace_point : Method Begin [0xf58394d8:\_SB.PCI0.LPCB.ECOK] execution. > - [ 0.186630] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905c88:If] execution. > - [ 0.186820] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905cc0:LEqual] execution. > - [ 0.187010] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905a20:-NamePath-] execution. > - [ 0.187214] exdebug-0398 ex_trace_point : Opcode End [0xf5905a20:-NamePath-] execution. > - [ 0.187407] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905f60:One] execution. > - [ 0.187594] exdebug-0398 ex_trace_point : Opcode End [0xf5905f60:One] execution. > - [ 0.187789] exdebug-0398 ex_trace_point : Opcode End [0xf5905cc0:LEqual] execution. > - [ 0.187980] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905cc0:Return] execution. > - [ 0.188146] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905f60:One] execution. > - [ 0.188334] exdebug-0398 ex_trace_point : Opcode End [0xf5905f60:One] execution. > - [ 0.188524] exdebug-0398 ex_trace_point : Opcode End [0xf5905cc0:Return] execution. > - [ 0.188712] exdebug-0398 ex_trace_point : Opcode End [0xf5905c88:If] execution. > - [ 0.188903] exdebug-0398 ex_trace_point : Method End [0xf58394d8:\_SB.PCI0.LPCB.ECOK] execution. > - > - Developers can utilize these special log entries to track the AML > - interpretion, thus can aid issue debugging and performance tuning. Note > - that, as the "AML tracer" logs are implemented via ACPI_DEBUG_PRINT() > - macro, CONFIG_ACPI_DEBUG is also required to be enabled for enabling > - "AML tracer" logs. > - > - The following command examples illustrate the usage of the "AML tracer" > - functionality: > - a. Filter out the method start/stop "AML tracer" logs when control > - methods are being evaluated: > - # cd /sys/module/acpi/parameters > - # echo "0x80" > trace_debug_layer > - # echo "0x10" > trace_debug_level > - # echo "enable" > trace_state > - b. Filter out the method start/stop "AML tracer" when the specified > - control method is being evaluated: > - # cd /sys/module/acpi/parameters > - # echo "0x80" > trace_debug_layer > - # echo "0x10" > trace_debug_level > - # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name > - # echo "method" > trace_state > - c. Filter out the method start/stop "AML tracer" logs when the specified > - control method is being evaluated for the first time: > - # cd /sys/module/acpi/parameters > - # echo "0x80" > trace_debug_layer > - # echo "0x10" > trace_debug_level > - # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name > - # echo "method-once" > trace_state > - d. Filter out the method/opcode start/stop "AML tracer" when the > - specified control method is being evaluated: > - # cd /sys/module/acpi/parameters > - # echo "0x80" > trace_debug_layer > - # echo "0x10" > trace_debug_level > - # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name > - # echo "opcode" > trace_state > - e. Filter out the method/opcode start/stop "AML tracer" when the > - specified control method is being evaluated for the first time: > - # cd /sys/module/acpi/parameters > - # echo "0x80" > trace_debug_layer > - # echo "0x10" > trace_debug_level > - # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name > - # echo "opcode-opcode" > trace_state > - > - Note that all above method tracing facility related module parameters can > - be used as the boot parameters, for example: > - acpi.trace_debug_layer=0x80 acpi.trace_debug_level=0x10 \ > - acpi.trace_method_name=\_SB.LID0._LID acpi.trace_state=opcode-once > - > -2. Interface descriptions: > - > - All method tracing functions can be configured via ACPI module > - parameters that are accessible at /sys/module/acpi/parameters/: > - > - trace_method_name > - The full path of the AML method that the user wants to trace. > - Note that the full path shouldn't contain the trailing "_"s in its > - name segments but may contain "\" to form an absolute path. > - > - trace_debug_layer > - The temporary debug_layer used when the tracing feature is enabled. > - Using ACPI_EXECUTER (0x80) by default, which is the debug_layer > - used to match all "AML tracer" logs. > - > - trace_debug_level > - The temporary debug_level used when the tracing feature is enabled. > - Using ACPI_LV_TRACE_POINT (0x10) by default, which is the > - debug_level used to match all "AML tracer" logs. > - > - trace_state > - The status of the tracing feature. > - Users can enable/disable this debug tracing feature by executing > - the following command: > - # echo string > /sys/module/acpi/parameters/trace_state > - Where "string" should be one of the following: > - "disable" > - Disable the method tracing feature. > - "enable" > - Enable the method tracing feature. > - ACPICA debugging messages matching > - "trace_debug_layer/trace_debug_level" during any method > - execution will be logged. > - "method" > - Enable the method tracing feature. > - ACPICA debugging messages matching > - "trace_debug_layer/trace_debug_level" during method execution > - of "trace_method_name" will be logged. > - "method-once" > - Enable the method tracing feature. > - ACPICA debugging messages matching > - "trace_debug_layer/trace_debug_level" during method execution > - of "trace_method_name" will be logged only once. > - "opcode" > - Enable the method tracing feature. > - ACPICA debugging messages matching > - "trace_debug_layer/trace_debug_level" during method/opcode > - execution of "trace_method_name" will be logged. > - "opcode-once" > - Enable the method tracing feature. > - ACPICA debugging messages matching > - "trace_debug_layer/trace_debug_level" during method/opcode > - execution of "trace_method_name" will be logged only once. > - Note that, the difference between the "enable" and other feature > - enabling options are: > - 1. When "enable" is specified, since > - "trace_debug_layer/trace_debug_level" shall apply to all control > - method evaluations, after configuring "trace_state" to "enable", > - "trace_method_name" will be reset to NULL. > - 2. When "method/opcode" is specified, if > - "trace_method_name" is NULL when "trace_state" is configured to > - these options, the "trace_debug_layer/trace_debug_level" will > - apply to all control method evaluations. > diff --git a/Documentation/firmware-guide/acpi/index.rst b/Documentation/firmware-guide/acpi/index.rst > index a45fea11f998..287a7cbd82ac 100644 > --- a/Documentation/firmware-guide/acpi/index.rst > +++ b/Documentation/firmware-guide/acpi/index.rst > @@ -13,6 +13,7 @@ ACPI Support > enumeration > osi > method-customizing > + method-tracing > DSD-properties-rules > debug > gpio-properties > diff --git a/Documentation/firmware-guide/acpi/method-tracing.rst b/Documentation/firmware-guide/acpi/method-tracing.rst > new file mode 100644 > index 000000000000..7a997ba168d7 > --- /dev/null > +++ b/Documentation/firmware-guide/acpi/method-tracing.rst > @@ -0,0 +1,225 @@ > +.. SPDX-License-Identifier: GPL-2.0 > +.. include:: > + > +===================== > +ACPICA Trace Facility > +===================== > + > +:Copyright: |copy| 2015, Intel Corporation > +:Author: Lv Zheng > + > + > +:Abstract: This document describes the functions and the interfaces of the > + method tracing facility. Same comment as on other patches. > + > +1. Functionalities and usage examples > +===================================== > + > +ACPICA provides method tracing capability. And two functions are > +currently implemented using this capability. > + > +Log reducer > +-------------- > + > +ACPICA subsystem provides debugging outputs when CONFIG_ACPI_DEBUG is > +enabled. The debugging messages which are deployed via > +ACPI_DEBUG_PRINT() macro can be reduced at 2 levels - per-component > +level (known as debug layer, configured via > +/sys/module/acpi/parameters/debug_layer) and per-type level (known as > +debug level, configured via /sys/module/acpi/parameters/debug_level). > + > +But when the particular layer/level is applied to the control method > +evaluations, the quantity of the debugging outputs may still be too > +large to be put into the kernel log buffer. The idea thus is worked out > +to only enable the particular debug layer/level (normally more detailed) > +logs when the control method evaluation is started, and disable the > +detailed logging when the control method evaluation is stopped. > + > +The following command examples illustrate the usage of the "log reducer" > +functionality: > + > +a. Filter out the debug layer/level matched logs when control methods > + are being evaluated:: > + > + # cd /sys/module/acpi/parameters > + # echo "0xXXXXXXXX" > trace_debug_layer > + # echo "0xYYYYYYYY" > trace_debug_level > + # echo "enable" > trace_state > + > +b. Filter out the debug layer/level matched logs when the specified > + control method is being evaluated:: > + > + # cd /sys/module/acpi/parameters > + # echo "0xXXXXXXXX" > trace_debug_layer > + # echo "0xYYYYYYYY" > trace_debug_level > + # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name > + # echo "method" > /sys/module/acpi/parameters/trace_state > + > +c. Filter out the debug layer/level matched logs when the specified > + control method is being evaluated for the first time:: > + > + # cd /sys/module/acpi/parameters > + # echo "0xXXXXXXXX" > trace_debug_layer > + # echo "0xYYYYYYYY" > trace_debug_level > + # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name > + # echo "method-once" > /sys/module/acpi/parameters/trace_state > + > +Where: > + 0xXXXXXXXX/0xYYYYYYYY > + Refer to Documentation/acpi/debug.txt for possible debug layer/level > + masking values. > + \PPPP.AAAA.TTTT.HHHH > + Full path of a control method that can be found in the ACPI namespace. > + It needn't be an entry of a control method evaluation. > + > +AML tracer > +------------- The markup is bigger than the line. You should have seen a Sphinx warning here. > + > +There are special log entries added by the method tracing facility at > +the "trace points" the AML interpreter starts/stops to execute a control > +method, or an AML opcode. Note that the format of the log entries are > +subject to change:: > + > + [ 0.186427] exdebug-0398 ex_trace_point : Method Begin [0xf58394d8:\_SB.PCI0.LPCB.ECOK] execution. > + [ 0.186630] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905c88:If] execution. > + [ 0.186820] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905cc0:LEqual] execution. > + [ 0.187010] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905a20:-NamePath-] execution. > + [ 0.187214] exdebug-0398 ex_trace_point : Opcode End [0xf5905a20:-NamePath-] execution. > + [ 0.187407] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905f60:One] execution. > + [ 0.187594] exdebug-0398 ex_trace_point : Opcode End [0xf5905f60:One] execution. > + [ 0.187789] exdebug-0398 ex_trace_point : Opcode End [0xf5905cc0:LEqual] execution. > + [ 0.187980] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905cc0:Return] execution. > + [ 0.188146] exdebug-0398 ex_trace_point : Opcode Begin [0xf5905f60:One] execution. > + [ 0.188334] exdebug-0398 ex_trace_point : Opcode End [0xf5905f60:One] execution. > + [ 0.188524] exdebug-0398 ex_trace_point : Opcode End [0xf5905cc0:Return] execution. > + [ 0.188712] exdebug-0398 ex_trace_point : Opcode End [0xf5905c88:If] execution. > + [ 0.188903] exdebug-0398 ex_trace_point : Method End [0xf58394d8:\_SB.PCI0.LPCB.ECOK] execution. > + > +Developers can utilize these special log entries to track the AML > +interpretion, thus can aid issue debugging and performance tuning. Note > +that, as the "AML tracer" logs are implemented via ACPI_DEBUG_PRINT() > +macro, CONFIG_ACPI_DEBUG is also required to be enabled for enabling > +"AML tracer" logs. > + > +The following command examples illustrate the usage of the "AML tracer" > +functionality: > + > +a. Filter out the method start/stop "AML tracer" logs when control > + methods are being evaluated:: > + > + # cd /sys/module/acpi/parameters > + # echo "0x80" > trace_debug_layer > + # echo "0x10" > trace_debug_level > + # echo "enable" > trace_state > + > +b. Filter out the method start/stop "AML tracer" when the specified > + control method is being evaluated:: > + > + # cd /sys/module/acpi/parameters > + # echo "0x80" > trace_debug_layer > + # echo "0x10" > trace_debug_level > + # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name > + # echo "method" > trace_state > + > +c. Filter out the method start/stop "AML tracer" logs when the specified > + control method is being evaluated for the first time:: > + > + # cd /sys/module/acpi/parameters > + # echo "0x80" > trace_debug_layer > + # echo "0x10" > trace_debug_level > + # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name > + # echo "method-once" > trace_state > + > +d. Filter out the method/opcode start/stop "AML tracer" when the > + specified control method is being evaluated:: > + > + # cd /sys/module/acpi/parameters > + # echo "0x80" > trace_debug_layer > + # echo "0x10" > trace_debug_level > + # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name > + # echo "opcode" > trace_state > + > +e. Filter out the method/opcode start/stop "AML tracer" when the > + specified control method is being evaluated for the first time:: > + > + # cd /sys/module/acpi/parameters > + # echo "0x80" > trace_debug_layer > + # echo "0x10" > trace_debug_level > + # echo "\PPPP.AAAA.TTTT.HHHH" > trace_method_name > + # echo "opcode-opcode" > trace_state > + > +Note that all above method tracing facility related module parameters can > +be used as the boot parameters, for example:: > + > + acpi.trace_debug_layer=0x80 acpi.trace_debug_level=0x10 \ > + acpi.trace_method_name=\_SB.LID0._LID acpi.trace_state=opcode-once > + > +2. Interface descriptions > +========================= > + > +All method tracing functions can be configured via ACPI module > +parameters that are accessible at /sys/module/acpi/parameters/: > + > +trace_method_name > +The full path of the AML method that the user wants to trace. > +Note that the full path shouldn't contain the trailing "_"s in its > +name segments but may contain "\" to form an absolute path. > + > +trace_debug_layer > +The temporary debug_layer used when the tracing feature is enabled. > +Using ACPI_EXECUTER (0x80) by default, which is the debug_layer > +used to match all "AML tracer" logs. > + > +trace_debug_level > +The temporary debug_level used when the tracing feature is enabled. > +Using ACPI_LV_TRACE_POINT (0x10) by default, which is the > +debug_level used to match all "AML tracer" logs. > + > +trace_state > +The status of the tracing feature. > +Users can enable/disable this debug tracing feature by executing > +the following command:: For the above, please indent, in order to properly change the sysfs node font to bold. Also, mark paragraphs with a \n, e. g: trace_method_name The full path of the AML method that the user wants to trace. Note that the full path shouldn't contain the trailing "_"s in its name segments but may contain "\" to form an absolute path. trace_debug_layer The temporary debug_layer used when the tracing feature is enabled. Using ACPI_EXECUTER (0x80) by default, which is the debug_layer used to match all "AML tracer" logs. trace_debug_level The temporary debug_level used when the tracing feature is enabled. Using ACPI_LV_TRACE_POINT (0x10) by default, which is the debug_level used to match all "AML tracer" logs. trace_state The status of the tracing feature. Users can enable/disable this debug tracing feature by executing the following command:: After doing such changes: Reviewed-by: Mauro Carvalho Chehab > + > + # echo string > /sys/module/acpi/parameters/trace_state > + > +Where "string" should be one of the following: > + > +"disable" > + Disable the method tracing feature. > +"enable" > + Enable the method tracing feature. > + ACPICA debugging messages matching > + "trace_debug_layer/trace_debug_level" during any method > + execution will be logged. > +"method" > + Enable the method tracing feature. > + ACPICA debugging messages matching > + "trace_debug_layer/trace_debug_level" during method execution > + of "trace_method_name" will be logged. > +"method-once" > + Enable the method tracing feature. > + ACPICA debugging messages matching > + "trace_debug_layer/trace_debug_level" during method execution > + of "trace_method_name" will be logged only once. > +"opcode" > + Enable the method tracing feature. > + ACPICA debugging messages matching > + "trace_debug_layer/trace_debug_level" during method/opcode > + execution of "trace_method_name" will be logged. > +"opcode-once" > + Enable the method tracing feature. > + ACPICA debugging messages matching > + "trace_debug_layer/trace_debug_level" during method/opcode > + execution of "trace_method_name" will be logged only once. > + > +Note that, the difference between the "enable" and other feature > +enabling options are: > + > +1. When "enable" is specified, since > + "trace_debug_layer/trace_debug_level" shall apply to all control > + method evaluations, after configuring "trace_state" to "enable", > + "trace_method_name" will be reset to NULL. > +2. When "method/opcode" is specified, if > + "trace_method_name" is NULL when "trace_state" is configured to > + these options, the "trace_debug_layer/trace_debug_level" will > + apply to all control method evaluations. Thanks, Mauro