From: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
To: Feng Tang <feng.tang@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
John Stultz <john.stultz@linaro.org>, Ingo Molnar <mingo@elte.hu>,
"H. Peter Anvin" <hpa@linux.intel.com>,
x86@kernel.org, Len Brown <lenb@kernel.org>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
linux-kernel@vger.kernel.org, gong.chen@linux.intel.com
Subject: Re: [RFC PATCH v2 0/4] Add support for S3 non-stop TSC support.
Date: Mon, 4 Mar 2013 21:32:03 -0700 [thread overview]
Message-ID: <20130305043203.GA26678@obsidianresearch.com> (raw)
In-Reply-To: <20130305035302.GA5239@feng-snb>
On Tue, Mar 05, 2013 at 11:53:02AM +0800, Feng Tang wrote:
> > // Drops some small precision along the way but is simple..
> > static inline u64 cyclecounter_cyc2ns_128(const struct cyclecounter *cc,
> > cycle_t cycles)
> > {
> > u64 max = U64_MAX/cc->mult;
> > u64 num = cycles/max;
> > u64 result = num * ((max * cc->mult) >> cc->shift);
> > return result + cyclecounter_cyc2ns(cc, cycles - num*cc->mult);
> > }
>
> Your way is surely more accurate, if maintainers are ok with adding
> the new API, I will use it.
Okay, give it a good look though, I only wrote it out in email, never
tested it :)
> > You may want to also CC the maintainers of all the ARM subsystems that
> > use read_persistent_clock and check with them to ensure this new
> > interface will let them migrate their implementations as well.
>
> Maybe I didn't get it well, my patches didn't change the
> read_persistent_clock(), but inject a new way of counting suspended
> time. It should have no functional changes to existing platforms.
Right, your patches are fine stand alone.
The ARM case of plat-omap/counter_32k.c would ideally be converted to
use your new API though, that is what I ment about involving them.
I'm not sure about mach-tegra/timer.c though - it seems to be using a
counter as well but somehow sharing registers with the RTC?
Regards,
Jason
next prev parent reply other threads:[~2013-03-05 4:32 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-05 2:27 [RFC PATCH v2 0/4] Add support for S3 non-stop TSC support Feng Tang
2013-03-05 2:27 ` [RFC PATCH v2 1/4] x86: Add cpu capability flag X86_FEATURE_NONSTOP_TSC_S3 Feng Tang
2013-03-05 2:27 ` [RFC PATCH v2 2/4] clocksource: Add new feature flag CLOCK_SOURCE_SUSPEND_NOTSTOP Feng Tang
2013-03-05 2:27 ` [RFC PATCH v2 3/4] x86: tsc: Add support for new S3_NOTSTOP feature Feng Tang
2013-03-05 2:27 ` [RFC PATCH v2 4/4] timekeeping: utilize the suspend-nonstop clocksource to count suspended time Feng Tang
2013-03-05 6:27 ` John Stultz
2013-03-05 6:38 ` Feng Tang
2013-03-05 6:47 ` John Stultz
2013-03-05 6:59 ` Feng Tang
2013-03-05 3:53 ` [RFC PATCH v2 0/4] Add support for S3 non-stop TSC support Feng Tang
2013-03-05 4:32 ` Jason Gunthorpe [this message]
2013-03-05 6:17 ` John Stultz
2013-03-06 3:31 ` Feng Tang
2013-03-05 6:27 ` Feng Tang
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=20130305043203.GA26678@obsidianresearch.com \
--to=jgunthorpe@obsidianresearch.com \
--cc=feng.tang@intel.com \
--cc=gong.chen@linux.intel.com \
--cc=hpa@linux.intel.com \
--cc=john.stultz@linaro.org \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rafael.j.wysocki@intel.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/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.