<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/arch/cris/Kconfig, branch linux-4.7.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.7.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.7.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2016-05-21T00:58:30+00:00</updated>
<entry>
<title>printk/nmi: generic solution for safe printk in NMI</title>
<updated>2016-05-21T00:58:30+00:00</updated>
<author>
<name>Petr Mladek</name>
<email>pmladek@suse.com</email>
</author>
<published>2016-05-21T00:00:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=42a0bb3f71383b457a7db362f1c69e7afb96732b'/>
<id>urn:sha1:42a0bb3f71383b457a7db362f1c69e7afb96732b</id>
<content type='text'>
printk() takes some locks and could not be used a safe way in NMI
context.

The chance of a deadlock is real especially when printing stacks from
all CPUs.  This particular problem has been addressed on x86 by the
commit a9edc8809328 ("x86/nmi: Perform a safe NMI stack trace on all
CPUs").

The patchset brings two big advantages.  First, it makes the NMI
backtraces safe on all architectures for free.  Second, it makes all NMI
messages almost safe on all architectures (the temporary buffer is
limited.  We still should keep the number of messages in NMI context at
minimum).

Note that there already are several messages printed in NMI context:
WARN_ON(in_nmi()), BUG_ON(in_nmi()), anything being printed out from MCE
handlers.  These are not easy to avoid.

This patch reuses most of the code and makes it generic.  It is useful
for all messages and architectures that support NMI.

The alternative printk_func is set when entering and is reseted when
leaving NMI context.  It queues IRQ work to copy the messages into the
main ring buffer in a safe context.

__printk_nmi_flush() copies all available messages and reset the buffer.
Then we could use a simple cmpxchg operations to get synchronized with
writers.  There is also used a spinlock to get synchronized with other
flushers.

We do not longer use seq_buf because it depends on external lock.  It
would be hard to make all supported operations safe for a lockless use.
It would be confusing and error prone to make only some operations safe.

The code is put into separate printk/nmi.c as suggested by Steven
Rostedt.  It needs a per-CPU buffer and is compiled only on
architectures that call nmi_enter().  This is achieved by the new
HAVE_NMI Kconfig flag.

The are MN10300 and Xtensa architectures.  We need to clean up NMI
handling there first.  Let's do it separately.

The patch is heavily based on the draft from Peter Zijlstra, see

  https://lkml.org/lkml/2015/6/10/327

[arnd@arndb.de: printk-nmi: use %zu format string for size_t]
[akpm@linux-foundation.org: min_t-&gt;min - all types are size_t here]
Signed-off-by: Petr Mladek &lt;pmladek@suse.com&gt;
Suggested-by: Peter Zijlstra &lt;peterz@infradead.org&gt;
Suggested-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Cc: Jan Kara &lt;jack@suse.cz&gt;
Acked-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;	[arm part]
Cc: Daniel Thompson &lt;daniel.thompson@linaro.org&gt;
Cc: Jiri Kosina &lt;jkosina@suse.com&gt;
Cc: Ingo Molnar &lt;mingo@redhat.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Cc: David Miller &lt;davem@davemloft.net&gt;
Cc: Daniel Thompson &lt;daniel.thompson@linaro.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>exit_thread: remove empty bodies</title>
<updated>2016-05-21T00:58:30+00:00</updated>
<author>
<name>Jiri Slaby</name>
<email>jslaby@suse.cz</email>
</author>
<published>2016-05-21T00:00:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5f56a5dfdb9bcb3bca03df59980d4d2f012cbb53'/>
<id>urn:sha1:5f56a5dfdb9bcb3bca03df59980d4d2f012cbb53</id>
<content type='text'>
Define HAVE_EXIT_THREAD for archs which want to do something in
exit_thread. For others, let's define exit_thread as an empty inline.

This is a cleanup before we change the prototype of exit_thread to
accept a task parameter.

[akpm@linux-foundation.org: fix mips]
Signed-off-by: Jiri Slaby &lt;jslaby@suse.cz&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
Cc: "James E.J. Bottomley" &lt;jejb@parisc-linux.org&gt;
Cc: Aurelien Jacquiot &lt;a-jacquiot@ti.com&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Cc: Chen Liqin &lt;liqin.linux@gmail.com&gt;
Cc: Chris Metcalf &lt;cmetcalf@mellanox.com&gt;
Cc: Chris Zankel &lt;chris@zankel.net&gt;
Cc: David Howells &lt;dhowells@redhat.com&gt;
Cc: Fenghua Yu &lt;fenghua.yu@intel.com&gt;
Cc: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;
Cc: Guan Xuetao &lt;gxt@mprc.pku.edu.cn&gt;
Cc: Haavard Skinnemoen &lt;hskinnemoen@gmail.com&gt;
Cc: Hans-Christian Egtvedt &lt;egtvedt@samfundet.no&gt;
Cc: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Cc: Helge Deller &lt;deller@gmx.de&gt;
Cc: Ingo Molnar &lt;mingo@redhat.com&gt;
Cc: Ivan Kokshaysky &lt;ink@jurassic.park.msu.ru&gt;
Cc: James Hogan &lt;james.hogan@imgtec.com&gt;
Cc: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Jesper Nilsson &lt;jesper.nilsson@axis.com&gt;
Cc: Jiri Slaby &lt;jslaby@suse.cz&gt;
Cc: Jonas Bonn &lt;jonas@southpole.se&gt;
Cc: Koichi Yasutake &lt;yasutake.koichi@jp.panasonic.com&gt;
Cc: Lennox Wu &lt;lennox.wu@gmail.com&gt;
Cc: Ley Foon Tan &lt;lftan@altera.com&gt;
Cc: Mark Salter &lt;msalter@redhat.com&gt;
Cc: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Cc: Matt Turner &lt;mattst88@gmail.com&gt;
Cc: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Cc: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Mikael Starvik &lt;starvik@axis.com&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Cc: Rich Felker &lt;dalias@libc.org&gt;
Cc: Richard Henderson &lt;rth@twiddle.net&gt;
Cc: Richard Kuo &lt;rkuo@codeaurora.org&gt;
Cc: Richard Weinberger &lt;richard@nod.at&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
Cc: Steven Miao &lt;realmz6@gmail.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Tony Luck &lt;tony.luck@intel.com&gt;
Cc: Vineet Gupta &lt;vgupta@synopsys.com&gt;
Cc: Will Deacon &lt;will.deacon@arm.com&gt;
Cc: Yoshinori Sato &lt;ysato@users.sourceforge.jp&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>cris: do away with ARCH_REQUIRE_GPIOLIB</title>
<updated>2016-04-26T12:04:10+00:00</updated>
<author>
<name>Linus Walleij</name>
<email>linus.walleij@linaro.org</email>
</author>
<published>2016-04-19T09:13:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f518abf00d503dc2cc330d189229fed926c424d8'/>
<id>urn:sha1:f518abf00d503dc2cc330d189229fed926c424d8</id>
<content type='text'>
Replace "select ARCH_REQUIRE_GPIOLIB" with "select GPIOLIB"
as this can now be selected directly.

Cc: Michael Büsch &lt;m@bues.ch&gt;
Cc: Mikael Starvik &lt;starvik@axis.com&gt;
Cc: linux-cris-kernel@axis.com
Acked-by: Jesper Nilsson &lt;jesper.nilsson@axis.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
<entry>
<title>cris: time: Cleanup of persistent clock stuff</title>
<updated>2015-11-02T19:03:05+00:00</updated>
<author>
<name>Xunlei Pang</name>
<email>pang.xunlei@linaro.org</email>
</author>
<published>2015-07-17T09:31:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9f4137fa2cf20bd1ffb1fcb2711c3c347cc86fea'/>
<id>urn:sha1:9f4137fa2cf20bd1ffb1fcb2711c3c347cc86fea</id>
<content type='text'>
- Remove update_persistent_clock(), as it does nothing now.
- Remove read_persistent_clock(), let it fall back to the weak version.

Cc: Mikael Starvik &lt;starvik@axis.com&gt;
Cc: John Stultz &lt;john.stultz@linaro.org&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Xunlei Pang &lt;pang.xunlei@linaro.org&gt;
Acked-by: Rabin Vincent &lt;rabin@rab.in&gt;
Signed-off-by: Jesper Nilsson &lt;jespern@axis.com&gt;
</content>
</entry>
<entry>
<title>CRISv32: enable LOCKDEP_SUPPORT</title>
<updated>2015-09-04T22:56:50+00:00</updated>
<author>
<name>Rabin Vincent</name>
<email>rabin@rab.in</email>
</author>
<published>2015-05-14T16:19:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=94c5c115c1f7d347d5ec7f32a090f8643dd42525'/>
<id>urn:sha1:94c5c115c1f7d347d5ec7f32a090f8643dd42525</id>
<content type='text'>
Now that we have stack tracing and irq flags tracing support,
we can also enable lockdep support

Signed-off-by: Rabin Vincent &lt;rabin@rab.in&gt;
Signed-off-by: Jesper Nilsson &lt;jesper.nilsson@axis.com&gt;
</content>
</entry>
<entry>
<title>CRIS: add STACKTRACE_SUPPORT</title>
<updated>2015-09-04T22:56:50+00:00</updated>
<author>
<name>Rabin Vincent</name>
<email>rabin@rab.in</email>
</author>
<published>2015-05-14T16:19:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=aa6f4d2b6547a9949d87c9b09a872a7015366588'/>
<id>urn:sha1:aa6f4d2b6547a9949d87c9b09a872a7015366588</id>
<content type='text'>
Add stacktrace support, which is required for lockdep and tracing.  The
stack tracing simply looks at all kernel text symbols found on the
stack, similar to the trap stack dumping code, which can also be
converted to use this.

Signed-off-by: Rabin Vincent &lt;rabin@rab.in&gt;
Signed-off-by: Jesper Nilsson &lt;jesper.nilsson@axis.com&gt;
</content>
</entry>
<entry>
<title>CRISv32: add support for irqflags tracing</title>
<updated>2015-09-04T22:56:49+00:00</updated>
<author>
<name>Rabin Vincent</name>
<email>rabin@rab.in</email>
</author>
<published>2015-02-19T20:36:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=444e0c2881bcc70db6833d9c653c6ced36813d3b'/>
<id>urn:sha1:444e0c2881bcc70db6833d9c653c6ced36813d3b</id>
<content type='text'>
Add support irqflags tracing, which is required for things like lockdep
and ftrace.

Signed-off-by: Rabin Vincent &lt;rabin@rab.in&gt;
Signed-off-by: Jesper Nilsson &lt;jesper.nilsson@axis.com&gt;
</content>
</entry>
<entry>
<title>CRISv32: allow CONFIG_DEBUG_BUGVERBOSE</title>
<updated>2015-09-04T22:33:25+00:00</updated>
<author>
<name>Rabin Vincent</name>
<email>rabin@rab.in</email>
</author>
<published>2015-05-14T12:36:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f59625a8f770741d590da09be4f0fcfc75b31e46'/>
<id>urn:sha1:f59625a8f770741d590da09be4f0fcfc75b31e46</id>
<content type='text'>
Support for verbose BUG reporting already exists, but the HAVE flag that
allows the option to be enabled is missing.

Signed-off-by: Rabin Vincent &lt;rabin@rab.in&gt;
Signed-off-by: Jesper Nilsson &lt;jespern@axis.com&gt;
</content>
</entry>
<entry>
<title>CRISv32: use GENERIC_SCHED_CLOCK</title>
<updated>2015-03-25T10:03:41+00:00</updated>
<author>
<name>Rabin Vincent</name>
<email>rabin@rab.in</email>
</author>
<published>2015-03-09T17:51:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d3dad475b2839b9964ef54211e135eb6fb9952f9'/>
<id>urn:sha1:d3dad475b2839b9964ef54211e135eb6fb9952f9</id>
<content type='text'>
Provide a fast sched clock using the free-running timer and the generic
sched_clock infrastructure.

Signed-off-by: Rabin Vincent &lt;rabin@rab.in&gt;
Signed-off-by: Jesper Nilsson &lt;jespern@axis.com&gt;
</content>
</entry>
<entry>
<title>CRISv32: use MMIO clocksource</title>
<updated>2015-03-25T10:03:40+00:00</updated>
<author>
<name>Rabin Vincent</name>
<email>rabin@rab.in</email>
</author>
<published>2015-03-09T17:48:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=edfb6d5f1a05627204d1640ba527312dc8ea745a'/>
<id>urn:sha1:edfb6d5f1a05627204d1640ba527312dc8ea745a</id>
<content type='text'>
Use a generic MMIO clocksource and get rid of some lines of code.

Signed-off-by: Rabin Vincent &lt;rabin@rab.in&gt;
Signed-off-by: Jesper Nilsson &lt;jespern@axis.com&gt;
</content>
</entry>
</feed>
