public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Andy Lutomirski <luto@amacapital.net>
Cc: Chris Metcalf <cmetcalf@ezchip.com>,
	Gilad Ben Yossef <giladb@ezchip.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Ingo Molnar <mingo@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Rik van Riel <riel@redhat.com>, Tejun Heo <tj@kernel.org>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	Christoph Lameter <cl@linux.com>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"H. Peter Anvin" <hpa@zytor.com>, X86 ML <x86@kernel.org>
Subject: Re: [PATCH v7 07/11] arch/x86: enable task isolation functionality
Date: Wed, 30 Sep 2015 22:25:59 +0200 (CEST)	[thread overview]
Message-ID: <alpine.DEB.2.11.1509302205030.4500@nanos> (raw)
In-Reply-To: <CALCETrUaUOLpFqFbPcPRh=nf57XfpXU=QfMvD9YvQE8rSZikGg@mail.gmail.com>

On Tue, 29 Sep 2015, Andy Lutomirski wrote:
> On Tue, Sep 29, 2015 at 10:42 AM, Chris Metcalf <cmetcalf@ezchip.com> wrote:
> > Scheduling a timer for 10 minutes away is typically done by
> > scheduling timers for the max timer granularity (which could
> > be just a few seconds) and then waking up a couple of hundred
> > times between now and now+10 minutes.  Doing this breaks
> > the task isolation guarantee, so we can't return to userspace
> > while something like that is pending.  You'd have to do it
> > by polling in userspace to avoid the unexpected interrupts.
> >
> 
> Really?  That sucks.  Hopefully we can fix it.

Well. If there is a timer pending, then what do you want to fix? If
the hardware does not allow to program a long out expiry time, then
the kernel cannot do anything about it.

That depends on the timer hardware, really. PIT can do ~50ms, HPET
~3min, APIC timer ~32sec, TSC deadline timer ~500years.

> > I suppose if your hardware supported it, you could imagine
> > a mode where userspace can request an alarm a specific
> > amount of time in the future, and the task isolation code
> > would then ignore an alarm that was going off at that
> > specific time.

Ignore in what way?

> > But I'm not sure what hardware does support
> > that (I know tile uses the "few seconds and re-arm" model),
> > and it seems like a pretty corner use-case.  We could
> > certainly investigate adding such support later, but I don't see
> > it as part of the core value proposition for task isolation.

I'm really not following here. If user space requested that timer, WHY
on earth do you want to spin in the kernel until it fired? That's
insane.
 
> Intel chips Sandy Bridge and newer certainly support this. Other chips
> might support it as well.  Whether the kernel is able to program the
> TSC deadline timer like that is a different question.

If the next expiry is out 100 years then we will happily program it
for that expiry time.

Thanks,

	tglx

  reply	other threads:[~2015-09-30 20:26 UTC|newest]

