<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/kernel/sched.c, branch v2.6.25-rc2</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>sched: rt-group: refure unrunnable tasks</title>
<updated>2008-02-13T14:45:40+00:00</updated>
<author>
<name>Peter Zijlstra</name>
<email>a.p.zijlstra@chello.nl</email>
</author>
<published>2008-02-13T14:45:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b68aa2300cabeb96801369a4bb37a4f19f59ed84'/>
<id>b68aa2300cabeb96801369a4bb37a4f19f59ed84</id>
<content type='text'>
Refuse to accept or create RT tasks in groups that can't run them.

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Refuse to accept or create RT tasks in groups that can't run them.

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sched: rt-group: clean up the ifdeffery</title>
<updated>2008-02-13T14:45:40+00:00</updated>
<author>
<name>Peter Zijlstra</name>
<email>a.p.zijlstra@chello.nl</email>
</author>
<published>2008-02-13T14:45:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bccbe08a60973c873e6af6fdb9ec11ffb1a6e4de'/>
<id>bccbe08a60973c873e6af6fdb9ec11ffb1a6e4de</id>
<content type='text'>
Clean up some of the excessive ifdeffery introduces in the last patch.

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Clean up some of the excessive ifdeffery introduces in the last patch.

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sched: rt-group: make rt groups scheduling configurable</title>
<updated>2008-02-13T14:45:40+00:00</updated>
<author>
<name>Peter Zijlstra</name>
<email>a.p.zijlstra@chello.nl</email>
</author>
<published>2008-02-13T14:45:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=052f1dc7eb02300b05170ae341ccd03b76207778'/>
<id>052f1dc7eb02300b05170ae341ccd03b76207778</id>
<content type='text'>
Make the rt group scheduler compile time configurable.
Keep it experimental for now.

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make the rt group scheduler compile time configurable.
Keep it experimental for now.

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sched: rt-group: interface</title>
<updated>2008-02-13T14:45:39+00:00</updated>
<author>
<name>Peter Zijlstra</name>
<email>a.p.zijlstra@chello.nl</email>
</author>
<published>2008-02-13T14:45:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9f0c1e560c43327b70998e6c702b2f01321130d9'/>
<id>9f0c1e560c43327b70998e6c702b2f01321130d9</id>
<content type='text'>
Change the rt_ratio interface to rt_runtime_us, to match rt_period_us.
This avoids picking a granularity for the ratio.

Extend the /sys/kernel/uids/&lt;uid&gt;/ interface to allow setting
the group's rt_runtime.

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change the rt_ratio interface to rt_runtime_us, to match rt_period_us.
This avoids picking a granularity for the ratio.

Extend the /sys/kernel/uids/&lt;uid&gt;/ interface to allow setting
the group's rt_runtime.

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sched: rt-group: deal with PI</title>
<updated>2008-02-13T14:45:39+00:00</updated>
<author>
<name>Peter Zijlstra</name>
<email>a.p.zijlstra@chello.nl</email>
</author>
<published>2008-02-13T14:45:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=23b0fdfc9299b137bd126e9dc22f62a59dae546d'/>
<id>23b0fdfc9299b137bd126e9dc22f62a59dae546d</id>
<content type='text'>
Steven mentioned the fun case where a lock holding task will be throttled.

Simple fix: allow groups that have boosted tasks to run anyway.

If a runnable task in a throttled group gets boosted the dequeue/enqueue
done by rt_mutex_setprio() is enough to unthrottle the group.

This is ofcourse not quite correct. Two possible ways forward are:
  - second prio array for boosted tasks
  - boost to a prio ceiling (this would also work for deadline scheduling)

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Steven mentioned the fun case where a lock holding task will be throttled.

Simple fix: allow groups that have boosted tasks to run anyway.

If a runnable task in a throttled group gets boosted the dequeue/enqueue
done by rt_mutex_setprio() is enough to unthrottle the group.

