cgroups.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Viresh Kumar <viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
To: tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org,
	fweisbec-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org,
	mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org
Cc: linaro-kernel-cunTk1MwBs8s++Sfvej+rw@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Viresh Kumar
	<viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Subject: [RFC 0/4] Migrate timers away from cpuset on setting cpuset.quiesce
Date: Thu, 20 Mar 2014 19:18:57 +0530	[thread overview]
Message-ID: <cover.1395322529.git.viresh.kumar@linaro.org> (raw)

For networking platforms we need to provide one isolated CPU per user space data
plane thread. These CPUs should not be interrupted by kernel at all unless
userspace has requested for some syscalls. And so must live in isolated mode.
Currently, there are background kernel activities that are running on almost
every CPU, like: timers/hrtimers/watchdogs/etc, and these are required to be
migrated to other CPUs.

This patchset tries to migrate un-pinned timers away in the first attempt. And
support for migrating others like hrtimers/workqueues/etc would be added later.

This has only went through basic testing currently on ARM Samsung Exynos board
which only has two CPUs. Separate cpusets were created for these two CPUs and
then timers were migrated from one cpuset to other.

This option was earlier suggested by Peter Z. here.

https://lkml.org/lkml/2014/1/15/186

Please provide your inputs on how this can be improved..

Viresh Kumar (4):
  timer: track pinned timers with TIMER_PINNED flag
  timer: don't migrate pinned timers
  timer: create timer_quiesce_cpu() for cpusets.quiesce option
  cpuset: Add cpusets.quiesce option

 include/linux/timer.h | 10 +++---
 kernel/cpuset.c       | 56 +++++++++++++++++++++++++++++++
 kernel/timer.c        | 92 +++++++++++++++++++++++++++++++++++++++++----------
 3 files changed, 136 insertions(+), 22 deletions(-)

-- 
1.7.12.rc2.18.g61b472e

             reply	other threads:[~2014-03-20 13:48 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-20 13:48 Viresh Kumar [this message]
2014-03-20 13:48 ` [RFC 1/4] timer: track pinned timers with TIMER_PINNED flag Viresh Kumar
2014-03-20 13:48 ` [RFC 2/4] timer: don't migrate pinned timers Viresh Kumar
     [not found]   ` <3fa0ea3a19a51ae2797a25e281763451ad8d2844.1395322529.git.viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-03-31 15:56     ` Kevin Hilman
     [not found]       ` <7htxae5plh.fsf-4poPxKt068f/PtFMR13I2A@public.gmane.org>
2014-04-01  4:32         ` Viresh Kumar
     [not found]           ` <CAKohpokYfdY+40kmhgrC6Yr9vfv4GtAW2Ph3+=57YbfmJsnU9w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-04-04 15:15             ` Kevin Hilman
2014-03-20 13:49 ` [RFC 3/4] timer: create timer_quiesce_cpu() for cpusets.quiesce option Viresh Kumar
2014-03-20 13:49 ` [RFC 4/4] cpuset: Add " Viresh Kumar
     [not found]   ` <e643acf71086db239254d44c77d4966b2a4a01e5.1395322529.git.viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-03-27  2:47     ` Li Zefan
     [not found]       ` <53339153.70708-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2014-03-27  4:29         ` Viresh Kumar
     [not found] ` <cover.1395322529.git.viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-04-24  7:25   ` [RFC 0/4] Migrate timers away from cpuset on setting cpuset.quiesce Daniel Sangorrin
     [not found]     ` <201404240725.s3O7PrUv003720-g3qfMnKXm6lL9jVzuh4AOg@public.gmane.org>
2014-04-24  7:43       ` Viresh Kumar
     [not found]         ` <CAKohpokt-O3BAGMzE_=heVBZQOwp0C7eT8ZA2485DgNi3+Xcqg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-04-24  8:31           ` Daniel Sangorrin
     [not found]             ` <201404240832.s3O8WHd0011014-g3qfMnKXm6lL9jVzuh4AOg@public.gmane.org>
2014-04-24  8:41               ` Viresh Kumar
2014-04-24  9:24                 ` Daniel Sangorrin
2014-04-24  9:30                   ` Viresh Kumar
     [not found]                     ` <CAKohponA4-cm2_FB=8R8aVEWNhtUfOUebcfzn7W+XR0zKHCtxw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-04-25  0:31                       ` Daniel Sangorrin
     [not found]                         ` <201404250031.s3P0V2DY022219-g3qfMnKXm6lL9jVzuh4AOg@public.gmane.org>
2014-04-25  4:51                           ` Viresh Kumar
     [not found]                             ` <CAKohpomQH01gCeUfqFFeHVNX7N7CSyo7zdj3LGBv9=U=cE46EA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-04-25  5:21                               ` Daniel Sangorrin

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=cover.1395322529.git.viresh.kumar@linaro.org \
    --to=viresh.kumar-qsej5fyqhm4dnm+yrofe0a@public.gmane.org \
    --cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=fweisbec-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=linaro-kernel-cunTk1MwBs8s++Sfvej+rw@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \
    --cc=mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \
    --cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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).