<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/kernel/sched_stats.h, branch v2.6.28.7</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, signals: fix the racy usage of -&gt;signal in account_group_xxx/run_posix_cpu_timers</title>
<updated>2008-11-17T15:49:35+00:00</updated>
<author>
<name>Oleg Nesterov</name>
<email>oleg@redhat.com</email>
</author>
<published>2008-11-17T14:39:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ad133ba3dc283300e5b62b5b7211d2f39fbf6ee7'/>
<id>ad133ba3dc283300e5b62b5b7211d2f39fbf6ee7</id>
<content type='text'>
Impact: fix potential NULL dereference

Contrary to ad474caca3e2a0550b7ce0706527ad5ab389a4d4 changelog, other
acct_group_xxx() helpers can be called after exit_notify() by timer tick.
Thanks to Roland for pointing out this. Somehow I missed this simple fact
when I read the original patch, and I am afraid I confused Frank during
the discussion. Sorry.

Fortunately, these helpers work with current, we can check -&gt;exit_state
to ensure that -&gt;signal can't go away under us.

Also, add the comment and compiler barrier to account_group_exec_runtime(),
to make sure we load -&gt;signal only once.

Signed-off-by: Oleg Nesterov &lt;oleg@redhat.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>
Impact: fix potential NULL dereference

Contrary to ad474caca3e2a0550b7ce0706527ad5ab389a4d4 changelog, other
acct_group_xxx() helpers can be called after exit_notify() by timer tick.
Thanks to Roland for pointing out this. Somehow I missed this simple fact
when I read the original patch, and I am afraid I confused Frank during
the discussion. Sorry.

Fortunately, these helpers work with current, we can check -&gt;exit_state
to ensure that -&gt;signal can't go away under us.

Also, add the comment and compiler barrier to account_group_exec_runtime(),
to make sure we load -&gt;signal only once.

Signed-off-by: Oleg Nesterov &lt;oleg@redhat.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'proc' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc</title>
<updated>2008-10-23T19:04:37+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2008-10-23T19:04:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=88ed86fee6651033de9b7038dac7869a9f19775a'/>
<id>88ed86fee6651033de9b7038dac7869a9f19775a</id>
<content type='text'>
* 'proc' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc: (35 commits)
  proc: remove fs/proc/proc_misc.c
  proc: move /proc/vmcore creation to fs/proc/vmcore.c
  proc: move pagecount stuff to fs/proc/page.c
  proc: move all /proc/kcore stuff to fs/proc/kcore.c
  proc: move /proc/schedstat boilerplate to kernel/sched_stats.h
  proc: move /proc/modules boilerplate to kernel/module.c
  proc: move /proc/diskstats boilerplate to block/genhd.c
  proc: move /proc/zoneinfo boilerplate to mm/vmstat.c
  proc: move /proc/vmstat boilerplate to mm/vmstat.c
  proc: move /proc/pagetypeinfo boilerplate to mm/vmstat.c
  proc: move /proc/buddyinfo boilerplate to mm/vmstat.c
  proc: move /proc/vmallocinfo to mm/vmalloc.c
  proc: move /proc/slabinfo boilerplate to mm/slub.c, mm/slab.c
  proc: move /proc/slab_allocators boilerplate to mm/slab.c
  proc: move /proc/interrupts boilerplate code to fs/proc/interrupts.c
  proc: move /proc/stat to fs/proc/stat.c
  proc: move rest of /proc/partitions code to block/genhd.c
  proc: move /proc/cpuinfo code to fs/proc/cpuinfo.c
  proc: move /proc/devices code to fs/proc/devices.c
  proc: move rest of /proc/locks to fs/locks.c
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'proc' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc: (35 commits)
  proc: remove fs/proc/proc_misc.c
  proc: move /proc/vmcore creation to fs/proc/vmcore.c
  proc: move pagecount stuff to fs/proc/page.c
  proc: move all /proc/kcore stuff to fs/proc/kcore.c
  proc: move /proc/schedstat boilerplate to kernel/sched_stats.h
  proc: move /proc/modules boilerplate to kernel/module.c
  proc: move /proc/diskstats boilerplate to block/genhd.c
  proc: move /proc/zoneinfo boilerplate to mm/vmstat.c
  proc: move /proc/vmstat boilerplate to mm/vmstat.c
  proc: move /proc/pagetypeinfo boilerplate to mm/vmstat.c
  proc: move /proc/buddyinfo boilerplate to mm/vmstat.c
  proc: move /proc/vmallocinfo to mm/vmalloc.c
  proc: move /proc/slabinfo boilerplate to mm/slub.c, mm/slab.c
  proc: move /proc/slab_allocators boilerplate to mm/slab.c
  proc: move /proc/interrupts boilerplate code to fs/proc/interrupts.c
  proc: move /proc/stat to fs/proc/stat.c
  proc: move rest of /proc/partitions code to block/genhd.c
  proc: move /proc/cpuinfo code to fs/proc/cpuinfo.c
  proc: move /proc/devices code to fs/proc/devices.c
  proc: move rest of /proc/locks to fs/locks.c
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip</title>
<updated>2008-10-23T16:37:16+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2008-10-23T16:37:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=133e887f90208d339088dd60cb1d08a72ba27288'/>
<id>133e887f90208d339088dd60cb1d08a72ba27288</id>
<content type='text'>
* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  sched: disable the hrtick for now
  sched: revert back to per-rq vruntime
  sched: fair scheduler should not resched rt tasks
  sched: optimize group load balancer
  sched: minor fast-path overhead reduction
  sched: fix the wrong mask_len, cleanup
  sched: kill unused scheduler decl.
  sched: fix the wrong mask_len
  sched: only update rq-&gt;clock while holding rq-&gt;lock
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  sched: disable the hrtick for now
  sched: revert back to per-rq vruntime
  sched: fair scheduler should not resched rt tasks
  sched: optimize group load balancer
  sched: minor fast-path overhead reduction
  sched: fix the wrong mask_len, cleanup
  sched: kill unused scheduler decl.
  sched: fix the wrong mask_len
  sched: only update rq-&gt;clock while holding rq-&gt;lock
