From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Sameer Nanda <snanda@chromium.org>
Cc: Greg KH <gregkh@suse.de>,
lenb@kernel.org, stefan.bader@canonical.com,
brad.figg@canonical.com, apw@canonical.com,
linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] ACPI: Read TSC upon resume
Date: Thu, 7 Oct 2010 23:43:46 +0200 [thread overview]
Message-ID: <201010072343.46433.rjw@sisk.pl> (raw)
In-Reply-To: <AANLkTimD5Vrjp8tB6crdaOdS-=LYV+JZL0tCLLcruFGu@mail.gmail.com>
On Thursday, October 07, 2010, Sameer Nanda wrote:
> On Thu, Oct 7, 2010 at 12:59 PM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> > On Thursday, October 07, 2010, Sameer Nanda wrote:
> >> (resending as plain text, sorry if you got dupe messages)
> >>
> >> On Wed, Oct 6, 2010 at 7:19 PM, Greg KH <gregkh@suse.de> wrote:
> >> > On Wed, Oct 06, 2010 at 04:15:19PM -0700, Sameer Nanda wrote:
> >> >> Read the TSC upon resuming and print it out. This is useful
> >> >> in helping figure out amount of time spent in the BIOS when
> >> >> resuming from suspend.
> >> >>
> >> >> Change-Id: I1d6a32bd62421becddecd152d561763e5f3e1101
> >> >
> >> > What is this tag for? I don't think it matches anything the kernel
> >> > community wants, do you?
> >>
> >> Yeah, its not needed. Let me resubmit the patch without this tag.
> >>
> >> >
> >> > And are you always going to be printing this out? Why do we want to
> >> > know this every time?
> >>
> >> Yes, every time. This helps track variance in BIOS resume times
> >> within a single boot.
> >>
> >> >
> >> >> Signed-off-by: Sameer Nanda <snanda@chromium.org>
> >> >> ---
> >> >> drivers/acpi/sleep.c | 4 ++++
> >> >> 1 files changed, 4 insertions(+), 0 deletions(-)
> >> >>
> >> >> diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
> >> >> index c0fed2e..f0588fa 100644
> >> >> --- a/drivers/acpi/sleep.c
> >> >> +++ b/drivers/acpi/sleep.c
> >> >> @@ -214,6 +214,7 @@ static int acpi_suspend_enter(suspend_state_t pm_state)
> >> >> acpi_status status = AE_OK;
> >> >> unsigned long flags = 0;
> >> >> u32 acpi_state = acpi_target_sleep_state;
> >> >> + u64 tsc;
> >> >>
> >> >> ACPI_FLUSH_CPU_CACHE();
> >> >>
> >> >> @@ -235,6 +236,9 @@ static int acpi_suspend_enter(suspend_state_t pm_state)
> >> >>
> >> >> case ACPI_STATE_S3:
> >> >> do_suspend_lowlevel();
> >> >> + rdtscll(tsc);
> >> >> + printk(KERN_INFO "TSC at resume: %llu\n",
> >> >> + (unsigned long long)tsc);
> >> >
> >> > How long does this take, will it slow down resume?
> >>
> >> The impact is ~10us (as measured on an Intel Atom N455 @ 1.66Ghz).
> >> Given that resume time is currently of the order of 1sec, its in the
> >> noise range.
> >
> > Do I think correctly that it assumes the TSC will be updated in the sleep state?
>
> No, it actually banks on TSC not being updated while the system is in S3 state.
> Theory here being that upon resuming from S3, the CPU gets reset and so TSC
> starts counting up from 0. Therefore, reading the TSC value in the kernel upon
> resuming gives the number of cycles spent in the BIOS in resume path.
Ah that. OK, that's more clear now.
Thanks,
Rafael
prev parent reply other threads:[~2010-10-07 21:44 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-06 23:15 [PATCH] ACPI: Read TSC upon resume Sameer Nanda
2010-10-07 2:19 ` Greg KH
[not found] ` <AANLkTimE2h46iZkj_amvgUg5UwN9xjuwqdW5TB+XccYy@mail.gmail.com>
2010-10-07 17:46 ` Greg KH
2010-10-07 18:05 ` Sameer Nanda
2010-10-07 18:05 ` Sameer Nanda
2010-10-07 18:15 ` Greg KH
2010-10-07 18:15 ` Greg KH
2010-10-07 21:44 ` Rafael J. Wysocki
2010-10-16 3:03 ` Koornstra, Reinoud
2010-10-18 2:41 ` Chen Gong
2010-10-18 2:41 ` Chen Gong
2010-10-07 17:58 ` Sameer Nanda
2010-10-07 19:59 ` Rafael J. Wysocki
2010-10-07 21:27 ` Sameer Nanda
2010-10-07 21:27 ` Sameer Nanda
2010-10-07 21:43 ` Rafael J. Wysocki [this message]
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=201010072343.46433.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=apw@canonical.com \
--cc=brad.figg@canonical.com \
--cc=gregkh@suse.de \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=snanda@chromium.org \
--cc=stefan.bader@canonical.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.