This is ofcourse not quite correct. Two possible ways forward are:
  - second prio array for boosted tasks
  - boost to a prio ceiling (this would also work for deadline scheduling)

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sched: fix incorrect irq lock usage in normalize_rt_tasks()</title>
<updated>2008-02-13T14:45:39+00:00</updated>
<author>
<name>Peter Zijlstra</name>
<email>a.p.zijlstra@chello.nl</email>
</author>
<published>2008-02-13T14:45:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4cf5d77a6eefaa7a464bc34e8cb767356f10fd74'/>
<id>4cf5d77a6eefaa7a464bc34e8cb767356f10fd74</id>
<content type='text'>
lockdep spotted this bogus irq locking. normalize_rt_tasks() can be called
from hardirq context through sysrq-n

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
lockdep spotted this bogus irq locking. normalize_rt_tasks() can be called
from hardirq context through sysrq-n

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sched: fair-group: separate tg-&gt;shares from task_group_lock</title>
<updated>2008-02-13T14:45:39+00:00</updated>
<author>
<name>Peter Zijlstra</name>
<email>a.p.zijlstra@chello.nl</email>
</author>
<published>2008-02-13T14:45:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8ed3699682be75fd68281239c202ad3830f9c72d'/>
<id>8ed3699682be75fd68281239c202ad3830f9c72d</id>
<content type='text'>
On Mon, 2008-02-11 at 15:09 +0300, Denis V. Lunev wrote:
&gt; BUG: sleeping function called from invalid context
&gt; at /home/den/src/linux-netns26/kernel/mutex.c:209
&gt; in_atomic():1, irqs_disabled():0
&gt; no locks held by swapper/0.
&gt; Pid: 0, comm: swapper Not tainted 2.6.24 #304
&gt;
&gt; Call Trace:
&gt;  &lt;IRQ&gt;  [&lt;ffffffff80252d1e&gt;] ? __debug_show_held_locks+0x15/0x27
&gt;  [&lt;ffffffff8022c2a8&gt;] __might_sleep+0xc0/0xdf
&gt;  [&lt;ffffffff8049f1df&gt;] mutex_lock_nested+0x28/0x2a9
&gt;  [&lt;ffffffff80231294&gt;] sched_destroy_group+0x18/0xea
&gt;  [&lt;ffffffff8023e835&gt;] sched_destroy_user+0xd/0xf
&gt;  [&lt;ffffffff8023e8c1&gt;] free_uid+0x8a/0xab
&gt;  [&lt;ffffffff80233e24&gt;] __put_task_struct+0x3f/0xd3
&gt;  [&lt;ffffffff80236708&gt;] delayed_put_task_struct+0x23/0x25
&gt;  [&lt;ffffffff8026fda7&gt;] __rcu_process_callbacks+0x8d/0x215
&gt;  [&lt;ffffffff8026ff52&gt;] rcu_process_callbacks+0x23/0x44
&gt;  [&lt;ffffffff8023a2ae&gt;] __do_softirq+0x79/0xf8
&gt;  [&lt;ffffffff8020f8c3&gt;] ? profile_pc+0x2a/0x67
&gt;  [&lt;ffffffff8020d38c&gt;] call_softirq+0x1c/0x30
&gt;  [&lt;ffffffff8020f689&gt;] do_softirq+0x61/0x9c
&gt;  [&lt;ffffffff8023a233&gt;] irq_exit+0x51/0x53
&gt;  [&lt;ffffffff8021bd1a&gt;] smp_apic_timer_interrupt+0x77/0xad
&gt;  [&lt;ffffffff8020ce3b&gt;] apic_timer_interrupt+0x6b/0x70
&gt;  &lt;EOI&gt;  [&lt;ffffffff8020b0dd&gt;] ? default_idle+0x43/0x76
&gt;  [&lt;ffffffff8020b0db&gt;] ? default_idle+0x41/0x76
&gt;  [&lt;ffffffff8020b09a&gt;] ? default_idle+0x0/0x76
&gt;  [&lt;ffffffff8020b186&gt;] ? cpu_idle+0x76/0x98

separate the tg-&gt;shares protection from the task_group lock.

Reported-by: Denis V. Lunev &lt;den@openvz.org&gt;
Tested-by: Denis V. Lunev &lt;den@openvz.org&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On Mon, 2008-02-11 at 15:09 +0300, Denis V. Lunev wrote:
&gt; BUG: sleeping function called from invalid context
&gt; at /home/den/src/linux-netns26/kernel/mutex.c:209
&gt; in_atomic():1, irqs_disabled():0
&gt; no locks held by swapper/0.
&gt; Pid: 0, comm: swapper Not tainted 2.6.24 #304
&gt;
&gt; Call Trace:
&gt;  &lt;IRQ&gt;  [&lt;ffffffff80252d1e&gt;] ? __debug_show_held_locks+0x15/0x27
&gt;  [&lt;ffffffff8022c2a8&gt;] __might_sleep+0xc0/0xdf
&gt;  [&lt;ffffffff8049f1df&gt;] mutex_lock_nested+0x28/0x2a9
&gt;  [&lt;ffffffff80231294&gt;] sched_destroy_group+0x18/0xea
&gt;  [&lt;ffffffff8023e835&gt;] sched_destroy_user+0xd/0xf
&gt;  [&lt;ffffffff8023e8c1&gt;] free_uid+0x8a/0xab
&gt;  [&lt;ffffffff80233e24&gt;] __put_task_struct+0x3f/0xd3
&gt;  [&lt;ffffffff80236708&gt;] delayed_put_task_struct+0x23/0x25
&gt;  [&lt;ffffffff8026fda7&gt;] __rcu_process_callbacks+0x8d/0x215
&gt;  [&lt;ffffffff8026ff52&gt;] rcu_process_callbacks+0x23/0x44
&gt;  [&lt;ffffffff8023a2ae&gt;] __do_softirq+0x79/0xf8
&gt;  [&lt;ffffffff8020f8c3&gt;] ? profile_pc+0x2a/0x67
&gt;  [&lt;ffffffff8020d38c&gt;] call_softirq+0x1c/0x30
&gt;  [&lt;ffffffff8020f689&gt;] do_softirq+0x61/0x9c
&gt;  [&lt;ffffffff8023a233&gt;] irq_exit+0x51/0x53
&gt;  [&lt;ffffffff8021bd1a&gt;] smp_apic_timer_interrupt+0x77/0xad
&gt;  [&lt;ffffffff8020ce3b&gt;] apic_timer_interrupt+0x6b/0x70
&gt;  &lt;EOI&gt;  [&lt;ffffffff8020b0dd&gt;] ? default_idle+0x43/0x76
&gt;  [&lt;ffffffff8020b0db&gt;] ? default_idle+0x41/0x76
&gt;  [&lt;ffffffff8020b09a&gt;] ? default_idle+0x0/0x76
&gt;  [&lt;ffffffff8020b186&gt;] ? cpu_idle+0x76/0x98

