<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/arch/arm/kernel/entry-common.S, branch v3.0.2</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>ARM: 6952/1: fix lockdep warning of "unannotated irqs-off"</title>
<updated>2011-06-06T09:56:22+00:00</updated>
<author>
<name>Ming Lei</name>
<email>tom.leiming@gmail.com</email>
</author>
<published>2011-06-05T01:24:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9fc2552a68eb28f95f367156cf46a3da7843ff37'/>
<id>9fc2552a68eb28f95f367156cf46a3da7843ff37</id>
<content type='text'>
This patch fixes the lockdep warning of "unannotated irqs-off"[1].

After entering __irq_usr, arm core will disable interrupt automatically,
but __irq_usr does not annotate the irq disable, so lockdep may complain
the warning if it has chance to check this in irq handler.

This patch adds trace_hardirqs_off in __irq_usr before entering irq_handler
to handle the irq, also calls ret_to_user_from_irq to avoid calling
disable_irq again.

This is also a fix for irq off tracer.

[1], lockdep warning log of "unannotated irqs-off"

[   13.804687] ------------[ cut here ]------------
[   13.809570] WARNING: at kernel/lockdep.c:3335 check_flags+0x78/0x1d0()
[   13.816467] Modules linked in:
[   13.819732] Backtrace:
[   13.822357] [&lt;c01cb42c&gt;] (dump_backtrace+0x0/0x100) from [&lt;c06abb14&gt;] (dump_stack+0x20/0x24)
[   13.831268]  r6:c07d8c2c r5:00000d07 r4:00000000 r3:00000000
[   13.837280] [&lt;c06abaf4&gt;] (dump_stack+0x0/0x24) from [&lt;c01ffc04&gt;] (warn_slowpath_common+0x5c/0x74)
[   13.846649] [&lt;c01ffba8&gt;] (warn_slowpath_common+0x0/0x74) from [&lt;c01ffc48&gt;] (warn_slowpath_null+0x2c/0x34)
[   13.856781]  r8:00000000 r7:00000000 r6:c18b8194 r5:60000093 r4:ef182000
[   13.863708] r3:00000009
[   13.866485] [&lt;c01ffc1c&gt;] (warn_slowpath_null+0x0/0x34) from [&lt;c0237d84&gt;] (check_flags+0x78/0x1d0)
[   13.875823] [&lt;c0237d0c&gt;] (check_flags+0x0/0x1d0) from [&lt;c023afc8&gt;] (lock_acquire+0x4c/0x150)
[   13.884704] [&lt;c023af7c&gt;] (lock_acquire+0x0/0x150) from [&lt;c06af638&gt;] (_raw_spin_lock+0x4c/0x84)
[   13.893798] [&lt;c06af5ec&gt;] (_raw_spin_lock+0x0/0x84) from [&lt;c01f9a44&gt;] (sched_ttwu_pending+0x58/0x8c)
[   13.903320]  r6:ef92d040 r5:00000003 r4:c18b8180
[   13.908233] [&lt;c01f99ec&gt;] (sched_ttwu_pending+0x0/0x8c) from [&lt;c01f9a90&gt;] (scheduler_ipi+0x18/0x1c)
[   13.917663]  r6:ef183fb0 r5:00000003 r4:00000000 r3:00000001
[   13.923645] [&lt;c01f9a78&gt;] (scheduler_ipi+0x0/0x1c) from [&lt;c01bc458&gt;] (do_IPI+0x9c/0xfc)
[   13.932006] [&lt;c01bc3bc&gt;] (do_IPI+0x0/0xfc) from [&lt;c06b0888&gt;] (__irq_usr+0x48/0xe0)
[   13.939971] Exception stack(0xef183fb0 to 0xef183ff8)
[   13.945281] 3fa0:                                     ffffffc3 0001500c 00000001 0001500c
[   13.953948] 3fc0: 00000050 400b45f0 400d9000 00000000 00000001 400d9600 6474e552 bea05b3c
[   13.962585] 3fe0: 400d96c0 bea059c0 400b6574 400b65d8 20000010 ffffffff
[   13.969573]  r6:00000403 r5:fa240100 r4:ffffffff r3:20000010
[   13.975585] ---[ end trace efc4896ab0fb62cb ]---
[   13.980468] possible reason: unannotated irqs-off.
[   13.985534] irq event stamp: 1610
[   13.989044] hardirqs last  enabled at (1610): [&lt;c01c703c&gt;] no_work_pending+0x8/0x2c
[   13.997131] hardirqs last disabled at (1609): [&lt;c01c7024&gt;] ret_slow_syscall+0xc/0x1c
[   14.005371] softirqs last  enabled at (0): [&lt;c01fe5e4&gt;] copy_process+0x2cc/0xa24
[   14.013183] softirqs last disabled at (0): [&lt;  (null)&gt;]   (null)

