linux-snps-arc.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: daniel.lezcano@linaro.org (Daniel Lezcano)
To: linux-snps-arc@lists.infradead.org
Subject: [PATCH 9/9] clocksource: import ARC timer driver
Date: Wed, 2 Nov 2016 01:19:25 +0100	[thread overview]
Message-ID: <20161102001925.GH1506@mai> (raw)
In-Reply-To: <188a2912-3369-19a3-86af-cbb154ff7e44@synopsys.com>

On Tue, Nov 01, 2016@01:57:05PM -0700, Vineet Gupta wrote:
> Hi Daniel,
> 
> On 11/01/2016 01:42 PM, Daniel Lezcano wrote:
> > Please stay consistent with the rest of the Kconfig.
> > 
> > config ARC_TIMER_RTC
> > 	bool "64-bit cycle counter in HS38 cores" if COMPILE_TEST
> > 	select CLKSRC_OF
> > 	help
> > 	  This counter provides 64-bit resolution vs. the 32-bit TIMER1.
> > 	  It is implemented inside the core thus can't be used in SMP systems.
> > 
> > config ARC_TIMER_GFRC
> > 	bool "64-bit cycle counter in ARConnect block in HS38x cores" if COMPILE_TEST
> > 	select CLKSRC_OF
> > 	help
> > 	  This counter can be used as clocksource in SMP HS38 SoCs.
> > 	  It sits outside the core thus can be used in SMP systems
> > 
> 
> Yes I did so already :-) Although I also added a default y if ARC to both, but as
> you say that is better done in ARC Kconfig.
> 
> > Then in the ARC's Kconfig you select ARC_TIMER_RTC or ARC_TIMER_GFRC depending
> > it is SMP or not.
> > 
> > One question:
> > 
> > Why ARC_TIMER_RTC can't be used in a SMP system ? Doesn't have each core its
> > own clocksource ? It seems you are assuming a clocksource can be used on SMP
> > only if the clocksource is unique and shared across the cores.
> 
> Thats what I thought so far. Thing is, the individual core's counters could get
> out of sync, simply because non masters cores were halted to begin with and came
> up at different points in real time. so a gtod might return different value
> depending on what core it landed on. Does clocksource also does ticks broadcasts
> and such to keep things in sync ?

Sounds like it is similar than the TSC. Do you agree to have a try by setting
the CONFIG_HAVE_UNSTABLE_SCHED_CLOCK option ?

If you can use those per cpu clocksource, performances on your system may
improve with the sched_clock().
 
> Because of the git mv you, diff didn't include bulk of driver code which would
> make for bulk of review anyways. So perhaps in v2 I don't do the git mv. OK ?

That means I will review and comment existing code. It is not a problem for me
if you agree to do the changes.

  -- Daniel

  reply	other threads:[~2016-11-02  0:19 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <35bde193-8492-83e0-fb03-8385d8afd007@synopsys.com>
2016-10-31 22:48 ` [PATCH 0/9] Move ARC timer code into drivers/clocksource/ Vineet Gupta
2016-10-31 22:48   ` [PATCH 1/9] ARC: timer: gfrc, rtc: Read BCR to detect whether hardware exists Vineet Gupta
2016-11-03 17:00     ` Daniel Lezcano
2016-11-03 17:41       ` Vineet Gupta
2016-10-31 22:48   ` [PATCH 2/9] ARC: timer: rtc: implement read loop in "C" vs. inline asm Vineet Gupta
2016-11-03 17:02     ` Daniel Lezcano
2016-11-03 17:45       ` Vineet Gupta
2016-10-31 22:48   ` [PATCH 3/9] ARC: timer: gfrc: boot print alongside other timers Vineet Gupta
2016-11-03 17:09     ` Daniel Lezcano
2016-11-03 17:47       ` Vineet Gupta
2016-11-03 17:51         ` Daniel Lezcano
2016-10-31 22:48   ` [PATCH 4/9] ARC: time: move time_init() out of the driver Vineet Gupta
2016-11-03 17:15     ` Daniel Lezcano
2016-10-31 22:48   ` [PATCH 5/9] ARC: breakout aux handling into a seperate header Vineet Gupta
2016-11-01  7:49     ` Noam Camus
2016-10-31 22:48   ` [PATCH 6/9] ARC: move mcip.h into include/soc and adjust the includes Vineet Gupta
2016-11-03 17:20     ` Daniel Lezcano
2016-10-31 22:48   ` [PATCH 7/9] ARC: breakout timer stuff into a seperate header Vineet Gupta
2016-11-03 17:25     ` Daniel Lezcano
2016-10-31 22:48   ` [PATCH 8/9] ARC: timer: rename config options Vineet Gupta
2016-10-31 22:48   ` [PATCH 9/9] clocksource: import ARC timer driver Vineet Gupta
2016-11-01  0:01     ` kbuild test robot
2016-11-01  0:45       ` Vineet Gupta
2016-11-01 20:42     ` Daniel Lezcano
2016-11-01 20:57       ` Vineet Gupta
2016-11-02  0:19         ` Daniel Lezcano [this message]
2016-11-02  1:03           ` Vineet Gupta
2016-11-03 16:40             ` Vineet Gupta
2016-11-03 16:50               ` Daniel Lezcano
2016-11-03 17:57                 ` Vineet Gupta
2016-11-03 18:11                   ` Daniel Lezcano
2016-11-03 18:43                     ` Vineet Gupta
2016-11-03 17:33         ` Daniel Lezcano
2016-11-03 18:14           ` Daniel Lezcano
2016-11-03 18:47           ` Vineet Gupta
2016-11-03 17:28   ` [PATCH 0/9] Move ARC timer code into drivers/clocksource/ Daniel Lezcano

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=20161102001925.GH1506@mai \
    --to=daniel.lezcano@linaro.org \
    --cc=linux-snps-arc@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).