linux-kselftest.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: avagin at virtuozzo.com (Andrey Vagin)
Subject: [RFC 00/20] ns: Introduce Time Namespace
Date: Mon, 1 Oct 2018 23:20:47 +0000	[thread overview]
Message-ID: <20181001232033.GA31324@outlook.office365.com> (raw)
In-Reply-To: <alpine.DEB.2.21.1809272335430.8118@nanos.tec.linutronix.de>

On Thu, Sep 27, 2018 at 11:41:49PM +0200, Thomas Gleixner wrote:
> On Thu, 27 Sep 2018, Thomas Gleixner wrote:
> > Add time skew via NTP/PTP into the picture and you might have to adjust
> > timers as well, because you need to guarantee that they are not expiring
> > early.
> > 
> > I haven't looked through Dimitry's patches yet, but I don't see how this
> > can work at all without introducing subtle issues all over the place.
> 
> And just a quick scan tells me that this is broken. Timers will expire
> early or late. The latter is acceptible to some extent, but larger delays
> might come with surprise. Expiring early is an absolute nono.

Do you mean that we have to adjust all timers after changing offset for
CLOCK_MONOTONIC or CLOCK_BOOTTIME? Our idea is that offsets for
monotonic and boot times will be set immediately after creating a time
namespace before using any timers.

It is interesting to think what a use-case for changing these offsets
after creating timers. It may be useful for testing needs. A user sets a
timer in an hour and then change a clock offset forward and check that a
test application handles the timer properly.

> 
> Thanks,
> 
> 	tglx
> 

WARNING: multiple messages have this Message-ID (diff)
From: avagin@virtuozzo.com (Andrey Vagin)
Subject: [RFC 00/20] ns: Introduce Time Namespace
Date: Mon, 1 Oct 2018 23:20:47 +0000	[thread overview]
Message-ID: <20181001232033.GA31324@outlook.office365.com> (raw)
Message-ID: <20181001232047.z9SZ22Ybrn0uP3c2W8ToF-xSpVP_SN2g1InJ5nn48MY@z> (raw)
In-Reply-To: <alpine.DEB.2.21.1809272335430.8118@nanos.tec.linutronix.de>

On Thu, Sep 27, 2018@11:41:49PM +0200, Thomas Gleixner wrote:
> On Thu, 27 Sep 2018, Thomas Gleixner wrote:
> > Add time skew via NTP/PTP into the picture and you might have to adjust
> > timers as well, because you need to guarantee that they are not expiring
> > early.
> > 
> > I haven't looked through Dimitry's patches yet, but I don't see how this
> > can work at all without introducing subtle issues all over the place.
> 
> And just a quick scan tells me that this is broken. Timers will expire
> early or late. The latter is acceptible to some extent, but larger delays
> might come with surprise. Expiring early is an absolute nono.

Do you mean that we have to adjust all timers after changing offset for
CLOCK_MONOTONIC or CLOCK_BOOTTIME? Our idea is that offsets for
monotonic and boot times will be set immediately after creating a time
namespace before using any timers.

It is interesting to think what a use-case for changing these offsets
after creating timers. It may be useful for testing needs. A user sets a
timer in an hour and then change a clock offset forward and check that a
test application handles the timer properly.

