All of lore.kernel.org
 help / color / mirror / Atom feed
From: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>
To: Alex Smith <alex@alex-smith.me.uk>
Cc: David Daney <ddaney.cavm@gmail.com>,
	Ralf Baechle <ralf@linux-mips.org>,
	Markos Chandras <markos.chandras@imgtec.com>,
	linux-mips <linux-mips@linux-mips.org>,
	Alex Smith <alex.smith@imgtec.com>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [v3, 3/3] MIPS: VDSO: Add implementations of gettimeofday() and clock_gettime()
Date: Wed, 28 Oct 2015 13:15:37 -0700	[thread overview]
Message-ID: <56312CE9.3090301@imgtec.com> (raw)
In-Reply-To: <CAOFt0_DKfouP0r68M8S-CQF=Fk0C7sPpV2WNm=u-wH3_1q=Pzw@mail.gmail.com>

On 10/28/2015 12:55 PM, Alex Smith wrote:
> On 28 October 2015 at 19:28, Leonid Yegoshin <Leonid.Yegoshin@imgtec.com> wrote:
>> . 
> Clocksources are not per-CPU. If the CP0 counter is the current
> clocksource, then both the kernel and VDSO implementations of
> gettimeofday will read out the CP0 counter from whatever CPU they run
> on.

OK, it was an invalid example. Let's be specific - in case of different 
clock frequency in different CPUs it easy to adjust it in kernel via 
clocksource->read()/etc but it is impossible to adjust that in VDSO 
implementation.

And that can't be fixed easily without some-kind of "per-thread" data 
page for correct multipliers.

There are many problems with assumption that in all kind of MIPS cores 
R4K CP0_COUNT registers are in sync in different CPUs. Even current 
kernel has problems here but I think it is not excuse to mount more on it.

- Leonid.

WARNING: multiple messages have this Message-ID (diff)
From: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>
To: Alex Smith <alex@alex-smith.me.uk>
Cc: David Daney <ddaney.cavm@gmail.com>,
	Ralf Baechle <ralf@linux-mips.org>,
	Markos Chandras <markos.chandras@imgtec.com>,
	linux-mips <linux-mips@linux-mips.org>,
	Alex Smith <alex.smith@imgtec.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [v3, 3/3] MIPS: VDSO: Add implementations of gettimeofday() and clock_gettime()
Date: Wed, 28 Oct 2015 13:15:37 -0700	[thread overview]
Message-ID: <56312CE9.3090301@imgtec.com> (raw)
Message-ID: <20151028201537.6f3sWliIaEMGsYh-Xnn-4aiGYNkZzAfm5YsMfnG_9D4@z> (raw)
In-Reply-To: <CAOFt0_DKfouP0r68M8S-CQF=Fk0C7sPpV2WNm=u-wH3_1q=Pzw@mail.gmail.com>

On 10/28/2015 12:55 PM, Alex Smith wrote:
> On 28 October 2015 at 19:28, Leonid Yegoshin <Leonid.Yegoshin@imgtec.com> wrote:
>> . 
> Clocksources are not per-CPU. If the CP0 counter is the current
> clocksource, then both the kernel and VDSO implementations of
> gettimeofday will read out the CP0 counter from whatever CPU they run
> on.

OK, it was an invalid example. Let's be specific - in case of different 
clock frequency in different CPUs it easy to adjust it in kernel via 
clocksource->read()/etc but it is impossible to adjust that in VDSO 
implementation.

And that can't be fixed easily without some-kind of "per-thread" data 
page for correct multipliers.

There are many problems with assumption that in all kind of MIPS cores 
R4K CP0_COUNT registers are in sync in different CPUs. Even current 
kernel has problems here but I think it is not excuse to mount more on it.