separate the tg-&gt;shares protection from the task_group lock.

Reported-by: Denis V. Lunev &lt;den@openvz.org&gt;
Tested-by: Denis V. Lunev &lt;den@openvz.org&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>kernel: remove fastcall in kernel/*</title>
<updated>2008-02-08T17:22:31+00:00</updated>
<author>
<name>Harvey Harrison</name>
<email>harvey.harrison@gmail.com</email>
</author>
<published>2008-02-08T12:19:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7ad5b3a505e68cfdc342933d6e0fc0eaa5e0a4f7'/>
<id>7ad5b3a505e68cfdc342933d6e0fc0eaa5e0a4f7</id>
<content type='text'>
[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Harvey Harrison &lt;harvey.harrison@gmail.com&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Harvey Harrison &lt;harvey.harrison@gmail.com&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc</title>
<updated>2008-02-01T00:45:47+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2008-02-01T00:45:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=75659ca0c10992dcb39258518368a0f6f56e935d'/>
<id>75659ca0c10992dcb39258518368a0f6f56e935d</id>
<content type='text'>
* 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: (22 commits)
  Remove commented-out code copied from NFS
  NFS: Switch from intr mount option to TASK_KILLABLE
  Add wait_for_completion_killable
  Add wait_event_killable
  Add schedule_timeout_killable
  Use mutex_lock_killable in vfs_readdir
  Add mutex_lock_killable
  Use lock_page_killable
  Add lock_page_killable
  Add fatal_signal_pending
  Add TASK_WAKEKILL
  exit: Use task_is_*
  signal: Use task_is_*
  sched: Use task_contributes_to_load, TASK_ALL and TASK_NORMAL
  ptrace: Use task_is_*
  power: Use task_is_*
  wait: Use TASK_NORMAL
  proc/base.c: Use task_is_*
  proc/array.c: Use TASK_REPORT
  perfmon: Use task_is_*
  ...

Fixed up conflicts in NFS/sunrpc manually..
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc: (22 commits)
  Remove commented-out code copied from NFS
  NFS: Switch from intr mount option to TASK_KILLABLE
  Add wait_for_completion_killable
  Add wait_event_killable
  Add schedule_timeout_killable
  Use mutex_lock_killable in vfs_readdir
  Add mutex_lock_killable
  Use lock_page_killable
  Add lock_page_killable
  Add fatal_signal_pending
  Add TASK_WAKEKILL
  exit: Use task_is_*
  signal: Use task_is_*
  sched: Use task_contributes_to_load, TASK_ALL and TASK_NORMAL
  ptrace: Use task_is_*
  power: Use task_is_*
  wait: Use TASK_NORMAL
  proc/base.c: Use task_is_*
  proc/array.c: Use TASK_REPORT
  perfmon: Use task_is_*
  ...

Fixed up conflicts in NFS/sunrpc manually..
</pre>
</div>
</content>
</entry>
<entry>
<title>sched: remove unused params</title>
<updated>2008-01-31T21:45:23+00:00</updated>
<author>
<name>Gerald Stralko</name>
<email>gerb.stralko@gmail.com</email>
</author>
<published>2008-01-31T21:45:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5aff0531ee2403b319e89bd04055fc41173e95fd'/>
<id>5aff0531ee2403b319e89bd04055fc41173e95fd</id>
<content type='text'>
This removes the extra struct task_struct *p parameter in inc_nr_running
and dec_nr_running functions.

Signed-off by: Jerry Stralko &lt;gerb.stralko@gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This removes the extra struct task_struct *p parameter in inc_nr_running
and dec_nr_running functions.

Signed-off by: Jerry Stralko &lt;gerb.stralko@gmail.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
</feed>