Signed-off-by: Ming Lei &lt;ming.lei@canonical.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes the lockdep warning of "unannotated irqs-off"[1].

After entering __irq_usr, arm core will disable interrupt automatically,
but __irq_usr does not annotate the irq disable, so lockdep may complain
the warning if it has chance to check this in irq handler.

This patch adds trace_hardirqs_off in __irq_usr before entering irq_handler
to handle the irq, also calls ret_to_user_from_irq to avoid calling
disable_irq again.

This is also a fix for irq off tracer.

[1], lockdep warning log of "unannotated irqs-off"

[   13.804687] ------------[ cut here ]------------
[   13.809570] WARNING: at kernel/lockdep.c:3335 check_flags+0x78/0x1d0()
[   13.816467] Modules linked in:
[   13.819732] Backtrace:
[   13.822357] [&lt;c01cb42c&gt;] (dump_backtrace+0x0/0x100) from [&lt;c06abb14&gt;] (dump_stack+0x20/0x24)
[   13.831268]  r6:c07d8c2c r5:00000d07 r4:00000000 r3:00000000
[   13.837280] [&lt;c06abaf4&gt;] (dump_stack+0x0/0x24) from [&lt;c01ffc04&gt;] (warn_slowpath_common+0x5c/0x74)
[   13.846649] [&lt;c01ffba8&gt;] (warn_slowpath_common+0x0/0x74) from [&lt;c01ffc48&gt;] (warn_slowpath_null+0x2c/0x34)
[   13.856781]  r8:00000000 r7:00000000 r6:c18b8194 r5:60000093 r4:ef182000
[   13.863708] r3:00000009
[   13.866485] [&lt;c01ffc1c&gt;] (warn_slowpath_null+0x0/0x34) from [&lt;c0237d84&gt;] (check_flags+0x78/0x1d0)
[   13.875823] [&lt;c0237d0c&gt;] (check_flags+0x0/0x1d0) from [&lt;c023afc8&gt;] (lock_acquire+0x4c/0x150)
[   13.884704] [&lt;c023af7c&gt;] (lock_acquire+0x0/0x150) from [&lt;c06af638&gt;] (_raw_spin_lock+0x4c/0x84)
[   13.893798] [&lt;c06af5ec&gt;] (_raw_spin_lock+0x0/0x84) from [&lt;c01f9a44&gt;] (sched_ttwu_pending+0x58/0x8c)
[   13.903320]  r6:ef92d040 r5:00000003 r4:c18b8180
[   13.908233] [&lt;c01f99ec&gt;] (sched_ttwu_pending+0x0/0x8c) from [&lt;c01f9a90&gt;] (scheduler_ipi+0x18/0x1c)
[   13.917663]  r6:ef183fb0 r5:00000003 r4:00000000 r3:00000001
[   13.923645] [&lt;c01f9a78&gt;] (scheduler_ipi+0x0/0x1c) from [&lt;c01bc458&gt;] (do_IPI+0x9c/0xfc)
[   13.932006] [&lt;c01bc3bc&gt;] (do_IPI+0x0/0xfc) from [&lt;c06b0888&gt;] (__irq_usr+0x48/0xe0)
[   13.939971] Exception stack(0xef183fb0 to 0xef183ff8)
[   13.945281] 3fa0:                                     ffffffc3 0001500c 00000001 0001500c
[   13.953948] 3fc0: 00000050 400b45f0 400d9000 00000000 00000001 400d9600 6474e552 bea05b3c
[   13.962585] 3fe0: 400d96c0 bea059c0 400b6574 400b65d8 20000010 ffffffff
[   13.969573]  r6:00000403 r5:fa240100 r4:ffffffff r3:20000010
[   13.975585] ---[ end trace efc4896ab0fb62cb ]---
[   13.980468] possible reason: unannotated irqs-off.
[   13.985534] irq event stamp: 1610
[   13.989044] hardirqs last  enabled at (1610): [&lt;c01c703c&gt;] no_work_pending+0x8/0x2c
[   13.997131] hardirqs last disabled at (1609): [&lt;c01c7024&gt;] ret_slow_syscall+0xc/0x1c
[   14.005371] softirqs last  enabled at (0): [&lt;c01fe5e4&gt;] copy_process+0x2cc/0xa24
[   14.013183] softirqs last disabled at (0): [&lt;  (null)&gt;]   (null)