</pre>
</div>
</content>
</entry>
<entry>
<title>proc: move /proc/schedstat boilerplate to kernel/sched_stats.h</title>
<updated>2008-10-23T14:06:12+00:00</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2008-10-06T09:23:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b5aadf7f14c1acc94956aa257e018e9de3881f41'/>
<id>b5aadf7f14c1acc94956aa257e018e9de3881f41</id>
<content type='text'>
Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sched: fix the wrong mask_len, cleanup</title>
<updated>2008-10-17T11:05:22+00:00</updated>
<author>
<name>Peter Zijlstra</name>
<email>peterz@infradead.org</email>
</author>
<published>2008-10-17T10:58:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b968905292eaa52b25abb7b3e6c0841dac9f03ae'/>
<id>b968905292eaa52b25abb7b3e6c0841dac9f03ae</id>
<content type='text'>
Clean up the division in show_schedstat().

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 the division in show_schedstat().

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 the wrong mask_len</title>
<updated>2008-10-17T10:26:33+00:00</updated>
<author>
<name>Miao Xie</name>
<email>miaox@cn.fujitsu.com</email>
</author>
<published>2008-10-17T10:17:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c851c8676bd7ae456e9b3af8e6bb2c434eddcc75'/>
<id>c851c8676bd7ae456e9b3af8e6bb2c434eddcc75</id>
<content type='text'>
If NR_CPUS isn't a multiple of 32, we get a truncated string of sched
domains by catting /proc/schedstat. This is caused by the wrong mask_len.

This patch fixes it.

Signed-off-by: Miao Xie &lt;miaox@cn.fujitsu.com&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If NR_CPUS isn't a multiple of 32, we get a truncated string of sched
domains by catting /proc/schedstat. This is caused by the wrong mask_len.

This patch fixes it.

Signed-off-by: Miao Xie &lt;miaox@cn.fujitsu.com&gt;
Cc: &lt;stable@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>timers: fix itimer/many thread hang, v3</title>
<updated>2008-09-27T18:04:45+00:00</updated>
<author>
<name>Frank Mayhar</name>
<email>fmayhar@google.com</email>
</author>
<published>2008-09-12T16:54:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7086efe1c1536f6bc160e7d60a9bfd645b91f279'/>
<id>7086efe1c1536f6bc160e7d60a9bfd645b91f279</id>
<content type='text'>
- fix UP lockup
- another set of UP/SMP cleanups and simplifications

Signed-off-by: Frank Mayhar &lt;fmayhar@google.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>
- fix UP lockup
- another set of UP/SMP cleanups and simplifications

Signed-off-by: Frank Mayhar &lt;fmayhar@google.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>timers: fix itimer/many thread hang, v2</title>
<updated>2008-09-23T11:38:44+00:00</updated>
<author>
<name>Frank Mayhar</name>
<email>fmayhar@google.com</email>
</author>
<published>2008-09-12T16:54:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bb34d92f643086d546b49cef680f6f305ed84414'/>
<id>bb34d92f643086d546b49cef680f6f305ed84414</id>
<content type='text'>
This is the second resubmission of the posix timer rework patch, posted
a few days ago.

