<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/fs, branch v3.2.11-rt20</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>fs: namespace: Use cpu_chill() instead of cpu_relax()</title>
<updated>2012-03-14T15:50:17+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2012-03-07T20:05:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0f700480c9879d45e4c98d23f5913d6b71c472ee'/>
<id>0f700480c9879d45e4c98d23f5913d6b71c472ee</id>
<content type='text'>
Retry loops on RT might loop forever when the modifying side was
preempted. Use cpu_chill() instead of cpu_relax() to let the system
make progress.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: stable-rt@vger.kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Retry loops on RT might loop forever when the modifying side was
preempted. Use cpu_chill() instead of cpu_relax() to let the system
make progress.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: stable-rt@vger.kernel.org
</pre>
</div>
</content>
</entry>
<entry>
<title>fs: dcache: Use cpu_chill() in trylock loops</title>
<updated>2012-03-14T15:50:17+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2012-03-07T20:00:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=baffbfe70a49f762b9fdfb3849a6ab3e62280edc'/>
<id>baffbfe70a49f762b9fdfb3849a6ab3e62280edc</id>
<content type='text'>
Retry loops on RT might loop forever when the modifying side was
preempted. Use cpu_chill() instead of cpu_relax() to let the system
make progress.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: stable-rt@vger.kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Retry loops on RT might loop forever when the modifying side was
preempted. Use cpu_chill() instead of cpu_relax() to let the system
make progress.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: stable-rt@vger.kernel.org
</pre>
</div>
</content>
</entry>
<entry>
<title>epoll.patch</title>
<updated>2012-03-14T15:50:11+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2011-07-08T14:35:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7a365664c07d9ac2d88dddea757e04d3b46a18d9'/>
<id>7a365664c07d9ac2d88dddea757e04d3b46a18d9</id>
<content type='text'>
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fs: ntfs: disable interrupt only on !RT</title>
<updated>2012-03-14T15:50:10+00:00</updated>
<author>
<name>Mike Galbraith</name>
<email>efault@gmx.de</email>
</author>
<published>2009-07-03T13:44:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=86fa52039d0e75d15db494dc020c205bf0f0dc6c'/>
<id>86fa52039d0e75d15db494dc020c205bf0f0dc6c</id>
<content type='text'>
On Sat, 2007-10-27 at 11:44 +0200, Ingo Molnar wrote:
&gt; * Nick Piggin &lt;nickpiggin@yahoo.com.au&gt; wrote:
&gt;
&gt; &gt; &gt; [10138.175796]  [&lt;c0105de3&gt;] show_trace+0x12/0x14
&gt; &gt; &gt; [10138.180291]  [&lt;c0105dfb&gt;] dump_stack+0x16/0x18
&gt; &gt; &gt; [10138.184769]  [&lt;c011609f&gt;] native_smp_call_function_mask+0x138/0x13d
&gt; &gt; &gt; [10138.191117]  [&lt;c0117606&gt;] smp_call_function+0x1e/0x24
&gt; &gt; &gt; [10138.196210]  [&lt;c012f85c&gt;] on_each_cpu+0x25/0x50
&gt; &gt; &gt; [10138.200807]  [&lt;c0115c74&gt;] flush_tlb_all+0x1e/0x20
&gt; &gt; &gt; [10138.205553]  [&lt;c016caaf&gt;] kmap_high+0x1b6/0x417
&gt; &gt; &gt; [10138.210118]  [&lt;c011ec88&gt;] kmap+0x4d/0x4f
&gt; &gt; &gt; [10138.214102]  [&lt;c026a9d8&gt;] ntfs_end_buffer_async_read+0x228/0x2f9
&gt; &gt; &gt; [10138.220163]  [&lt;c01a0e9e&gt;] end_bio_bh_io_sync+0x26/0x3f
&gt; &gt; &gt; [10138.225352]  [&lt;c01a2b09&gt;] bio_endio+0x42/0x6d
&gt; &gt; &gt; [10138.229769]  [&lt;c02c2a08&gt;] __end_that_request_first+0x115/0x4ac
&gt; &gt; &gt; [10138.235682]  [&lt;c02c2da7&gt;] end_that_request_chunk+0x8/0xa
&gt; &gt; &gt; [10138.241052]  [&lt;c0365943&gt;] ide_end_request+0x55/0x10a
&gt; &gt; &gt; [10138.246058]  [&lt;c036dae3&gt;] ide_dma_intr+0x6f/0xac
&gt; &gt; &gt; [10138.250727]  [&lt;c0366d83&gt;] ide_intr+0x93/0x1e0
&gt; &gt; &gt; [10138.255125]  [&lt;c015afb4&gt;] handle_IRQ_event+0x5c/0xc9
&gt; &gt;
&gt; &gt; Looks like ntfs is kmap()ing from interrupt context. Should be using
&gt; &gt; kmap_atomic instead, I think.
&gt;
&gt; it's not atomic interrupt context but irq thread context - and -rt
&gt; remaps kmap_atomic() to kmap() internally.