- Leonid.

  reply	other threads:[~2015-10-28 20:15 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-28 10:03 [PATCH 0/3] MIPS VDSO support Markos Chandras
2015-09-28 10:03 ` Markos Chandras
2015-09-28 10:10 ` [PATCH 1/3] MIPS: Initial implementation of a VDSO Markos Chandras
2015-09-28 10:10   ` Markos Chandras
2015-09-28 10:54   ` Alex Smith
2015-09-28 13:07     ` Matthew Fortune
2015-09-28 13:07       ` Matthew Fortune
2015-11-20 18:15       ` Maciej W. Rozycki
2015-10-09  8:05   ` [PATCH v2 " Markos Chandras
2015-10-09  8:05     ` Markos Chandras
2015-10-21  8:54     ` [PATCH v3 " Markos Chandras
2015-10-21  8:54       ` Markos Chandras
2015-09-28 10:11 ` [PATCH 2/3] irqchip: irq-mips-gic: Provide function to map GIC user section Markos Chandras
2015-09-28 10:11   ` Markos Chandras
2015-09-28 10:55   ` Marc Zyngier
2015-09-28 14:16     ` Qais Yousef
2015-09-28 14:16       ` Qais Yousef
2015-09-28 15:03       ` Marc Zyngier
2015-10-05  8:22     ` Markos Chandras
2015-10-05  8:22       ` Markos Chandras
2015-10-12  9:40   ` [PATCH v2 " Markos Chandras
2015-10-12  9:40     ` Markos Chandras
2015-10-12  9:51     ` Marc Zyngier
2015-10-12 10:16       ` Thomas Gleixner
2015-10-15  9:37         ` Qais Yousef
2015-10-15  9:37           ` Qais Yousef
2015-10-15 10:18           ` Thomas Gleixner
2015-09-28 10:12 ` [PATCH 3/3] MIPS: VDSO: Add implementations of gettimeofday() and clock_gettime() Markos Chandras
2015-09-28 10:12   ` Markos Chandras
2015-09-28 13:15   ` kbuild test robot
2015-09-28 13:15     ` kbuild test robot
2015-10-12 10:24   ` [PATCH v2 " Markos Chandras
2015-10-12 10:24     ` Markos Chandras
2015-10-21  8:57     ` [PATCH v3 " Markos Chandras
2015-10-21  8:57       ` Markos Chandras
2015-10-23  1:41       ` [v3, " Leonid Yegoshin
2015-10-23  1:41         ` Leonid Yegoshin
2015-10-27 14:47         ` Ralf Baechle
2015-10-27 20:46           ` Leonid Yegoshin
2015-10-27 20:46             ` Leonid Yegoshin
2015-10-27 21:02             ` David Daney
2015-10-27 21:15               ` Leonid Yegoshin
2015-10-27 21:15                 ` Leonid Yegoshin
2015-10-27 21:44                 ` David Daney
2015-10-27 21:49                   ` Leonid Yegoshin
2015-10-27 21:49                     ` Leonid Yegoshin
2015-10-28 10:20                     ` Alex Smith
2015-10-28 18:21                       ` Leonid Yegoshin
2015-10-28 18:21                         ` Leonid Yegoshin
2015-10-28 18:30                         ` Alex Smith
2015-10-28 18:57                           ` Leonid Yegoshin
2015-10-28 18:57                             ` Leonid Yegoshin
2015-10-28 19:04                             ` Alex Smith
2015-10-28 19:28                               ` Leonid Yegoshin
2015-10-28 19:28                                 ` Leonid Yegoshin
2015-10-28 19:55                                 ` Alex Smith
2015-10-28 20:15                                   ` Leonid Yegoshin [this message]
2015-10-28 20:15                                     ` Leonid Yegoshin
2016-01-25 22:36       ` [PATCH v3 " Hauke Mehrtens

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=56312CE9.3090301@imgtec.com \
    --to=leonid.yegoshin@imgtec.com \
    --cc=alex.smith@imgtec.com \
    --cc=alex@alex-smith.me.uk \
    --cc=ddaney.cavm@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=markos.chandras@imgtec.com \
    --cc=ralf@linux-mips.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.