This includes the changes from the previous resubmittion, which addressed
Oleg Nesterov's comments, removing the RCU stuff from the patch and
un-inlining the thread_group_cputime() function for SMP.

In addition, per Ingo Molnar it simplifies the UP code, consolidating much
of it with the SMP version and depending on lower-level SMP/UP handling to
take care of the differences.

It also cleans up some UP compile errors, moves the scheduler stats-related
macros into kernel/sched_stats.h, cleans up a merge error in
kernel/fork.c and has a few other minor fixes and cleanups as suggested
by Oleg and Ingo. Thanks for the review, guys.

Signed-off-by: Frank Mayhar &lt;fmayhar@google.com&gt;
Cc: Roland McGrath &lt;roland@redhat.com&gt;
Cc: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&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 is the second resubmission of the posix timer rework patch, posted
a few days ago.

This includes the changes from the previous resubmittion, which addressed
Oleg Nesterov's comments, removing the RCU stuff from the patch and
un-inlining the thread_group_cputime() function for SMP.

In addition, per Ingo Molnar it simplifies the UP code, consolidating much
of it with the SMP version and depending on lower-level SMP/UP handling to
take care of the differences.

It also cleans up some UP compile errors, moves the scheduler stats-related
macros into kernel/sched_stats.h, cleans up a merge error in
kernel/fork.c and has a few other minor fixes and cleanups as suggested
by Oleg and Ingo. Thanks for the review, guys.

Signed-off-by: Frank Mayhar &lt;fmayhar@google.com&gt;
Cc: Roland McGrath &lt;roland@redhat.com&gt;
Cc: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sched: fix accounting in task delay accounting &amp; migration</title>
<updated>2008-07-04T10:50:23+00:00</updated>
<author>
<name>Ankita Garg</name>
<email>ankita@in.ibm.com</email>
</author>
<published>2008-07-01T09:00:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=46ac22bab42cc868b9c1d0e915ddbc8e8065a44d'/>
<id>46ac22bab42cc868b9c1d0e915ddbc8e8065a44d</id>
<content type='text'>
On Thu, Jun 19, 2008 at 12:27:14PM +0200, Peter Zijlstra wrote:
&gt; On Thu, 2008-06-05 at 10:50 +0530, Ankita Garg wrote:
&gt;
&gt; &gt; Thanks Peter for the explanation...
&gt; &gt;
&gt; &gt; I agree with the above and that is the reason why I did not see weird
&gt; &gt; values with cpu_time. But, run_delay still would suffer skews as the end
&gt; &gt; points for delta could be taken on different cpus due to migration (more
&gt; &gt; so on RT kernel due to the push-pull operations). With the below patch,
&gt; &gt; I could not reproduce the issue I had seen earlier. After every dequeue,
&gt; &gt; we take the delta and start wait measurements from zero when moved to a
&gt; &gt; different rq.
&gt;
&gt; OK, so task delay delay accounting is broken because it doesn't take
&gt; migration into account.
&gt;
&gt; What you've done is make it symmetric wrt enqueue, and account it like
&gt;
&gt;   cpu0      cpu1
&gt;
&gt; enqueue
&gt;  &lt;wait-d1&gt;
&gt; dequeue
&gt;             enqueue
&gt;              &lt;wait-d2&gt;
&gt;             run
&gt;
&gt; Where you add both d1 and d2 to the run_delay,.. right?
&gt;

Thanks for reviewing the patch. The above is exactly what I have done.

&gt; This seems like a good fix, however it looks like the patch will break
&gt; compilation in !CONFIG_SCHEDSTATS &amp;&amp; !CONFIG_TASK_DELAY_ACCT, of it
&gt; failing to provide a stub for sched_info_dequeue() in that case.

Fixed. Pl. find the new patch below.

Signed-off-by: Ankita Garg &lt;ankita@in.ibm.com&gt;
Acked-by: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Gregory Haskins &lt;ghaskins@novell.com&gt;
Cc: rostedt@goodmis.org
Cc: suresh.b.siddha@intel.com
Cc: aneesh.kumar@linux.vnet.ibm.com
Cc: dhaval@linux.vnet.ibm.com
Cc: vatsa@linux.vnet.ibm.com
Cc: David Bahi &lt;DBahi@novell.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>
On Thu, Jun 19, 2008 at 12:27:14PM +0200, Peter Zijlstra wrote:
&gt; On Thu, 2008-06-05 at 10:50 +0530, Ankita Garg wrote:
&gt;
&gt; &gt; Thanks Peter for the explanation...
&gt; &gt;
&gt; &gt; I agree with the above and that is the reason why I did not see weird
&gt; &gt; values with cpu_time. But, run_delay still would suffer skews as the end
&gt; &gt; points for delta could be taken on different cpus due to migration (more
&gt; &gt; so on RT kernel due to the push-pull operations). With the below patch,
&gt; &gt; I could not reproduce the issue I had seen earlier. After every dequeue,
&gt; &gt; we take the delta and start wait measurements from zero when moved to a
&gt; &gt; different rq.
&gt;
&gt; OK, so task delay delay accounting is broken because it doesn't take
&gt; migration into account.
&gt;
&gt; What you've done is make it symmetric wrt enqueue, and account it like
&gt;
&gt;   cpu0      cpu1
&gt;
&gt; enqueue
&gt;  &lt;wait-d1&gt;
&gt; dequeue
&gt;             enqueue
&gt;              &lt;wait-d2&gt;
&gt;             run
&gt;
&gt; Where you add both d1 and d2 to the run_delay,.. right?
&gt;

