<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/kernel, branch tegra-12r8-early</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>Revert "power: delay early_suspend for 1s"</title>
<updated>2011-09-03T01:05:25+00:00</updated>
<author>
<name>Xin Xie</name>
<email>xxie@nvidia.com</email>
</author>
<published>2011-08-31T20:18:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=acb275bcd7f0076d98a1862722f16af0caef90e4'/>
<id>acb275bcd7f0076d98a1862722f16af0caef90e4</id>
<content type='text'>
BUG 867296

Change-Id: I0bce8d7f8ccba39608b1d00449de9d2e988ee541
Reviewed-on: http://git-master/r/50140
Reviewed-by: Xin Xie &lt;xxie@nvidia.com&gt;
Tested-by: Xin Xie &lt;xxie@nvidia.com&gt;
Reviewed-by: Bharat Nihalani &lt;bnihalani@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
BUG 867296

Change-Id: I0bce8d7f8ccba39608b1d00449de9d2e988ee541
Reviewed-on: http://git-master/r/50140
Reviewed-by: Xin Xie &lt;xxie@nvidia.com&gt;
Tested-by: Xin Xie &lt;xxie@nvidia.com&gt;
Reviewed-by: Bharat Nihalani &lt;bnihalani@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>power: delay early_suspend for 1s</title>
<updated>2011-08-23T00:55:49+00:00</updated>
<author>
<name>Xin Xie</name>
<email>xxie@nvidia.com</email>
</author>
<published>2011-08-21T03:31:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=37fee87f0ee795e03ffc65170fcff7a35549e584'/>
<id>37fee87f0ee795e03ffc65170fcff7a35549e584</id>
<content type='text'>
bug 857053

Change-Id: I9ae35026009d2a73e253386661902004d99a25c9
Reviewed-on: http://git-master/r/48349
Reviewed-by: Xin Xie &lt;xxie@nvidia.com&gt;
Tested-by: Xin Xie &lt;xxie@nvidia.com&gt;
Reviewed-by: Daniel Solomon &lt;daniels@nvidia.com&gt;
Tested-by: Daniel Solomon &lt;daniels@nvidia.com&gt;
Reviewed-by: Yu-Huan Hsu &lt;yhsu@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
bug 857053

Change-Id: I9ae35026009d2a73e253386661902004d99a25c9
Reviewed-on: http://git-master/r/48349
Reviewed-by: Xin Xie &lt;xxie@nvidia.com&gt;
Tested-by: Xin Xie &lt;xxie@nvidia.com&gt;
Reviewed-by: Daniel Solomon &lt;daniels@nvidia.com&gt;
Tested-by: Daniel Solomon &lt;daniels@nvidia.com&gt;
Reviewed-by: Yu-Huan Hsu &lt;yhsu@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tracelevel module: Prioritize trace events</title>
<updated>2011-08-18T18:37:21+00:00</updated>
<author>
<name>Alon Farchy</name>
<email>afarchy@nvidia.com</email>
</author>
<published>2011-07-06T00:12:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=75794f7f04952642b6747bf3a99fea35e2a8f8a7'/>
<id>75794f7f04952642b6747bf3a99fea35e2a8f8a7</id>
<content type='text'>
This module lets subsystem authors prioritize ftrace events
by calling tracelevel_register(...). High priority traces
will be automatically enabled on boot. See tracelevel.h
for more details

Change-Id: If03699e96c598bdcf93b9a9f73918ce7b0c750cb
Reviewed-on: http://git-master/r/40290
Reviewed-by: Alon Farchy &lt;afarchy@nvidia.com&gt;
Tested-by: Alon Farchy &lt;afarchy@nvidia.com&gt;
Reviewed-by: Daniel Willemsen &lt;dwillemsen@nvidia.com&gt;
Tested-by: Daniel Solomon &lt;daniels@nvidia.com&gt;
Tested-by: Simone Willett &lt;swillett@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This module lets subsystem authors prioritize ftrace events
by calling tracelevel_register(...). High priority traces
will be automatically enabled on boot. See tracelevel.h
for more details

