public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Pavel Vasilyev <pavel@pavlinux.ru>
To: linux-kernel@vger.kernel.org
Subject: Re: INGO Why you remove  set_user_nice() from kernel/kthread.c
Date: Mon, 14 Sep 2009 19:35:24 +0400	[thread overview]
Message-ID: <200909141935.25681.pavel@pavlinux.ru> (raw)
In-Reply-To: <4AAE5D60.2080703@nortel.com>

   
   Compare 

2.6.31-git2 with KTHREAD_NICE_LEVEL = 0
2.6.31-git2 with KTHREAD_NICE_LEVEL = -5

Diff.

diff --git a/kernel/kthread.c b/kernel/kthread.c
index 5fe7099..eb8751a 100644
--- a/kernel/kthread.c
+++ b/kernel/kthread.c
@@ -16,6 +16,8 @@
 #include <linux/mutex.h>
 #include <trace/events/sched.h>

+#define KTHREAD_NICE_LEVEL (-5)
+
 static DEFINE_SPINLOCK(kthread_create_lock);
 static LIST_HEAD(kthread_create_list);
 struct task_struct *kthreadd_task;
@@ -143,6 +145,7 @@ struct task_struct *kthread_create(int (*threadfn)(void 
*data),
                 * The kernel thread should not inherit these properties.
                 */
                sched_setscheduler_nocheck(create.result, SCHED_NORMAL, 
&param);
+         set_user_nice(create.result, KTHREAD_NICE_LEVEL);
                set_cpus_allowed_ptr(create.result, cpu_all_mask);
        }
        return create.result;
@@ -218,6 +221,7 @@ int kthreadd(void *unused)
        /* Setup a clean context for our children to inherit. */
        set_task_comm(tsk, "kthreadd");
        ignore_signals(tsk);
+ set_user_nice(tsk, KTHREAD_NICE_LEVEL);
        set_cpus_allowed_ptr(tsk, cpu_all_mask);
        set_mems_allowed(node_possible_map);
 


Used benchmarks.

# cyclictest and signaltest - 
http://www.osadl.org/Realtime-test-utilities-cyclictest-and-s.rt-test-cyclictest-signaltest.0.html

 ----------
 CYCLE TEST
 ----------

-T: 0 ( 5263) P: 0 I:1000 C:  98345 Min:      8 Act:656014 Avg:287390 Max:  
656450
-T: 1 ( 5264) P: 0 I:1500 C:  65680 Min:      7 Act:481583 Avg:236140 Max:  
482343
-T: 2 ( 5265) P: 0 I:2000 C:  49358 Min:      7 Act:286071 Avg:111300 Max:  
287453
-T: 3 ( 5266) P: 0 I:2500 C:  39453 Min:      7 Act:370028 Avg:116111 Max:  
372481
+T: 0 ( 6634) P: 0 I:1000 C:  98888 Min:      7 Act:113011 Avg:28733 Max:  
113817
+T: 1 ( 6635) P: 0 I:1500 C:  65953 Min:      8 Act:72013 Avg:25026 Max:   
73110
+T: 2 ( 6636) P: 0 I:2000 C:  49468 Min:      6 Act:66076 Avg:17455 Max:   
67486
+T: 3 ( 6637) P: 0 I:2500 C:  39580 Min:      7 Act:52514 Avg:12882 Max:   
53256

 ----------
 SIGNAL TEST
 ----------

-T: 0 ( 5285) P: 0 C: 100000 Min:     13 Act:   23 Avg:   30 Max:    9229
-T: 1 ( 5286) P: 0 C: 100000 Min:     13 Act:   99 Avg:  662 Max:   17282
-T: 2 ( 5287) P: 0 C: 100000 Min:     13 Act:  110 Avg:  662 Max:   17294
-T: 3 ( 5288) P: 0 C: 100000 Min:     13 Act:  119 Avg:  662 Max:   18645
+T: 0 ( 6698) P: 0 C: 100000 Min:     13 Act:   22 Avg:   24 Max:    7898
+T: 1 ( 6699) P: 0 C: 100000 Min:     13 Act:  104 Avg:  654 Max:   15728
+T: 2 ( 6700) P: 0 C: 100000 Min:     13 Act:  114 Avg:  654 Max:   15740
+T: 3 ( 6701) P: 0 C: 100000 Min:     13 Act:  124 Avg:  654 Max:   16102


  reply	other threads:[~2009-09-14 15:35 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-14 13:42 INGO Why you remove set_user_nice() from kernel/kthread.c Pavel Vasilyev
2009-09-14 14:05 ` Mike Galbraith
2009-09-14 15:12   ` Chris Friesen
2009-09-14 15:35     ` Pavel Vasilyev [this message]
2009-09-18  9:13       ` Thomas Gleixner
2009-09-14 15:45     ` Mike Galbraith
2009-09-14 16:31       ` Chris Friesen
2009-09-14 16:36         ` Mike Galbraith
  -- strict thread matches above, loose matches on Subject: below --
2009-09-19  9:18 Pavel Vasilyev

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=200909141935.25681.pavel@pavlinux.ru \
    --to=pavel@pavlinux.ru \
    --cc=linux-kernel@vger.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