linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Frederic Weisbecker <fweisbec@gmail.com>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>,
	Alessio Igor Bogani <abogani@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Chris Metcalf <cmetcalf@tilera.com>,
	Christoph Lameter <cl@linux.com>,
	Geoff Levand <geoff@infradead.org>,
	Gilad Ben Yossef <gilad@benyossef.com>,
	Hakan Akkan <hakanakkan@gmail.com>,
	Ingo Molnar <mingo@kernel.org>,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	Paul Gortmaker <paul.gortmaker@windriver.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Li Zhong <zhong@linux.vnet.ibm.com>,
	Namhyung Kim <namhyung@kernel.org>
Subject: [ANNOUNCE] 3.8-rc1-nohz1
Date: Sat, 29 Dec 2012 17:42:39 +0100	[thread overview]
Message-ID: <1356799386-4212-1-git-send-email-fweisbec@gmail.com> (raw)

Hi,

So after I released 3.7-nohz1, I shut down the light then sat down
in front of an empty wall in my flat and waited in the darkness with
a black tea for december 21th's apocalypse.

But then after a few days, I've been thinking I should have taken a
second cup of tea with me.

So I eventually got up and turned the light on. Then I booted my
computer and started working on that new release of the full dynticks
patchset.

Branch can found at:

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
	3.8-rc1-nohz1

Changes since 3.7-nohz1 include:

- Many build errors fixed (thanks to Steven Rostedt, Wu Fenguang,
Li Zhong, Namhyung Kim, sorry if I'm missing somebody in the list)

- Rebase against 3.8-rc1

- Fix copy-paste that resulted in accounting utime into stime.

- Don't hold up the tick for RCU when we are in userspace

- Handle non-pinned timers

- Remove unused tick hooks

I'm certainly forgetting something...

Anyway, so on the TODO list now:

* Make sure rcu_nocbs mask matches full_nohz's.

* Get the nohz printk patchset merged.  Unfortunately Linus ignored my
pull request for the 3.8 merge window and he did not respond to Steve's
reminders about it. Let's hope we'll have more chances on the next merge
window...

* Handle update_cpu_load_active(). I had a quick look and it shouldn't
be hard to deal with. It appears that all we need to do is to catch
up with an update from target_load() and source_load().

* Handle sched_class->task_tick(). May be a bit trickier but this shouldn't
be that hard either.

* Posix cpu timers enqueued while tick is off. Probably no big deal but
I need to look into that.

* Several trivial stuffs: perf_event_task_tick(), profile_tick(),
sched_clock_tick(), etc...

About mainlining stuff, I'll likely work on getting the nohz cputime
accounting patches into a better shape and try to get these merged for
the next merge window.

There are a few comments I haven't responded on the last release, I'm
not ignoring them. Of course I plan to answer you but for now I'm just
a bit backlogged due to holidays.

Happy new year!

---
Frederic Weisbecker (35):
      irq_work: Fix racy IRQ_WORK_BUSY flag setting
      irq_work: Fix racy check on work pending flag
      irq_work: Remove CONFIG_HAVE_IRQ_WORK
      nohz: Add API to check tick state
      irq_work: Don't stop the tick with pending works
      irq_work: Make self-IPIs optable
      printk: Wake up klogd using irq_work
      Merge branch 'nohz/printk-v8' into 3.8-rc1-nohz1
      context_tracking: Add comments on interface and internals
      cputime: Generic on-demand virtual cputime accounting
      cputime: Allow dynamic switch between tick/virtual based cputime accounting
      cputime: Use accessors to read task cputime stats
      cputime: Safely read cputime of full dynticks CPUs
      nohz: Basic full dynticks interface
      nohz: Assign timekeeping duty to a non-full-nohz CPU
      nohz: Trace timekeeping update
      nohz: Wake up full dynticks CPUs when a timer gets enqueued
      rcu: Restart the tick on non-responding full dynticks CPUs
      sched: Comment on rq->clock correctness in ttwu_do_wakeup() in nohz
      sched: Update rq clock on nohz CPU before migrating tasks
      sched: Update rq clock on nohz CPU before setting fair group shares
      sched: Update rq clock on tickless CPUs before calling check_preempt_curr()
      sched: Update rq clock earlier in unthrottle_cfs_rq
      sched: Update clock of nohz busiest rq before balancing
      sched: Update rq clock before idle balancing
      sched: Update nohz rq clock before searching busiest group on load balancing
      nohz: Move nohz load balancer selection into idle logic
      nohz: Full dynticks mode
      nohz: Only stop the tick on RCU nocb CPUs
      nohz: Don't turn off the tick if rcu needs it
      nohz: Don't stop the tick if posix cpu timers are running
      nohz: Add some tracing
      rcu: Don't keep the tick for RCU while in userspace
      profiling: Remove unused timer hook
      timer: Don't run non-pinned timer to full dynticks CPUs

Steven Rostedt (2):
      irq_work: Flush work on CPU_DYING
      irq_work: Warn if there's still work on cpu_down

 arch/alpha/Kconfig                  |    1 -
 arch/alpha/kernel/osf_sys.c         |    6 +-
 arch/arm/Kconfig                    |    1 -
 arch/arm64/Kconfig                  |    1 -
 arch/blackfin/Kconfig               |    1 -
 arch/frv/Kconfig                    |    1 -
 arch/hexagon/Kconfig                |    1 -
 arch/mips/Kconfig                   |    1 -
 arch/parisc/Kconfig                 |    1 -
 arch/powerpc/Kconfig                |    1 -
 arch/s390/Kconfig                   |    1 -
 arch/s390/kernel/vtime.c            |    4 +-
 arch/sh/Kconfig                     |    1 -
 arch/sparc/Kconfig                  |    1 -
 arch/x86/Kconfig                    |    1 -
 arch/x86/kernel/apm_32.c            |   11 +-
 drivers/isdn/mISDN/stack.c          |    7 +-
 drivers/staging/iio/trigger/Kconfig |    1 -
 fs/binfmt_elf.c                     |    8 +-
 fs/binfmt_elf_fdpic.c               |    7 +-
 include/asm-generic/cputime.h       |    1 +
 include/linux/context_tracking.h    |   28 +++++
 include/linux/hardirq.h             |    4 +-
 include/linux/init_task.h           |    9 ++
 include/linux/irq_work.h            |   20 +++
 include/linux/kernel_stat.h         |    2 +-
 include/linux/posix-timers.h        |    1 +
 include/linux/printk.h              |    3 -
 include/linux/profile.h             |   13 --
 include/linux/rcupdate.h            |    8 ++
 include/linux/sched.h               |   48 +++++++-
 include/linux/tick.h                |   26 ++++-
 include/linux/vtime.h               |   47 +++++---
 init/Kconfig                        |   22 +++-
 kernel/acct.c                       |    6 +-
 kernel/context_tracking.c           |   91 +++++++++++----
 kernel/cpu.c                        |    4 +-
 kernel/delayacct.c                  |    7 +-
 kernel/exit.c                       |    6 +-
 kernel/fork.c                       |    8 +-
 kernel/irq_work.c                   |  131 ++++++++++++++++-----
 kernel/posix-cpu-timers.c           |   39 +++++-
 kernel/printk.c                     |   36 +++---
 kernel/profile.c                    |   24 ----
 kernel/rcutree.c                    |   19 +++-
 kernel/rcutree_plugin.h             |   13 +--
 kernel/sched/core.c                 |   69 +++++++++++-
 kernel/sched/cputime.c              |  222 ++++++++++++++++++++++++++++++-----
 kernel/sched/fair.c                 |   41 ++++++-
 kernel/sched/sched.h                |   15 +++
 kernel/signal.c                     |   12 ++-
 kernel/softirq.c                    |   11 +-
 kernel/time/Kconfig                 |    9 ++
 kernel/time/tick-broadcast.c        |    3 +-
 kernel/time/tick-common.c           |    5 +-
 kernel/time/tick-sched.c            |  142 ++++++++++++++++++++---
 kernel/timer.c                      |    3 +-
 kernel/tsacct.c                     |   19 ++-
 58 files changed, 954 insertions(+), 270 deletions(-)

             reply	other threads:[~2012-12-29 16:43 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-29 16:42 Frederic Weisbecker [this message]
2012-12-29 16:42 ` [PATCH 01/27] context_tracking: Add comments on interface and internals Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 02/27] cputime: Generic on-demand virtual cputime accounting Frederic Weisbecker
2013-01-04 20:19   ` Paul Gortmaker
2013-01-08 23:54     ` Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 03/27] cputime: Allow dynamic switch between tick/virtual based " Frederic Weisbecker
2013-01-04 22:16   ` Paul Gortmaker
2013-01-07 15:47     ` Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 04/27] cputime: Use accessors to read task cputime stats Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 05/27] cputime: Safely read cputime of full dynticks CPUs Frederic Weisbecker
2012-12-31  5:54   ` Li Zhong
2013-01-04 13:42     ` Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 06/27] nohz: Basic full dynticks interface Frederic Weisbecker
2012-12-31  7:18   ` Li Zhong
2013-01-04 13:24     ` Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 07/27] nohz: Assign timekeeping duty to a non-full-nohz CPU Frederic Weisbecker
2013-01-02 15:30   ` Christoph Lameter
2013-01-04 12:51     ` Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 08/27] nohz: Trace timekeeping update Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 09/27] nohz: Wake up full dynticks CPUs when a timer gets enqueued Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 10/27] rcu: Restart the tick on non-responding full dynticks CPUs Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 11/27] sched: Comment on rq->clock correctness in ttwu_do_wakeup() in nohz Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 12/27] sched: Update rq clock on nohz CPU before migrating tasks Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 13/27] sched: Update rq clock on nohz CPU before setting fair group shares Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 14/27] sched: Update rq clock on tickless CPUs before calling check_preempt_curr() Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 15/27] sched: Update rq clock earlier in unthrottle_cfs_rq Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 16/27] sched: Update clock of nohz busiest rq before balancing Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 17/27] sched: Update rq clock before idle balancing Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 18/27] sched: Update nohz rq clock before searching busiest group on load balancing Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 19/27] nohz: Move nohz load balancer selection into idle logic Frederic Weisbecker
2012-12-29 16:42 ` [PATCH 20/27] nohz: Full dynticks mode Frederic Weisbecker
2012-12-29 16:43 ` [PATCH 21/27] nohz: Only stop the tick on RCU nocb CPUs Frederic Weisbecker
2013-01-02  8:47   ` Namhyung Kim
2013-01-04 12:53     ` Frederic Weisbecker
2012-12-29 16:43 ` [PATCH 22/27] nohz: Don't turn off the tick if rcu needs it Frederic Weisbecker
2012-12-29 16:43 ` [PATCH 23/27] nohz: Don't stop the tick if posix cpu timers are running Frederic Weisbecker
2012-12-29 16:43 ` [PATCH 24/27] nohz: Add some tracing Frederic Weisbecker
2012-12-29 16:43 ` [PATCH 25/27] rcu: Don't keep the tick for RCU while in userspace Frederic Weisbecker
2012-12-29 16:43 ` [PATCH 26/27] profiling: Remove unused timer hook Frederic Weisbecker
2012-12-29 16:43 ` [PATCH 27/27] timer: Don't run non-pinned timer to full dynticks CPUs 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=1356799386-4212-1-git-send-email-fweisbec@gmail.com \
    --to=fweisbec@gmail.com \
    --cc=abogani@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux.com \
    --cc=cmetcalf@tilera.com \
    --cc=geoff@infradead.org \
    --cc=gilad@benyossef.com \
    --cc=hakanakkan@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=paul.gortmaker@windriver.com \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=zhong@linux.vnet.ibm.com \
    /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).