All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shuah Khan <shuah.khan@hp.com>
To: Toshi Kani <toshi.kani@hp.com>
Cc: lenb@kernel.org, linux-acpi@vger.kernel.org,
	linux-kernel@vger.kernel.org, bhelgaas@google.com,
	isimatu.yasuaki@jp.fujitsu.com, liuj97@gmail.com,
	srivatsa.bhat@linux.vnet.ibm.com, prarit@redhat.com,
	imammedo@redhat.com, vijaymohan.pandarathil@hp.com,
	shuahkhan@gmail.com
Subject: Re: [PATCH 1/4] ACPI: Add acpi_pr_<level>() interfaces
Date: Wed, 18 Jul 2012 15:59:31 -0600	[thread overview]
Message-ID: <1342648771.5138.37.camel@lorien2> (raw)
In-Reply-To: <1342644027-19559-2-git-send-email-toshi.kani@hp.com>

On Wed, 2012-07-18 at 14:40 -0600, Toshi Kani wrote:
> This patch introduces acpi_pr_<level>(), where <level> is a message
> level such as err/warn/info, to support improved logging messages
> for ACPI, esp. in hotplug operations.  acpi_pr_<level>() appends
> "ACPI" prefix and ACPI object path to the messages.  This improves
> diagnostics in hotplug operations since it identifies an object that
> caused an issue in a log file.
> 
> acpi_pr_<level>() takes acpi_handle as an argument, which is passed
> to ACPI hotplug notify handlers from the ACPI CA.  Therefore, it is
> always available unlike other kernel objects, such as device.
> 
> For example, the statement below
>   acpi_pr_err(handle, "Device don't exist, dropping EJECT\n");
> logs an error message like this:
>   ACPI: \_SB_.SCK4.CPU4: Device don't exist, dropping EJECT
> 
> Signed-off-by: Toshi Kani <toshi.kani@hp.com>
> ---
>  drivers/acpi/utils.c    |   32 ++++++++++++++++++++++++++++++++
>  include/acpi/acpi_bus.h |   18 ++++++++++++++++++
>  2 files changed, 50 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c
> index 3e87c9c..4097266 100644
> --- a/drivers/acpi/utils.c
> +++ b/drivers/acpi/utils.c
> @@ -454,3 +454,35 @@ acpi_evaluate_hotplug_ost(acpi_handle handle, u32 source_event,
>  #endif
>  }
>  EXPORT_SYMBOL(acpi_evaluate_hotplug_ost);
> +
> +/**
> + * acpi_printk: Print messages with ACPI prefix and object path
> + *
> + * This function is intended to be called through acpi_pr_<level> macros.
> + */
> +void
> +acpi_printk(const char *level, acpi_handle handle, const char *fmt, ...)
> +{
> +	struct va_format vaf;
> +	va_list args;
> +	struct acpi_buffer buffer = {ACPI_ALLOCATE_BUFFER};
> +	char *path;
> +	acpi_status ret;
> +
> +	va_start(args, fmt);
> +
> +	vaf.fmt = fmt;
> +	vaf.va = &args;
> +
> +	ret = acpi_get_name(handle, ACPI_FULL_PATHNAME, &buffer);

One big problem I see with this approach is now each acpi_printk() will
result in a call to acpi_get_name() which will invoke several ACPI
calls, including a call to acpi_ut_initialize_buffer() which allocates
buffer. Is this really warranted? What is the performance impact of this
change?

-- Shuah



  parent reply	other threads:[~2012-07-18 21:59 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-18 20:40 [PATCH 0/4] ACPI: hotplug messages improvement Toshi Kani
2012-07-18 20:40 ` [PATCH 1/4] ACPI: Add acpi_pr_<level>() interfaces Toshi Kani
2012-07-18 21:21   ` Joe Perches
2012-07-18 21:41     ` Toshi Kani
2012-07-18 21:54       ` Joe Perches
2012-07-18 22:08         ` Toshi Kani
2012-07-19  5:35           ` Moore, Robert
2012-07-19 14:36             ` Toshi Kani
2012-07-18 21:27   ` Joe Perches
2012-07-18 21:41     ` Toshi Kani
2012-07-18 22:06       ` Joe Perches
2012-07-18 22:11         ` Toshi Kani
2012-07-18 21:59   ` Shuah Khan [this message]
2012-07-18 22:26     ` Toshi Kani
2012-07-18 22:40       ` Shuah Khan
2012-07-18 22:52         ` Toshi Kani
2012-07-18 23:18           ` Shuah Khan
2012-07-19  0:38             ` Toshi Kani
2012-07-19 16:15               ` Shuah Khan
2012-07-19 16:34                 ` Joe Perches
2012-07-20 15:52                   ` Toshi Kani
2012-07-19 17:28                 ` Toshi Kani
2012-07-19 19:25                   ` Shuah Khan
2012-07-19 20:51                     ` Toshi Kani
2012-07-19 22:32                       ` Shuah Khan
2012-07-19 23:43                         ` Toshi Kani
2012-07-24 15:55                           ` Toshi Kani
2012-07-24 16:08                             ` Toshi Kani
2012-07-18 22:49       ` Joe Perches
2012-07-18 23:32         ` Toshi Kani
2012-07-18 20:40 ` [PATCH 2/4] ACPI: Update CPU hotplug messages Toshi Kani
2012-07-18 20:40 ` [PATCH 3/4] ACPI: Update Memory " Toshi Kani
2012-07-18 20:40 ` [PATCH 4/4] ACPI: Update Container " Toshi Kani
2012-07-25  3:45 ` [PATCH 0/4] ACPI: hotplug messages improvement Yasuaki Ishimatsu
2012-07-25  3:45   ` Yasuaki Ishimatsu
2012-07-25 15:26   ` Toshi Kani

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=1342648771.5138.37.camel@lorien2 \
    --to=shuah.khan@hp.com \
    --cc=bhelgaas@google.com \
    --cc=imammedo@redhat.com \
    --cc=isimatu.yasuaki@jp.fujitsu.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=liuj97@gmail.com \
    --cc=prarit@redhat.com \
    --cc=shuahkhan@gmail.com \
    --cc=srivatsa.bhat@linux.vnet.ibm.com \
    --cc=toshi.kani@hp.com \
    --cc=vijaymohan.pandarathil@hp.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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.