Change-Id: If03699e96c598bdcf93b9a9f73918ce7b0c750cb
Reviewed-on: http://git-master/r/40290
Reviewed-by: Alon Farchy &lt;afarchy@nvidia.com&gt;
Tested-by: Alon Farchy &lt;afarchy@nvidia.com&gt;
Reviewed-by: Daniel Willemsen &lt;dwillemsen@nvidia.com&gt;
Tested-by: Daniel Solomon &lt;daniels@nvidia.com&gt;
Tested-by: Simone Willett &lt;swillett@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote branch 'common/android-2.6.36' into android-tegra-2.6.36</title>
<updated>2011-01-29T05:58:22+00:00</updated>
<author>
<name>Rebecca Schultz Zavin</name>
<email>rebecca@android.com</email>
</author>
<published>2011-01-29T05:58:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=bfb8b878f3e4b004eae71ad55ad3f3baca57452a'/>
<id>bfb8b878f3e4b004eae71ad55ad3f3baca57452a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Print pending wakeup IRQ preventing suspend to dmesg</title>
<updated>2011-01-24T22:38:45+00:00</updated>
<author>
<name>Todd Poynor</name>
<email>toddpoynor@google.com</email>
</author>
<published>2011-01-24T22:36:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=eac4ccd16357ad77f34c28813d8fcf35ba81fa33'/>
<id>eac4ccd16357ad77f34c28813d8fcf35ba81fa33</id>
<content type='text'>
Change-Id: I36f90735c75fb7c7ab1084775ec0d0ab02336e6e
Signed-off-by: Todd Poynor &lt;toddpoynor@google.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I36f90735c75fb7c7ab1084775ec0d0ab02336e6e
Signed-off-by: Todd Poynor &lt;toddpoynor@google.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'android-2.6.36' into android-tegra-2.6.36</title>
<updated>2011-01-11T01:18:52+00:00</updated>
<author>
<name>Colin Cross</name>
<email>ccross@android.com</email>
</author>
<published>2011-01-11T01:18:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1fb62ec46a714b133d2b3297264a142154809e6e'/>
<id>1fb62ec46a714b133d2b3297264a142154809e6e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>cgroup: leave cg_list valid upon cgroup_exit</title>
<updated>2011-01-11T00:16:51+00:00</updated>
<author>
<name>Simon Wilson</name>
<email>simonwilson@google.com</email>
</author>
<published>2011-01-08T02:46:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=78d2a8274115727ab3864584abee09d3021de9c6'/>
<id>78d2a8274115727ab3864584abee09d3021de9c6</id>
<content type='text'>
A thread/process in cgroup_attach_task() could have called
list_del(&amp;tsk-&gt;cg_list) after cgroup_exit() had already called
list_del() on the same list. Since it only checked for
!list_empty(&amp;tsk-&gt;cg_list) before doing this, the list_del()
call would thus be made twice.

The solution is to leave tsk-&gt;cg_list in a valid state in
cgroup_exit() with list_del_init(&amp;tsk-&gt;cg_list), which leaves
an empty list.

Change-Id: I4e7c1d0665fced629f5ca033c18dd98afe080e0c
Signed-off-by: Simon Wilson &lt;simonwilson@google.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A thread/process in cgroup_attach_task() could have called
list_del(&amp;tsk-&gt;cg_list) after cgroup_exit() had already called
list_del() on the same list. Since it only checked for
!list_empty(&amp;tsk-&gt;cg_list) before doing this, the list_del()
call would thus be made twice.

The solution is to leave tsk-&gt;cg_list in a valid state in
cgroup_exit() with list_del_init(&amp;tsk-&gt;cg_list), which leaves
an empty list.

Change-Id: I4e7c1d0665fced629f5ca033c18dd98afe080e0c
Signed-off-by: Simon Wilson &lt;simonwilson@google.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36</title>
<updated>2011-01-08T01:20:53+00:00</updated>
<author>
<name>Colin Cross</name>
<email>ccross@android.com</email>
</author>
<published>2011-01-08T01:20:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=351516118103c6c7bb5321aa9d5866eb3dc0d5ca'/>
<id>351516118103c6c7bb5321aa9d5866eb3dc0d5ca</id>
<content type='text'>
Conflicts:
	arch/arm/mm/cache-v6.S

Change-Id: I1a2063218dd705a762a40f4a9dfe504ce1a1d491
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	arch/arm/mm/cache-v6.S

Change-Id: I1a2063218dd705a762a40f4a9dfe504ce1a1d491
</pre>
</div>
</content>
</entry>
<entry>
<title>posix-cpu-timers: workaround to suppress the problems with mt exec</title>
<updated>2011-01-07T21:58:52+00:00</updated>
<author>
<name>Oleg Nesterov</name>
<email>oleg@redhat.com</email>
</author>
<published>2010-11-05T15:53:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2a71e215aa15cab942a814904e108d72dc86cfbb'/>
<id>2a71e215aa15cab942a814904e108d72dc86cfbb</id>
<content type='text'>
commit e0a70217107e6f9844628120412cb27bb4cea194 upstream.

posix-cpu-timers.c correctly assumes that the dying process does
posix_cpu_timers_exit_group() and removes all !CPUCLOCK_PERTHREAD
timers from signal-&gt;cpu_timers list.

But, it also assumes that timer-&gt;it.cpu.task is always the group
leader, and thus the dead -&gt;task means the dead thread group.

This is obviously not true after de_thread() changes the leader.
After that almost every posix_cpu_timer_ method has problems.