Signed-off-by: Ming Lei &lt;ming.lei@canonical.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'clksrc' into devel</title>
<updated>2011-01-05T18:09:03+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2011-01-05T18:09:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=58daf18cdcab550262a5f4681e1f1e073e21965a'/>
<id>58daf18cdcab550262a5f4681e1f1e073e21965a</id>
<content type='text'>
Conflicts:
	arch/arm/mach-vexpress/v2m.c
	arch/arm/plat-omap/counter_32k.c
	arch/arm/plat-versatile/Makefile
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	arch/arm/mach-vexpress/v2m.c
	arch/arm/plat-omap/counter_32k.c
	arch/arm/plat-versatile/Makefile
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: 6540/1: Stop irqsoff trace on return to user</title>
<updated>2010-12-24T09:37:59+00:00</updated>
<author>
<name>Todd Android Poynor</name>
<email>toddpoynor@google.com</email>
</author>
<published>2010-12-23T00:52:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d13e5edd7284bedcf5952e1b6490e39ad843cb91'/>
<id>d13e5edd7284bedcf5952e1b6490e39ad843cb91</id>
<content type='text'>
If the irqsoff tracer is in use, stop tracing the interrupt disable
interval when returning to userspace.  Tracing userspace execution time
as interrupts disabled time is not helpful for kernel performance
analysis purposes.  Only do so if the irqsoff tracer is enabled, to
avoid overhead for lockdep, which doesn't care.

Signed-off-by: Todd Poynor &lt;toddpoynor@google.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the irqsoff tracer is in use, stop tracing the interrupt disable
interval when returning to userspace.  Tracing userspace execution time
as interrupts disabled time is not helpful for kernel performance
analysis purposes.  Only do so if the irqsoff tracer is enabled, to
avoid overhead for lockdep, which doesn't care.

Signed-off-by: Todd Poynor &lt;toddpoynor@google.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: ftrace: graph tracer + dynamic ftrace</title>
<updated>2010-11-19T16:13:27+00:00</updated>
<author>
<name>Rabin Vincent</name>
<email>rabin@rab.in</email>
</author>
<published>2010-11-06T17:33:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dd686eb13959e49a1112fd608c124ab711050582'/>
<id>dd686eb13959e49a1112fd608c124ab711050582</id>
<content type='text'>
Support the graph tracer + dynamic ftrace combination on ARM.

Signed-off-by: Rabin Vincent &lt;rabin@rab.in&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Support the graph tracer + dynamic ftrace combination on ARM.

Signed-off-by: Rabin Vincent &lt;rabin@rab.in&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: ftrace: function graph tracer support</title>
<updated>2010-11-19T16:13:27+00:00</updated>
<author>
<name>Tim Bird</name>
<email>tim.bird@am.sony.com</email>
</author>
<published>2010-10-09T16:54:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=376cfa8730c08c0394d0aa1d4a80fd8c9971f323'/>
<id>376cfa8730c08c0394d0aa1d4a80fd8c9971f323</id>
<content type='text'>
Cc: Tim Bird &lt;tim.bird@am.sony.com&gt;
[rabin@rab.in: rebase on top of latest code,
	       keep code in ftrace.c instead of separate file,
	       check for ftrace_graph_entry also]
Signed-off-by: Rabin Vincent &lt;rabin@rab.in&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Cc: Tim Bird &lt;tim.bird@am.sony.com&gt;
[rabin@rab.in: rebase on top of latest code,
	       keep code in ftrace.c instead of separate file,
	       check for ftrace_graph_entry also]
Signed-off-by: Rabin Vincent &lt;rabin@rab.in&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: ftrace: use gas macros to avoid code duplication</title>
<updated>2010-11-19T16:13:26+00:00</updated>
<author>
<name>Rabin Vincent</name>
<email>rabin@rab.in</email>
</author>
<published>2010-10-07T12:09:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d3b9dc9dd2b994f396741f7086ffe7a48bacb165'/>
<id>d3b9dc9dd2b994f396741f7086ffe7a48bacb165</id>
<content type='text'>
Use assembler macros to avoid copy/pasting code between the
implementations of the two variants of the mcount call.

Signed-off-by: Rabin Vincent &lt;rabin@rab.in&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use assembler macros to avoid copy/pasting code between the
implementations of the two variants of the mcount call.

