From: Chris Metcalf <cmetcalf@ezchip.com>
To: Frederic Weisbecker <fweisbec@gmail.com>,
LKML <linux-kernel@vger.kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
Preeti U Murthy <preeti@linux.vnet.ibm.com>,
Christoph Lameter <cl@linux.com>, Ingo Molnar <mingo@kernel.org>,
Viresh Kumar <viresh.kumar@linaro.org>,
Rik van Riel <riel@redhat.com>
Subject: Re: [PATCH 08/10] posix-cpu-timers: Migrate to use new tick dependency mask model
Date: Fri, 24 Jul 2015 12:57:24 -0400 [thread overview]
Message-ID: <55B26E74.5040803@ezchip.com> (raw)
In-Reply-To: <1437669735-8786-9-git-send-email-fweisbec@gmail.com>
On 07/23/2015 12:42 PM, Frederic Weisbecker wrote:
> +static void cpu_timer_list_dequeue(struct cpu_timer_list *t)
> +{
> + if (!list_empty(&t->entry))
> + cpu_timer_dec_tick_dependency();
> + list_del_init(&t->entry);
> +}
Is the list_empty() test necessary? It wasn't in the original
posix-timers code, and it feels like a pretty serious bug if you're
doing a list_del on an empty list.
At a higher level, is the posix-cpu-timers code here really providing
the right semantics? It seems like before, the code was checking a
struct task-specific state, and now you are setting a global state such
that if ANY task anywhere in the system (even on housekeeping cores) has
a pending posix cpu timer, then nothing can go into nohz_full mode.
Perhaps what is needed is a task_struct->tick_dependency to go along
with the system-wide and per-cpu flag words?
--
Chris Metcalf, EZChip Semiconductor
http://www.ezchip.com
next prev parent reply other threads:[~2015-07-24 16:57 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-23 16:42 [PATCH 00/10] nohz: Tick dependency mask v2 Frederic Weisbecker
2015-07-23 16:42 ` [PATCH 01/10] nohz: Remove idle task special case Frederic Weisbecker
2015-07-23 16:42 ` [PATCH 02/10] nohz: Restart nohz full tick from irq exit Frederic Weisbecker
2015-07-23 16:42 ` [PATCH 03/10] nohz: Move tick_nohz_restart_sched_tick() above its users Frederic Weisbecker
2015-07-23 16:42 ` [PATCH 04/10] nohz: Remove useless argument on tick_nohz_task_switch() Frederic Weisbecker
2015-08-03 12:39 ` Peter Zijlstra
2015-08-03 12:49 ` Frederic Weisbecker
2015-08-03 13:04 ` Peter Zijlstra
2015-07-23 16:42 ` [PATCH 05/10] nohz: New tick dependency mask Frederic Weisbecker
2015-07-24 16:55 ` Chris Metcalf
2015-07-24 17:16 ` Frederic Weisbecker
2015-07-24 17:43 ` Chris Metcalf
2015-08-03 12:48 ` Peter Zijlstra
2015-08-03 12:43 ` Peter Zijlstra
2015-08-03 13:05 ` Frederic Weisbecker
2015-08-03 13:24 ` Peter Zijlstra
2015-08-03 13:49 ` Frederic Weisbecker
2015-08-03 12:57 ` Peter Zijlstra
2015-08-03 13:09 ` Frederic Weisbecker
2015-08-03 13:29 ` Peter Zijlstra
2015-08-03 13:55 ` Frederic Weisbecker
2015-08-03 14:11 ` Peter Zijlstra
2015-07-23 16:42 ` [PATCH 06/10] perf: Migrate perf to use new tick dependency mask model Frederic Weisbecker
2015-07-23 16:42 ` [PATCH 07/10] sched: Migrate sched " Frederic Weisbecker
2015-07-23 16:55 ` Frederic Weisbecker
2015-07-24 16:56 ` Chris Metcalf
2015-07-29 13:01 ` Frederic Weisbecker
2015-08-03 14:00 ` Peter Zijlstra
2015-08-03 14:50 ` Frederic Weisbecker
2015-08-03 17:09 ` Peter Zijlstra
2015-08-03 17:30 ` Frederic Weisbecker
2015-08-04 7:41 ` Peter Zijlstra
2015-08-10 14:02 ` Juri Lelli
2015-08-10 14:16 ` Frederic Weisbecker
2015-08-10 14:28 ` Peter Zijlstra
2015-08-10 15:11 ` Peter Zijlstra
2015-08-10 15:29 ` Frederic Weisbecker
2015-08-10 15:43 ` Juri Lelli
2015-08-10 16:41 ` Peter Zijlstra
2015-08-10 15:33 ` Christoph Lameter
2015-07-23 16:42 ` [PATCH 08/10] posix-cpu-timers: Migrate " Frederic Weisbecker
2015-07-24 16:57 ` Chris Metcalf [this message]
2015-07-29 13:23 ` Frederic Weisbecker
2015-07-29 17:24 ` Chris Metcalf
2015-07-30 0:44 ` Frederic Weisbecker
2015-07-30 14:31 ` Luiz Capitulino
2015-07-30 14:46 ` Frederic Weisbecker
2015-07-30 19:35 ` Chris Metcalf
2015-07-30 19:45 ` Frederic Weisbecker
2015-07-30 19:52 ` Chris Metcalf
2015-07-31 14:49 ` Frederic Weisbecker
2015-08-03 15:59 ` Chris Metcalf
2015-08-03 18:01 ` Frederic Weisbecker
2015-08-03 17:12 ` Peter Zijlstra
2015-08-03 17:39 ` Frederic Weisbecker
2015-08-03 19:07 ` Peter Zijlstra
2015-08-06 17:13 ` Chris Metcalf
2015-07-23 16:42 ` [PATCH 09/10] sched-clock: " Frederic Weisbecker
2015-07-23 16:42 ` [PATCH 10/10] nohz: Remove task switch obsolete tick dependency check Frederic Weisbecker
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=55B26E74.5040803@ezchip.com \
--to=cmetcalf@ezchip.com \
--cc=cl@linux.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=preeti@linux.vnet.ibm.com \
--cc=riel@redhat.com \
--cc=tglx@linutronix.de \
--cc=viresh.kumar@linaro.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.