Thanks for reviewing the patch. The above is exactly what I have done.

&gt; This seems like a good fix, however it looks like the patch will break
&gt; compilation in !CONFIG_SCHEDSTATS &amp;&amp; !CONFIG_TASK_DELAY_ACCT, of it
&gt; failing to provide a stub for sched_info_dequeue() in that case.

Fixed. Pl. find the new patch below.

Signed-off-by: Ankita Garg &lt;ankita@in.ibm.com&gt;
Acked-by: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Gregory Haskins &lt;ghaskins@novell.com&gt;
Cc: rostedt@goodmis.org
Cc: suresh.b.siddha@intel.com
Cc: aneesh.kumar@linux.vnet.ibm.com
Cc: dhaval@linux.vnet.ibm.com
Cc: vatsa@linux.vnet.ibm.com
Cc: David Bahi &lt;DBahi@novell.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sched, delay accounting: fix incorrect delay time when constantly waiting on runqueue</title>
<updated>2008-06-19T12:15:28+00:00</updated>
<author>
<name>Bharath Ravi</name>
<email>bharathravi1@gmail.com</email>
</author>
<published>2008-06-16T09:41:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d4abc238c9f4df8b3216f3e883f5d0a07b7ac75a'/>
<id>d4abc238c9f4df8b3216f3e883f5d0a07b7ac75a</id>
<content type='text'>
This patch corrects the incorrect value of per process run-queue wait
time reported by delay statistics. The anomaly was due to the following
reason. When a process leaves the CPU and immediately starts waiting for
CPU on the runqueue (which means it remains in the TASK_RUNNABLE state),
the time of re-entry into the run-queue is never recorded. Due to this,
the waiting time on the runqueue from this point of re-entry upto the
next time it hits the CPU is not accounted for. This is solved by
recording the time of re-entry of a process leaving the CPU in the
sched_info_depart() function IF the process will go back to waiting on
the run-queue. This IF condition is verified by checking whether the
process is still in the TASK_RUNNABLE state.

The patch was tested on 2.6.26-rc6 using two simple CPU hog programs.
The values noted prior to the fix did not account for the time spent on
the runqueue waiting. After the fix, the correct values were reported
back to user space.

Signed-off-by: Bharath Ravi &lt;bharathravi1@gmail.com&gt;
Signed-off-by: Madhava K R  &lt;madhavakr@gmail.com&gt;
Cc: dhaval@linux.vnet.ibm.com
Cc: vatsa@in.ibm.com
Cc: balbir@in.ibm.com
Acked-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>
This patch corrects the incorrect value of per process run-queue wait
time reported by delay statistics. The anomaly was due to the following
reason. When a process leaves the CPU and immediately starts waiting for
CPU on the runqueue (which means it remains in the TASK_RUNNABLE state),
the time of re-entry into the run-queue is never recorded. Due to this,
the waiting time on the runqueue from this point of re-entry upto the
next time it hits the CPU is not accounted for. This is solved by
recording the time of re-entry of a process leaving the CPU in the
sched_info_depart() function IF the process will go back to waiting on
the run-queue. This IF condition is verified by checking whether the
process is still in the TASK_RUNNABLE state.

The patch was tested on 2.6.26-rc6 using two simple CPU hog programs.
The values noted prior to the fix did not account for the time spent on
the runqueue waiting. After the fix, the correct values were reported
back to user space.

Signed-off-by: Bharath Ravi &lt;bharathravi1@gmail.com&gt;
Signed-off-by: Madhava K R  &lt;madhavakr@gmail.com&gt;
Cc: dhaval@linux.vnet.ibm.com
Cc: vatsa@in.ibm.com
Cc: balbir@in.ibm.com
Acked-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</pre>
</div>
</content>
</entry>
</feed>