Signed-off-by: Rabin Vincent &lt;rabin@rab.in&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'devel-stable' into devel</title>
<updated>2010-10-19T21:06:36+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2010-10-19T21:06:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=809b4e00baf006a990a73329ba381d536c6fa277'/>
<id>809b4e00baf006a990a73329ba381d536c6fa277</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branches 'at91', 'dcache', 'ftrace', 'hwbpt', 'misc', 'mmci', 's3c', 'st-ux' and 'unwind' into devel</title>
<updated>2010-10-18T21:34:25+00:00</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2010-10-18T21:34:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=23beab76b490172a9ff3d52843e4d27a35b2a4c6'/>
<id>23beab76b490172a9ff3d52843e4d27a35b2a4c6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: SECCOMP support</title>
<updated>2010-10-02T02:32:18+00:00</updated>
<author>
<name>Nicolas Pitre</name>
<email>nicolas.pitre@linaro.org</email>
</author>
<published>2010-08-26T22:08:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=70c70d97809c3cdb8ff04f38ee3718c5385a2a4d'/>
<id>70c70d97809c3cdb8ff04f38ee3718c5385a2a4d</id>
<content type='text'>
Signed-off-by: Nicolas Pitre &lt;nicolas.pitre@linaro.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Nicolas Pitre &lt;nicolas.pitre@linaro.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge master.kernel.org:/home/rmk/linux-2.6-arm</title>
<updated>2010-09-27T19:32:36+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-09-27T19:32:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6e029fe3737b022610ededf9e70ee84fb2bdc045'/>
<id>6e029fe3737b022610ededf9e70ee84fb2bdc045</id>
<content type='text'>
* master.kernel.org:/home/rmk/linux-2.6-arm: (28 commits)
  ARM: 6411/1: vexpress: set RAM latencies to 1 cycle for PL310 on ct-ca9x4 tile
  ARM: 6409/1: davinci: map sram using MT_MEMORY_NONCACHED instead of MT_DEVICE
  ARM: 6408/1: omap: Map only available sram memory
  ARM: 6407/1: mmu: Setup MT_MEMORY and MT_MEMORY_NONCACHED L1 entries
  ARM: pxa: remove pr_&lt;level&gt; uses of KERN_&lt;level&gt;
  ARM: pxa168fb: clear enable bit when not active
  ARM: pxa: fix cpu_is_pxa*() not expanding to zero when not configured
  ARM: pxa168: fix corrected reset vector
  ARM: pxa: Use PIO for PI2C communication on Palm27x
  ARM: pxa: Fix Vpac270 gpio_power for MMC
  ARM: 6401/1: plug a race in the alignment trap handler
  ARM: 6406/1: at91sam9g45: fix i2c bus speed
  leds: leds-ns2: fix locking
  ARM: dove: fix __io() definition to use bus based offset
  dmaengine: fix interrupt clearing for mv_xor
  ARM: kirkwood: Unbreak PCIe I/O port
  ARM: Fix build error when using KCONFIG_CONFIG
  ARM: 6383/1: Implement phys_mem_access_prot() to avoid attributes aliasing
  ARM: 6400/1: at91: fix arch_gettimeoffset fallout
  ARM: 6398/1: add proc info for ARM11MPCore/Cortex-A9 from ARM
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* master.kernel.org:/home/rmk/linux-2.6-arm: (28 commits)
  ARM: 6411/1: vexpress: set RAM latencies to 1 cycle for PL310 on ct-ca9x4 tile
  ARM: 6409/1: davinci: map sram using MT_MEMORY_NONCACHED instead of MT_DEVICE
  ARM: 6408/1: omap: Map only available sram memory
  ARM: 6407/1: mmu: Setup MT_MEMORY and MT_MEMORY_NONCACHED L1 entries
  ARM: pxa: remove pr_&lt;level&gt; uses of KERN_&lt;level&gt;
  ARM: pxa168fb: clear enable bit when not active
  ARM: pxa: fix cpu_is_pxa*() not expanding to zero when not configured
  ARM: pxa168: fix corrected reset vector
  ARM: pxa: Use PIO for PI2C communication on Palm27x
  ARM: pxa: Fix Vpac270 gpio_power for MMC
  ARM: 6401/1: plug a race in the alignment trap handler
  ARM: 6406/1: at91sam9g45: fix i2c bus speed
  leds: leds-ns2: fix locking
  ARM: dove: fix __io() definition to use bus based offset
  dmaengine: fix interrupt clearing for mv_xor
  ARM: kirkwood: Unbreak PCIe I/O port
  ARM: Fix build error when using KCONFIG_CONFIG
  ARM: 6383/1: Implement phys_mem_access_prot() to avoid attributes aliasing
  ARM: 6400/1: at91: fix arch_gettimeoffset fallout
  ARM: 6398/1: add proc info for ARM11MPCore/Cortex-A9 from ARM
  ...
</pre>
</div>
</content>
</entry>
</feed>