Thread overview: 236+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-08 17:58 [PATCH 0/6] support "dataplane" mode for nohz_full Chris Metcalf
2015-05-08 17:58 ` [PATCH 1/6] nohz_full: add support for "dataplane" mode Chris Metcalf
2015-05-08 17:58 ` [PATCH 2/6] nohz: dataplane: allow tick to be fully disabled for dataplane Chris Metcalf
2015-05-12  9:26   ` Peter Zijlstra
2015-05-12 13:12     ` Paul E. McKenney
2015-05-14 20:55       ` Chris Metcalf
2015-05-08 17:58 ` [PATCH 3/6] dataplane nohz: run softirqs synchronously on user entry Chris Metcalf
2015-05-09  7:04   ` Mike Galbraith
2015-05-11 20:13     ` Chris Metcalf
2015-05-12  2:21       ` Mike Galbraith
2015-05-12  9:28       ` Peter Zijlstra
2015-05-12  9:32       ` Peter Zijlstra
2015-05-12 13:08         ` Paul E. McKenney
2015-05-08 17:58 ` [PATCH 4/6] nohz: support PR_DATAPLANE_QUIESCE Chris Metcalf
2015-05-12  9:33   ` Peter Zijlstra
2015-05-12  9:50     ` Ingo Molnar
2015-05-12 10:38       ` Peter Zijlstra
2015-05-12 12:52         ` Ingo Molnar
2015-05-13  4:35           ` Andy Lutomirski
2015-05-13 17:51             ` Paul E. McKenney
2015-05-14 20:55               ` Chris Metcalf
2015-05-14 20:54     ` Chris Metcalf
2015-05-08 17:58 ` [PATCH 5/6] nohz: support PR_DATAPLANE_STRICT mode Chris Metcalf
2015-05-09  7:28   ` Andy Lutomirski
2015-05-09 10:37     ` Gilad Ben Yossef
2015-05-11 19:13     ` Chris Metcalf
2015-05-11 22:28       ` Andy Lutomirski
2015-05-12 21:06         ` Chris Metcalf
2015-05-12 22:23           ` Andy Lutomirski
2015-05-15 21:25             ` Chris Metcalf
2015-05-12  9:38   ` Peter Zijlstra
2015-05-12 13:20     ` Paul E. McKenney
2015-05-08 17:58 ` [PATCH 6/6] nohz: add dataplane_debug boot flag Chris Metcalf
2015-05-08 21:18 ` [PATCH 0/6] support "dataplane" mode for nohz_full Andrew Morton
2015-05-08 21:22   ` Steven Rostedt
2015-05-08 23:11     ` Chris Metcalf
2015-05-08 23:19       ` Andrew Morton
2015-05-09  7:05         ` Ingo Molnar
2015-05-09  7:19           ` Andy Lutomirski
2015-05-11 19:54             ` Chris Metcalf
2015-05-11 22:15               ` Andy Lutomirski
     [not found]             ` <55510885.9070101@ezchip.com>
2015-05-12 13:18               ` Paul E. McKenney
2015-05-09  7:19           ` Mike Galbraith
2015-05-09 10:18             ` Gilad Ben Yossef
2015-05-11 12:57           ` Steven Rostedt
2015-05-11 15:36             ` Frederic Weisbecker
2015-05-11 19:19               ` Mike Galbraith
2015-05-11 19:25                 ` Chris Metcalf
2015-05-12  1:47                   ` Mike Galbraith
2015-05-12  4:35                     ` Mike Galbraith
2015-05-15 15:05                     ` Chris Metcalf
2015-05-15 18:44                       ` Mike Galbraith
2015-05-26 19:51                         ` Chris Metcalf
2015-05-27  3:28                           ` Mike Galbraith
2015-05-11 17:19             ` Paul E. McKenney
2015-05-11 17:27               ` Andrew Morton
2015-05-11 17:33                 ` Frederic Weisbecker
2015-05-11 18:00                   ` Steven Rostedt
2015-05-11 18:09                     ` Chris Metcalf
2015-05-11 18:36                       ` Steven Rostedt
2015-05-12  9:10                       ` CONFIG_ISOLATION=y (was: [PATCH 0/6] support "dataplane" mode for nohz_full) Ingo Molnar
2015-05-12 11:48                         ` Peter Zijlstra
2015-05-12 12:34                           ` Ingo Molnar
2015-05-12 12:39                             ` Peter Zijlstra
2015-05-12 12:43                               ` Ingo Molnar
2015-05-12 15:36                             ` Frederic Weisbecker
2015-05-12 21:05                         ` CONFIG_ISOLATION=y Chris Metcalf
2015-05-12 10:46             ` [PATCH 0/6] support "dataplane" mode for nohz_full Peter Zijlstra
2015-05-15 15:10               ` Chris Metcalf
2015-05-15 21:26 ` [PATCH v2 0/5] support "cpu_isolated" " Chris Metcalf
2015-05-15 21:27   ` [PATCH v2 1/5] nohz_full: add support for "cpu_isolated" mode Chris Metcalf
2015-05-15 21:27     ` [PATCH v2 2/5] nohz: support PR_CPU_ISOLATED_STRICT mode Chris Metcalf
2015-05-15 21:27     ` [PATCH v2 3/5] nohz: cpu_isolated strict mode configurable signal Chris Metcalf
2015-05-15 21:27     ` [PATCH v2 4/5] nohz: add cpu_isolated_debug boot flag Chris Metcalf
2015-05-15 21:27     ` [PATCH v2 5/5] nohz: cpu_isolated: allow tick to be fully disabled Chris Metcalf
2015-05-15 22:17     ` [PATCH v2 1/5] nohz_full: add support for "cpu_isolated" mode Thomas Gleixner
2015-05-28 20:38       ` Chris Metcalf
2015-06-03 15:29   ` [PATCH v3 0/5] support "cpu_isolated" mode for nohz_full Chris Metcalf
2015-06-03 15:29     ` [PATCH v3 1/5] nohz_full: add support for "cpu_isolated" mode Chris Metcalf
2015-06-03 15:29     ` [PATCH v3 2/5] nohz: support PR_CPU_ISOLATED_STRICT mode Chris Metcalf
2015-06-03 15:29     ` [PATCH v3 3/5] nohz: cpu_isolated strict mode configurable signal Chris Metcalf
2015-06-03 15:29     ` [PATCH v3 4/5] nohz: add cpu_isolated_debug boot flag Chris Metcalf
2015-06-03 15:29     ` [PATCH v3 5/5] nohz: cpu_isolated: allow tick to be fully disabled Chris Metcalf
2015-07-13 19:57     ` [PATCH v4 0/5] support "cpu_isolated" mode for nohz_full Chris Metcalf
2015-07-13 19:57       ` [PATCH v4 1/5] nohz_full: add support for "cpu_isolated" mode Chris Metcalf
2015-07-13 20:40         ` Andy Lutomirski
2015-07-13 21:01           ` Chris Metcalf
2015-07-13 21:45             ` Andy Lutomirski
2015-07-21 19:10               ` Chris Metcalf
2015-07-21 19:26                 ` Andy Lutomirski
2015-07-21 20:36                   ` Paul E. McKenney
2015-07-22 13:57                     ` Christoph Lameter
2015-07-22 19:28                       ` Paul E. McKenney
2015-07-22 20:02                         ` Christoph Lameter
2015-07-24 20:21                           ` Chris Metcalf
2015-07-24 20:22                   ` Chris Metcalf
2015-07-24 14:03                 ` Frederic Weisbecker
2015-07-24 20:19                   ` Chris Metcalf
2015-07-24 13:27         ` Frederic Weisbecker
2015-07-24 20:21           ` Chris Metcalf
2015-07-13 19:57       ` [PATCH v4 2/5] nohz: support PR_CPU_ISOLATED_STRICT mode Chris Metcalf
2015-07-13 21:47         ` Andy Lutomirski
2015-07-21 19:34           ` Chris Metcalf
2015-07-21 19:42             ` Andy Lutomirski
2015-07-24 20:29               ` Chris Metcalf
2015-07-13 19:57       ` [PATCH v4 3/5] nohz: cpu_isolated strict mode configurable signal Chris Metcalf
2015-07-13 19:58       ` [PATCH v4 4/5] nohz: add cpu_isolated_debug boot flag Chris Metcalf
2015-07-13 19:58       ` [PATCH v4 5/5] nohz: cpu_isolated: allow tick to be fully disabled Chris Metcalf
2015-07-28 19:49       ` [PATCH v5 0/6] support "cpu_isolated" mode for nohz_full Chris Metcalf
2015-07-28 19:49         ` [PATCH v5 1/6] vmstat: provide a function to quiet down the diff processing Chris Metcalf
2015-07-28 19:49         ` [PATCH v5 2/6] cpu_isolated: add initial support Chris Metcalf
2015-08-12 16:00           ` Frederic Weisbecker
2015-08-12 18:22             ` Chris Metcalf
2015-08-26 15:26               ` Frederic Weisbecker
2015-08-26 15:55                 ` Chris Metcalf
2015-07-28 19:49         ` [PATCH v5 3/6] cpu_isolated: support PR_CPU_ISOLATED_STRICT mode Chris Metcalf
2015-07-28 19:49         ` [PATCH v5 4/6] cpu_isolated: provide strict mode configurable signal Chris Metcalf
2015-07-28 19:49         ` [PATCH v5 5/6] cpu_isolated: add debug boot flag Chris Metcalf
2015-07-28 19:49         ` [PATCH v5 6/6] nohz: cpu_isolated: allow tick to be fully disabled Chris Metcalf
2015-08-25 19:55         ` [PATCH v6 0/6] support "task_isolated" mode for nohz_full Chris Metcalf
2015-08-25 19:55           ` [PATCH v6 1/6] vmstat: provide a function to quiet down the diff processing Chris Metcalf
2015-08-25 19:55           ` [PATCH v6 2/6] task_isolation: add initial support Chris Metcalf
2015-08-25 19:55           ` [PATCH v6 3/6] task_isolation: support PR_TASK_ISOLATION_STRICT mode Chris Metcalf
2015-08-26 10:36             ` Will Deacon
2015-08-26 15:10               ` Chris Metcalf
2015-09-02 10:13                 ` Will Deacon
2015-09-02 18:38                   ` [PATCH v6.2 " Chris Metcalf
2015-08-28 15:31               ` [PATCH v6.1 " Chris Metcalf
2015-08-25 19:55           ` [PATCH v6 4/6] task_isolation: provide strict mode configurable signal Chris Metcalf
2015-08-28 19:22             ` Andy Lutomirski
2015-08-25 19:55           ` [PATCH v6 5/6] task_isolation: add debug boot flag Chris Metcalf
2015-08-25 19:55           ` [PATCH v6 6/6] nohz: task_isolation: allow tick to be fully disabled Chris Metcalf
2015-09-28 15:17           ` [PATCH v7 00/11] support "task_isolated" mode for nohz_full Chris Metcalf
2015-09-28 15:17             ` [PATCH v7 01/11] vmstat: provide a function to quiet down the diff processing Chris Metcalf
2015-09-28 15:17             ` [PATCH v7 02/11] task_isolation: add initial support Chris Metcalf
2015-10-01 12:14               ` Frederic Weisbecker
2015-10-01 12:18                 ` Thomas Gleixner
2015-10-01 12:23                   ` Frederic Weisbecker
2015-10-01 12:31                     ` Thomas Gleixner
2015-10-01 17:02                   ` Chris Metcalf
2015-10-01 21:20                     ` Thomas Gleixner
2015-10-02 17:15                       ` Chris Metcalf
2015-10-02 19:02                         ` Thomas Gleixner
2015-10-01 19:25                 ` Chris Metcalf
2015-09-28 15:17             ` [PATCH v7 03/11] task_isolation: support PR_TASK_ISOLATION_STRICT mode Chris Metcalf
2015-09-28 20:51               ` Andy Lutomirski
2015-09-28 21:54                 ` Chris Metcalf
2015-09-28 22:38                   ` Andy Lutomirski
2015-09-29 17:35                     ` Chris Metcalf
2015-09-29 17:46                       ` Andy Lutomirski
2015-09-29 17:57                         ` Chris Metcalf
2015-09-29 18:00                           ` Andy Lutomirski
2015-10-01 19:25                             ` Chris Metcalf
2015-09-28 15:17             ` [PATCH v7 04/11] task_isolation: provide strict mode configurable signal Chris Metcalf
2015-09-28 20:54               ` Andy Lutomirski
2015-09-28 21:54                 ` Chris Metcalf
2015-09-28 15:17             ` [PATCH v7 05/11] task_isolation: add debug boot flag Chris Metcalf
2015-09-28 20:59               ` Andy Lutomirski
2015-09-28 21:55                 ` Chris Metcalf
2015-09-28 22:40                   ` Andy Lutomirski
2015-09-29 17:35                     ` Chris Metcalf
2015-10-05 17:07               ` Luiz Capitulino
2015-10-08  0:33                 ` Chris Metcalf
2015-10-08 20:28                   ` Luiz Capitulino
2015-09-28 15:17             ` [PATCH v7 06/11] nohz: task_isolation: allow tick to be fully disabled Chris Metcalf
2015-09-28 20:40               ` Andy Lutomirski
2015-10-01 13:07                 ` Frederic Weisbecker
2015-10-01 14:13                   ` Thomas Gleixner
2015-09-28 15:17             ` [PATCH v7 07/11] arch/x86: enable task isolation functionality Chris Metcalf
2015-09-28 20:59               ` Andy Lutomirski
2015-09-28 21:57                 ` Chris Metcalf
2015-09-28 22:43                   ` Andy Lutomirski
2015-09-29 17:42                     ` Chris Metcalf
2015-09-29 17:57                       ` Andy Lutomirski
2015-09-30 20:25                         ` Thomas Gleixner [this message]
2015-09-30 20:58                           ` Chris Metcalf
2015-09-30 22:02                             ` Thomas Gleixner
2015-09-30 22:11                               ` Andy Lutomirski
2015-10-01  8:12                                 ` Thomas Gleixner
2015-10-01  9:08                                   ` Christoph Lameter
2015-10-01 10:10                                     ` Thomas Gleixner
2015-10-01 19:25                                   ` Chris Metcalf
2015-09-28 15:17             ` [PATCH v7 08/11] arch/arm64: adopt prepare_exit_to_usermode() model from x86 Chris Metcalf
2015-09-28 15:17             ` [PATCH v7 09/11] arch/arm64: enable task isolation functionality Chris Metcalf
2015-09-28 15:17             ` [PATCH v7 10/11] arch/tile: adopt prepare_exit_to_usermode() model from x86 Chris Metcalf
2015-09-28 15:17             ` [PATCH v7 11/11] arch/tile: enable task isolation functionality Chris Metcalf
2015-10-20 20:35             ` [PATCH v8 00/14] support "task_isolation" mode for nohz_full Chris Metcalf
2015-10-20 20:35               ` [PATCH v8 01/14] vmstat: provide a function to quiet down the diff processing Chris Metcalf
2015-10-20 20:36               ` [PATCH v8 02/14] vmstat: add vmstat_idle function Chris Metcalf
2015-10-20 20:45                 ` Christoph Lameter
2015-10-20 20:36               ` [PATCH v8 03/14] lru_add_drain_all: factor out lru_add_drain_needed Chris Metcalf
2015-10-20 20:36               ` [PATCH v8 04/14] task_isolation: add initial support Chris Metcalf
2015-10-20 20:56                 ` Andy Lutomirski
2015-10-20 21:20                   ` Chris Metcalf
2015-10-20 21:26                     ` Andy Lutomirski
2015-10-21  0:29                       ` Steven Rostedt
2015-10-26 20:19                         ` Chris Metcalf
2015-10-26 21:13                         ` Chris Metcalf
2015-10-26 20:32                       ` Chris Metcalf
2015-10-21 16:12                 ` Frederic Weisbecker
2015-10-27 16:40                   ` Chris Metcalf
2016-01-28 16:38                     ` Frederic Weisbecker
2016-02-11 19:58                       ` Chris Metcalf
2015-10-20 20:36               ` [PATCH v8 05/14] task_isolation: support PR_TASK_ISOLATION_STRICT mode Chris Metcalf
2015-10-20 20:36               ` [PATCH v8 06/14] task_isolation: provide strict mode configurable signal Chris Metcalf
2015-10-21  0:56                 ` Steven Rostedt
2015-10-21  1:30                   ` Chris Metcalf
2015-10-21  1:41                     ` Steven Rostedt
2015-10-21  1:42                     ` Andy Lutomirski
2015-10-21  6:41                       ` Gilad Ben Yossef
2015-10-21 18:53                         ` Andy Lutomirski
2015-10-22 20:44                           ` Chris Metcalf
2015-10-22 21:00                             ` Andy Lutomirski
2015-10-27 19:37                               ` Chris Metcalf
2015-10-24  9:16                           ` Gilad Ben Yossef
2015-10-20 20:36               ` [PATCH v8 07/14] task_isolation: add debug boot flag Chris Metcalf
2015-10-20 20:36               ` [PATCH v8 08/14] nohz_full: allow disabling the 1Hz minimum tick at boot Chris Metcalf
2015-10-20 21:03                 ` Frederic Weisbecker
2015-10-20 21:18                   ` Chris Metcalf
2015-10-21  0:59                     ` Steven Rostedt
2015-10-21  6:56                   ` Gilad Ben Yossef
2015-10-21 14:28                   ` Christoph Lameter
2015-10-21 15:35                     ` Frederic Weisbecker
2015-10-20 20:36               ` [PATCH v8 09/14] arch/x86: enable task isolation functionality Chris Metcalf
2015-10-20 20:36               ` [PATCH v8 10/14] arch/arm64: adopt prepare_exit_to_usermode() model from x86 Chris Metcalf
2015-10-20 20:36               ` [PATCH v8 11/14] arch/arm64: enable task isolation functionality Chris Metcalf
2015-10-20 20:36               ` [PATCH v8 12/14] arch/tile: adopt prepare_exit_to_usermode() model from x86 Chris Metcalf
2015-10-20 20:36               ` [PATCH v8 13/14] arch/tile: turn off timer tick for oneshot_stopped state Chris Metcalf
2015-10-20 20:36               ` [PATCH v8 14/14] arch/tile: enable task isolation functionality Chris Metcalf
2015-10-21 12:39               ` [PATCH v8 00/14] support "task_isolation" mode for nohz_full Peter Zijlstra
2015-10-22 20:31                 ` Chris Metcalf
2015-10-23  2:33                   ` Frederic Weisbecker
2015-10-23  8:49                     ` Peter Zijlstra
2015-10-23 13:29                       ` Frederic Weisbecker
2015-10-23  9:04                   ` Peter Zijlstra
2015-10-23 11:52                     ` Theodore Ts'o

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=alpine.DEB.2.11.1509302205030.4500@nanos \
    --to=tglx@linutronix.de \
    --cc=akpm@linux-foundation.org \
    --cc=catalin.marinas@arm.com \
    --cc=cl@linux.com \
    --cc=cmetcalf@ezchip.com \
    --cc=fweisbec@gmail.com \
    --cc=giladb@ezchip.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=mingo@kernel.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=riel@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=tj@kernel.org \
    --cc=viresh.kumar@linaro.org \
    --cc=will.deacon@arm.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox