All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Blunck <jblunck@suse.de>
To: Linux-Kernel Mailinglist <linux-kernel@vger.kernel.org>,
	linux-rt-users@vger.kernel.org
Cc: peterz@infradead.org,
	Sven-Thorsten Dietrich <sdietrich@novell.com>,
	Michael Galbraith <MGalbraith@novell.com>,
	Jan Blunck <jblunck@suse.de>
Subject: [RFC 0/4] Disable timer tick for SCHED_FIFO tasks
Date: Wed,  8 Sep 2010 14:29:20 +0200	[thread overview]
Message-ID: <1283948964-6418-1-git-send-email-jblunck@suse.de> (raw)

Here are some patches that I have been working on a few months ago.

For some applications (e.g. FTQ) you can see the jitter that is introduced by
the timer tick in the result data set. Therefore the task was to completely
disable the timer tick or at least reduce the impact on the application.

This patchset is reusing the infrastructure that disables the timer tick during
idle periods to disable it as well when SCHED_FIFO tasks are executed.

The results of the FTQ workload show that the timer tick is getting disabled
long periods but the impact of a single interruption seems to increase.
Possible, this is due to the fact that the timer tick needs to be enabled again
during interrupts.

Other known issues:
- Currently the time accounting is totally broken but that was not the primary
  focus.

Rants? Thoughts? Complaints?

 Jan


Jan Blunck (4):
  ftrace: Add events for tracing timer interrupts
  ftrace: Add events for tracing tick start and stop
  Disable scheduler tick when we are running SCHED_FIFO tasks
  ftrace: Add argument to tick start/stop tracing

 arch/x86/kernel/apic/apic.c  |    4 +++
 arch/x86/kernel/time.c       |    5 ++++
 include/linux/tick.h         |   14 +++++++++++-
 include/trace/events/irq.h   |   38 ++++++++++++++++++++++++++++++++++
 include/trace/events/sched.h |   46 ++++++++++++++++++++++++++++++++++++++++++
 kernel/sched_rt.c            |   23 +++++++++++++++++++++
 kernel/softirq.c             |    5 ++++
 kernel/time/tick-sched.c     |   40 ++++++++++++++++++++++++-----------
 8 files changed, 160 insertions(+), 15 deletions(-)


             reply	other threads:[~2010-09-08 12:29 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-08 12:29 Jan Blunck [this message]
2010-09-08 12:29 ` [RFC 1/4] ftrace: Add events for tracing timer interrupts Jan Blunck
2010-09-08 12:38   ` Peter Zijlstra
2010-09-08 13:24   ` Andi Kleen
2010-09-08 12:29 ` [RFC 2/4] ftrace: Add events for tracing tick start and stop Jan Blunck
2010-09-08 12:29 ` [RFC 3/4] Disable scheduler tick when we are running SCHED_FIFO tasks Jan Blunck
2010-09-08 12:43   ` Peter Zijlstra
2010-09-08 14:32     ` Jan Blunck
2010-09-08 12:45   ` Peter Zijlstra
2010-09-08 13:21     ` Thomas Gleixner
2010-09-08 14:28     ` Jan Blunck
2010-09-08 17:11       ` Andi Kleen
2010-09-08 13:25   ` Andi Kleen
2010-09-08 14:47     ` Jan Blunck
2010-09-08 12:29 ` [RFC 4/4] ftrace: Add argument to tick start/stop tracing Jan Blunck

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=1283948964-6418-1-git-send-email-jblunck@suse.de \
    --to=jblunck@suse.de \
    --cc=MGalbraith@novell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=sdietrich@novell.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 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.