> 
> Thanks,
> 
> 	tglx
> 

  parent reply	other threads:[~2018-10-01 23:20 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-19 20:50 [RFC 00/20] ns: Introduce Time Namespace dima
2018-09-19 20:50 ` Dmitry Safonov
2018-09-19 20:50 ` [RFC 16/20] selftest: Add Time Namespace test for supported clocks dima
2018-09-19 20:50   ` Dmitry Safonov
2018-09-24 21:36   ` shuah
2018-09-24 21:36     ` Shuah Khan
2018-09-19 20:50 ` [RFC 17/20] selftest/timens: Add test for timerfd dima
2018-09-19 20:50   ` Dmitry Safonov
2018-09-19 20:50 ` [RFC 18/20] selftest/timens: Add test for clock_nanosleep dima
2018-09-19 20:50   ` Dmitry Safonov
2018-09-19 20:50 ` [RFC 19/20] timens/selftest: Add procfs selftest dima
2018-09-19 20:50   ` Dmitry Safonov
2018-09-19 20:50 ` [RFC 20/20] timens/selftest: Add timer offsets test dima
2018-09-19 20:50   ` Dmitry Safonov
2018-09-21 12:27 ` [RFC 00/20] ns: Introduce Time Namespace ebiederm
2018-09-21 12:27   ` Eric W. Biederman
2018-09-24 20:51   ` avagin
2018-09-24 20:51     ` Andrey Vagin
2018-09-24 22:02     ` ebiederm
2018-09-24 22:02       ` Eric W. Biederman
2018-09-25  1:42       ` avagin
2018-09-25  1:42         ` Andrey Vagin
2018-09-26 17:36         ` ebiederm
2018-09-26 17:36           ` Eric W. Biederman
2018-09-26 17:59           ` 0x7f454c46
2018-09-26 17:59             ` Dmitry Safonov
2018-09-27 21:30           ` tglx
2018-09-27 21:30             ` Thomas Gleixner
2018-09-27 21:41             ` tglx
2018-09-27 21:41               ` Thomas Gleixner
2018-10-01 23:20               ` avagin [this message]
2018-10-01 23:20                 ` Andrey Vagin
2018-10-02  6:15                 ` tglx
2018-10-02  6:15                   ` Thomas Gleixner
2018-10-02 21:05                   ` 0x7f454c46
2018-10-02 21:05                     ` Dmitry Safonov
2018-10-02 21:26                     ` tglx
2018-10-02 21:26                       ` Thomas Gleixner
2018-09-28 17:03             ` ebiederm
2018-09-28 17:03               ` Eric W. Biederman
2018-09-28 19:32               ` tglx
2018-09-28 19:32                 ` Thomas Gleixner
2018-10-01  9:05                 ` ebiederm
2018-10-01  9:05                   ` Eric W. Biederman
2018-10-01  9:15                 ` Setting monotonic time? ebiederm
2018-10-01  9:15                   ` Eric W. Biederman
2018-10-01 18:52                   ` tglx
2018-10-01 18:52                     ` Thomas Gleixner
2018-10-02 20:00                     ` arnd
2018-10-02 20:00                       ` Arnd Bergmann
2018-10-02 20:06                       ` tglx
2018-10-02 20:06                         ` Thomas Gleixner
2018-10-03  4:50                         ` ebiederm
2018-10-03  4:50                           ` Eric W. Biederman
2018-10-03  5:25                           ` tglx
2018-10-03  5:25                             ` Thomas Gleixner
2018-10-03  6:14                             ` ebiederm
2018-10-03  6:14                               ` Eric W. Biederman
2018-10-03  7:02                               ` arnd
2018-10-03  7:02                                 ` Arnd Bergmann
2018-10-03  6:14                             ` tglx
2018-10-03  6:14                               ` Thomas Gleixner
2018-10-01 20:51                   ` avagin
2018-10-01 20:51                     ` Andrey Vagin
2018-10-02  6:16                     ` tglx
2018-10-02  6:16                       ` Thomas Gleixner
2018-10-21  1:41               ` [RFC 00/20] ns: Introduce Time Namespace avagin
2018-10-21  1:41                 ` Andrei Vagin
2018-10-21  3:54                 ` avagin
2018-10-21  3:54                   ` Andrei Vagin
2018-10-29 20:33                 ` tglx
2018-10-29 20:33                   ` Thomas Gleixner
2018-10-29 21:21                   ` ebiederm
2018-10-29 21:21                     ` Eric W. Biederman
2018-10-29 21:36                     ` tglx
2018-10-29 21:36                       ` Thomas Gleixner
2018-10-31 16:26                   ` avagin
2018-10-31 16:26                     ` Andrei Vagin

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=20181001232033.GA31324@outlook.office365.com \
    --to=linux-kselftest@vger.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 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).