It is not simple to fix this bug correctly. First of all, I think
that timer-&gt;it.cpu should use struct pid instead of task_struct.
Also, the locking should be reworked completely. In particular,
tasklist_lock should not be used at all. This all needs a lot of
nontrivial and hard-to-test changes.

Change __exit_signal() to do posix_cpu_timers_exit_group() when
the old leader dies during exec. This is not the fix, just the
temporary hack to hide the problem for 2.6.37 and stable. IOW,
this is obviously wrong but this is what we currently have anyway:
cpu timers do not work after mt exec.

In theory this change adds another race. The exiting leader can
detach the timers which were attached to the new leader. However,
the window between de_thread() and release_task() is small, we
can pretend that sys_timer_create() was called before de_thread().

Signed-off-by: Oleg Nesterov &lt;oleg@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit e0a70217107e6f9844628120412cb27bb4cea194 upstream.

posix-cpu-timers.c correctly assumes that the dying process does
posix_cpu_timers_exit_group() and removes all !CPUCLOCK_PERTHREAD
timers from signal-&gt;cpu_timers list.

But, it also assumes that timer-&gt;it.cpu.task is always the group
leader, and thus the dead -&gt;task means the dead thread group.

This is obviously not true after de_thread() changes the leader.
After that almost every posix_cpu_timer_ method has problems.

It is not simple to fix this bug correctly. First of all, I think
that timer-&gt;it.cpu should use struct pid instead of task_struct.
Also, the locking should be reworked completely. In particular,
tasklist_lock should not be used at all. This all needs a lot of
nontrivial and hard-to-test changes.

Change __exit_signal() to do posix_cpu_timers_exit_group() when
the old leader dies during exec. This is not the fix, just the
temporary hack to hide the problem for 2.6.37 and stable. IOW,
this is obviously wrong but this is what we currently have anyway:
cpu timers do not work after mt exec.

In theory this change adds another race. The exiting leader can
detach the timers which were attached to the new leader. However,
the window between de_thread() and release_task() is small, we
can pretend that sys_timer_create() was called before de_thread().

Signed-off-by: Oleg Nesterov &lt;oleg@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Sched: fix skip_clock_update optimization</title>
<updated>2011-01-07T21:58:51+00:00</updated>
<author>
<name>Mike Galbraith</name>
<email>efault@gmx.de</email>
</author>
<published>2010-12-08T10:05:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9f4bd59e7ba7ccbd873b7af3b377f7b3b163d2ff'/>
<id>9f4bd59e7ba7ccbd873b7af3b377f7b3b163d2ff</id>
<content type='text'>
commit f26f9aff6aaf67e9a430d16c266f91b13a5bff64 upstream.

idle_balance() drops/retakes rq-&gt;lock, leaving the previous task
vulnerable to set_tsk_need_resched().  Clear it after we return
from balancing instead, and in setup_thread_stack() as well, so
no successfully descheduled or never scheduled task has it set.

Need resched confused the skip_clock_update logic, which assumes
that the next call to update_rq_clock() will come nearly immediately
after being set.  Make the optimization robust against the waking
a sleeper before it sucessfully deschedules case by checking that
the current task has not been dequeued before setting the flag,
since it is that useless clock update we're trying to save, and
clear unconditionally in schedule() proper instead of conditionally
in put_prev_task().

Signed-off-by: Mike Galbraith &lt;efault@gmx.de&gt;
Reported-by: Bjoern B. Brandenburg &lt;bbb.lst@gmail.com&gt;
Tested-by: Yong Zhang &lt;yong.zhang0@gmail.com&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
LKML-Reference: &lt;1291802742.1417.9.camel@marge.simson.net&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit f26f9aff6aaf67e9a430d16c266f91b13a5bff64 upstream.

idle_balance() drops/retakes rq-&gt;lock, leaving the previous task
vulnerable to set_tsk_need_resched().  Clear it after we return
from balancing instead, and in setup_thread_stack() as well, so
no successfully descheduled or never scheduled task has it set.

Need resched confused the skip_clock_update logic, which assumes
that the next call to update_rq_clock() will come nearly immediately
after being set.  Make the optimization robust against the waking
a sleeper before it sucessfully deschedules case by checking that
the current task has not been dequeued before setting the flag,
since it is that useless clock update we're trying to save, and
clear unconditionally in schedule() proper instead of conditionally
in put_prev_task().

Signed-off-by: Mike Galbraith &lt;efault@gmx.de&gt;
Reported-by: Bjoern B. Brandenburg &lt;bbb.lst@gmail.com&gt;
Tested-by: Yong Zhang &lt;yong.zhang0@gmail.com&gt;
Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
LKML-Reference: &lt;1291802742.1417.9.camel@marge.simson.net&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
</feed>