Hm.  Looking at the change to mm/bounce.c, perhaps I should do this
instead?

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On Sat, 2007-10-27 at 11:44 +0200, Ingo Molnar wrote:
&gt; * Nick Piggin &lt;nickpiggin@yahoo.com.au&gt; wrote:
&gt;
&gt; &gt; &gt; [10138.175796]  [&lt;c0105de3&gt;] show_trace+0x12/0x14
&gt; &gt; &gt; [10138.180291]  [&lt;c0105dfb&gt;] dump_stack+0x16/0x18
&gt; &gt; &gt; [10138.184769]  [&lt;c011609f&gt;] native_smp_call_function_mask+0x138/0x13d
&gt; &gt; &gt; [10138.191117]  [&lt;c0117606&gt;] smp_call_function+0x1e/0x24
&gt; &gt; &gt; [10138.196210]  [&lt;c012f85c&gt;] on_each_cpu+0x25/0x50
&gt; &gt; &gt; [10138.200807]  [&lt;c0115c74&gt;] flush_tlb_all+0x1e/0x20
&gt; &gt; &gt; [10138.205553]  [&lt;c016caaf&gt;] kmap_high+0x1b6/0x417
&gt; &gt; &gt; [10138.210118]  [&lt;c011ec88&gt;] kmap+0x4d/0x4f
&gt; &gt; &gt; [10138.214102]  [&lt;c026a9d8&gt;] ntfs_end_buffer_async_read+0x228/0x2f9
&gt; &gt; &gt; [10138.220163]  [&lt;c01a0e9e&gt;] end_bio_bh_io_sync+0x26/0x3f
&gt; &gt; &gt; [10138.225352]  [&lt;c01a2b09&gt;] bio_endio+0x42/0x6d
&gt; &gt; &gt; [10138.229769]  [&lt;c02c2a08&gt;] __end_that_request_first+0x115/0x4ac
&gt; &gt; &gt; [10138.235682]  [&lt;c02c2da7&gt;] end_that_request_chunk+0x8/0xa
&gt; &gt; &gt; [10138.241052]  [&lt;c0365943&gt;] ide_end_request+0x55/0x10a
&gt; &gt; &gt; [10138.246058]  [&lt;c036dae3&gt;] ide_dma_intr+0x6f/0xac
&gt; &gt; &gt; [10138.250727]  [&lt;c0366d83&gt;] ide_intr+0x93/0x1e0
&gt; &gt; &gt; [10138.255125]  [&lt;c015afb4&gt;] handle_IRQ_event+0x5c/0xc9
&gt; &gt;
&gt; &gt; Looks like ntfs is kmap()ing from interrupt context. Should be using
&gt; &gt; kmap_atomic instead, I think.
&gt;
&gt; it's not atomic interrupt context but irq thread context - and -rt
&gt; remaps kmap_atomic() to kmap() internally.

Hm.  Looking at the change to mm/bounce.c, perhaps I should do this
instead?

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>fs-block-rt-support.patch</title>
<updated>2012-03-14T15:50:10+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2011-06-14T15:05:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=38ec9df860e17e365f1aef5070501220c6f26e16'/>
<id>38ec9df860e17e365f1aef5070501220c6f26e16</id>
<content type='text'>
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mm-protect-activate-switch-mm.patch</title>
<updated>2012-03-14T15:50:10+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2011-07-04T07:48:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=40755093da75b7cb54fb579074aaa087b33c995e'/>
<id>40755093da75b7cb54fb579074aaa087b33c995e</id>
<content type='text'>
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fs: namespace preemption fix</title>
<updated>2012-03-14T15:50:10+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2009-07-19T13:44:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6bc09f60ae4f852cf9bcfb78296964fd6075382f'/>
<id>6bc09f60ae4f852cf9bcfb78296964fd6075382f</id>
<content type='text'>
On RT we cannot loop with preemption disabled here as
mnt_make_readonly() might have been preempted. We can safely enable
preemption while waiting for MNT_WRITE_HOLD to be cleared. Safe on !RT
as well.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On RT we cannot loop with preemption disabled here as
mnt_make_readonly() might have been preempted. We can safely enable
preemption while waiting for MNT_WRITE_HOLD to be cleared. Safe on !RT
as well.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>timer-fd: Prevent live lock</title>
<updated>2012-03-14T15:50:00+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2012-01-25T10:08:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=201b0d7ed1482f6dfde90d079b5fe3f06a3a087a'/>
<id>201b0d7ed1482f6dfde90d079b5fe3f06a3a087a</id>
<content type='text'>
If hrtimer_try_to_cancel() requires a retry, then depending on the
priority setting te retry loop might prevent timer callback completion
on RT. Prevent that by waiting for completion on RT, no change for a
non RT kernel.

Reported-by: Sankara Muthukrishnan &lt;sankara.m@gmail.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: stable-rt@vger.kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If hrtimer_try_to_cancel() requires a retry, then depending on the
priority setting te retry loop might prevent timer callback completion
on RT. Prevent that by waiting for completion on RT, no change for a
non RT kernel.

Reported-by: Sankara Muthukrishnan &lt;sankara.m@gmail.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: stable-rt@vger.kernel.org
</pre>
</div>
</content>
</entry>
<entry>
<title>buffer_head: Replace bh_uptodate_lock for -rt</title>
<updated>2012-03-14T15:49:54+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2011-03-18T08:18:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=102dcb3f6b02e1f5c72b8ee11b90db3ff407e3e8'/>
<id>102dcb3f6b02e1f5c72b8ee11b90db3ff407e3e8</id>
<content type='text'>
Wrap the bit_spin_lock calls into a separate inline and add the RT
replacements with a real spinlock.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Wrap the bit_spin_lock calls into a separate inline and add the RT
replacements with a real spinlock.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>locking-various-init-fixes.patch</title>
<updated>2012-03-14T15:49:51+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2011-07-17T19:25:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=616aab7cc3ad82b9109c2c0a80bb82ff70116447'/>
<id>616aab7cc3ad82b9109c2c0a80bb82ff70116447</id>
<content type='text'>
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</pre>
</div>
</content>
</entry>
</feed>
