History log of /linux/arch/sh/include/asm/ftrace.h (Results 151 – 165 of 165)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 7a895f53 03-Nov-2008 Ingo Molnar <mingo@elte.hu>

Merge branches 'tracing/ftrace', 'tracing/markers', 'tracing/mmiotrace', 'tracing/nmisafe', 'tracing/tracepoints' and 'tracing/urgent' into tracing/core


# 7b3b6e42 31-Oct-2008 Takashi Iwai <tiwai@suse.de>

Merge commit 'v2.6.28-rc2' into topic/asoc


# a26a2a27 31-Oct-2008 Steven Rostedt <rostedt@goodmis.org>

ftrace: nmi safe code clean ups

Impact: cleanup

This patch cleans up the NMI safe code for dynamic ftrace as suggested
by Andrew Morton.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-

ftrace: nmi safe code clean ups

Impact: cleanup

This patch cleans up the NMI safe code for dynamic ftrace as suggested
by Andrew Morton.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

show more ...


# 17666f02 30-Oct-2008 Steven Rostedt <rostedt@goodmis.org>

ftrace: nmi safe code modification

Impact: fix crashes that can occur in NMI handlers, if their code is modified

Modifying code is something that needs special care. On SMP boxes,
if code that is b

ftrace: nmi safe code modification

Impact: fix crashes that can occur in NMI handlers, if their code is modified

Modifying code is something that needs special care. On SMP boxes,
if code that is being modified is also being executed on another CPU,
that CPU will have undefined results.

The dynamic ftrace uses kstop_machine to make the system act like a
uniprocessor system. But this does not address NMIs, that can still
run on other CPUs.

One approach to handle this is to make all code that are used by NMIs
not be traced. But NMIs can call notifiers that spread throughout the
kernel and this will be very hard to maintain, and the chance of missing
a function is very high.

The approach that this patch takes is to have the NMIs modify the code
if the modification is taking place. The way this works is that just
writing to code executing on another CPU is not harmful if what is
written is the same as what exists.

Two buffers are used: an IP buffer and a "code" buffer.

The steps that the patcher takes are:

1) Put in the instruction pointer into the IP buffer
and the new code into the "code" buffer.
2) Set a flag that says we are modifying code
3) Wait for any running NMIs to finish.
4) Write the code
5) clear the flag.
6) Wait for any running NMIs to finish.

If an NMI is executed, it will also write the pending code.
Multiple writes are OK, because what is being written is the same.
Then the patcher must wait for all running NMIs to finish before
going to the next line that must be patched.

This is basically the RCU approach to code modification.

Thanks to Ingo Molnar for suggesting the idea, and to Arjan van de Ven
for his guidence on what is safe and what is not.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

show more ...


# d1a76187 28-Oct-2008 Ingo Molnar <mingo@elte.hu>

Merge commit 'v2.6.28-rc2' into core/locking

Conflicts:
arch/um/include/asm/system.h


# 7a9787e1 28-Oct-2008 Ingo Molnar <mingo@elte.hu>

Merge commit 'v2.6.28-rc2' into x86/pci-ioapic-boot-irq-quirks


# e21e696e 06-Nov-2008 James Morris <jmorris@namei.org>

Merge branch 'master' into next


# 0a9b8638 27-Oct-2008 Takashi Iwai <tiwai@suse.de>

Merge branches 'topic/fix/asoc', 'topic/fix/hda', 'topic/fix/misc' and 'topic/pci-ioremap-bar' into for-linus


Revision tags: v2.6.28-rc2
# 8c82a17e 24-Oct-2008 Ingo Molnar <mingo@elte.hu>

Merge commit 'v2.6.28-rc1' into sched/urgent


Revision tags: v2.6.28-rc1
# d9214556 23-Oct-2008 Haavard Skinnemoen <haavard.skinnemoen@atmel.com>

Merge branches 'boards' and 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6


# 057316cc 23-Oct-2008 Len Brown <len.brown@intel.com>

Merge branch 'linus' into test

Conflicts:
MAINTAINERS
arch/x86/kernel/acpi/boot.c
arch/x86/kernel/acpi/sleep.c
drivers/acpi/Kconfig
drivers/pnp/Makefile
drivers/pnp/quirks.c

Signed-off-by: Le

Merge branch 'linus' into test

Conflicts:
MAINTAINERS
arch/x86/kernel/acpi/boot.c
arch/x86/kernel/acpi/sleep.c
drivers/acpi/Kconfig
drivers/pnp/Makefile
drivers/pnp/quirks.c

Signed-off-by: Len Brown <len.brown@intel.com>

show more ...


# f20e3b5f 22-Oct-2008 Russell King <rmk@dyn-67.arm.linux.org.uk>

Merge branch 'for-rmk' of git://git.android.com/kernel into devel


# a02efb90 21-Oct-2008 Benjamin Herrenschmidt <benh@kernel.crashing.org>

Merge commit 'origin' into master

Manual merge of:

arch/powerpc/Kconfig
arch/powerpc/include/asm/page.h


# ed402af3 20-Oct-2008 Linus Torvalds <torvalds@linux-foundation.org>

Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (112 commits)
sh: Move SH-4 CPU headers down one more level.
sh:

Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (112 commits)
sh: Move SH-4 CPU headers down one more level.
sh: Only build in gpio.o when CONFIG_GENERIC_GPIO is selected.
sh: Migrate common board headers to mach-common/.
sh: Move the CPU definition headers from asm/ to cpu/.
serial: sh-sci: Add support SCIF of SH7723
video: add sh_mobile_lcdc platform flags
video: remove unused sh_mobile_lcdc platform data
sh: remove consistent alloc cruft
sh: add dynamic crash base address support
sh: reduce Migo-R smc91x overruns
sh: Fix up some merge damage.
Fix debugfs_create_file's error checking method for arch/sh/mm/
Fix debugfs_create_dir's error checking method for arch/sh/kernel/
sh: ap325rxa: Add support RTC RX-8564LC in AP325RXA board
sh: Use sh7720 GPIO on magicpanelr2 board
sh: Add sh7720 pinmux code
sh: Use sh7203 GPIO on rsk7203 board
sh: Add sh7203 pinmux code
sh: Use sh7723 GPIO on AP325RXA board
sh: Add sh7723 pinmux code
...

show more ...


Revision tags: v2.6.27, v2.6.27-rc9, v2.6.27-rc8, v2.6.27-rc7
# 4b4cf759 21-Sep-2008 Paul Mundt <lethal@linux-sh.org>

sh: Add missing asm/ftrace.h.

This was missed with the ftrace support commit.. check it in now.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>


1234567