<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/kernel/dumpstack_64.c, branch linux-2.6.30.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-01-18T15:38:58Z</updated>
<entry>
<title>x86-64: Move current task from PDA to per-cpu and consolidate with 32-bit.</title>
<updated>2009-01-18T15:38:58Z</updated>
<author>
<name>Brian Gerst</name>
</author>
<published>2009-01-18T15:38:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c6f5e0acd5d12ee23f701f15889872e67b47caa6'/>
<id>urn:sha1:c6f5e0acd5d12ee23f701f15889872e67b47caa6</id>
<content type='text'>
Signed-off-by: Brian Gerst &lt;brgerst@gmail.com&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
</content>
</entry>
<entry>
<title>x86-64: Convert irqstacks to per-cpu</title>
<updated>2009-01-18T15:38:58Z</updated>
<author>
<name>Brian Gerst</name>
</author>
<published>2009-01-18T15:38:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=26f80bd6a9ab17bc8a60b6092e7c0d05c5927ce5'/>
<id>urn:sha1:26f80bd6a9ab17bc8a60b6092e7c0d05c5927ce5</id>
<content type='text'>
Move the irqstackptr variable from the PDA to per-cpu.  Make the
stacks themselves per-cpu, removing some specific allocation code.
Add a seperate flag (is_boot_cpu) to simplify the per-cpu boot
adjustments.

tj: * sprinkle some underbars around.

    * irq_stack_ptr is not used till traps_init(), no reason to
      initialize it early.  On SMP, just leaving it NULL till proper
      initialization in setup_per_cpu_areas() works.  Dropped
      is_boot_cpu and early irq_stack_ptr initialization.

    * do DECLARE/DEFINE_PER_CPU(char[IRQ_STACK_SIZE], irq_stack)
      instead of (char, irq_stack[IRQ_STACK_SIZE]).

Signed-off-by: Brian Gerst &lt;brgerst@gmail.com&gt;
Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
</content>
</entry>
<entry>
<title>ftrace: print real return in dumpstack for function graph</title>
<updated>2008-12-03T07:56:25Z</updated>
<author>
<name>Steven Rostedt</name>
</author>
<published>2008-12-03T04:50:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7ee991fbc6f947e9b04f29c9c6c1d057d0671a16'/>
<id>urn:sha1:7ee991fbc6f947e9b04f29c9c6c1d057d0671a16</id>
<content type='text'>
Impact: better dumpstack output

I noticed in my crash dumps and even in the stack tracer that a
lot of functions listed in the stack trace are simply
return_to_handler which is ftrace graphs way to insert its own
call into the return of a function.

But we lose out where the actually function was called from.

This patch adds in hooks to the dumpstack mechanism that detects
this and finds the real function to print. Both are printed to
let the user know that a hook is still in place.

This does give a funny side effect in the stack tracer output:

        Depth   Size      Location    (80 entries)
        -----   ----      --------
  0)     4144      48   save_stack_trace+0x2f/0x4d
  1)     4096     128   ftrace_call+0x5/0x2b
  2)     3968      16   mempool_alloc_slab+0x16/0x18
  3)     3952     384   return_to_handler+0x0/0x73
  4)     3568    -240   stack_trace_call+0x11d/0x209
  5)     3808     144   return_to_handler+0x0/0x73
  6)     3664    -128   mempool_alloc+0x4d/0xfe
  7)     3792     128   return_to_handler+0x0/0x73
  8)     3664     -32   scsi_sg_alloc+0x48/0x4a [scsi_mod]

As you can see, the real functions are now negative. This is due
to them not being found inside the stack.

Signed-off-by: Steven Rostedt &lt;srostedt@redhat.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86: unify appropriate bits from dumpstack_32 and dumpstack_64</title>
<updated>2008-10-27T18:21:19Z</updated>
<author>
<name>Neil Horman</name>
</author>
<published>2008-10-23T14:40:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=878719e831d9e076961aa15d4049a57a6668c67a'/>
<id>urn:sha1:878719e831d9e076961aa15d4049a57a6668c67a</id>
<content type='text'>
Impact: cleanup

As promised, now that dumpstack_32 and dumpstack_64 have so many bits
in common, we should merge the in-sync bits into a common file, to
prevent them from diverging again.

This patch removes bits which are common between dumpstack_32.c and
dumpstack_64.c and places them in a common dumpstack.c which is built
for both 32 and 64 bit arches.

Signed-off-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Acked-by: Alexander van Heukelum &lt;heukelum@fastmail.fm&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;

 Makefile       |    2
 arch/x86/kernel/Makefile       |    2
 arch/x86/kernel/Makefile       |    2
 arch/x86/kernel/Makefile       |    2
 arch/x86/kernel/Makefile       |    2
 arch/x86/kernel/Makefile       |    2
 arch/x86/kernel/dumpstack.c    |  319 +++++++++++++++++++++++++++++++++++++++++
 arch/x86/kernel/dumpstack.h    |   39 +++++
 arch/x86/kernel/dumpstack_32.c |  294 -------------------------------------
 arch/x86/kernel/dumpstack_64.c |  285 ------------------------------------
 5 files changed, 363 insertions(+), 576 deletions(-)
</content>
</entry>
<entry>
<title>i386, dumpstack: unify die()</title>
<updated>2008-10-22T12:00:26Z</updated>
<author>
<name>Alexander van Heukelum</name>
</author>
<published>2008-10-22T10:00:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=871d3779cba18b028e34d0d2f6cc6caae76a97b6'/>
<id>urn:sha1:871d3779cba18b028e34d0d2f6cc6caae76a97b6</id>
<content type='text'>
Make i386's die() equal to x86_64's version.

Whitespace-only changes on x86_64, to make it equal to i386's
version. (user_mode and user_mode_vm are equal on x86_64.)

Signed-off-by: Alexander van Heukelum &lt;heukelum@fastmail.fm&gt;
Acked-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>i386, dumpstack: use oops_begin/oops_end in die_nmi</title>
<updated>2008-10-22T12:00:26Z</updated>
<author>
<name>Alexander van Heukelum</name>
</author>
<published>2008-10-22T10:00:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e06ca430c3d0fddbd1c901ab3fb3e1f0bc8a786b'/>
<id>urn:sha1:e06ca430c3d0fddbd1c901ab3fb3e1f0bc8a786b</id>
<content type='text'>
Use oops_begin and oops_end in die_nmi.

Whitespace-only changes on x86_64, to make it equal to i386's
version.

Signed-off-by: Alexander van Heukelum &lt;heukelum@fastmail.fm&gt;
Acked-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86, dumpstack: always call oops_exit from oops_end</title>
<updated>2008-10-22T12:00:24Z</updated>
<author>
<name>Alexander van Heukelum</name>
</author>
<published>2008-10-22T10:00:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=10b14cb7eb7dd5bff8023f76a55c8ac20e586128'/>
<id>urn:sha1:10b14cb7eb7dd5bff8023f76a55c8ac20e586128</id>
<content type='text'>
Always call oops_exit from oops_end, even if signr==0.

Also, move add_taint(TAINT_DIE) from __die to oops_end
on x86_64 and interchange two lines to make oops_end
more similar to the i386-version.

Signed-off-by: Alexander van Heukelum &lt;heukelum@fastmail.fm&gt;
Acked-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86_64, dumpstack: move kexec_crash from __die to oops_end</title>
<updated>2008-10-22T12:00:23Z</updated>
<author>
<name>Alexander van Heukelum</name>
</author>
<published>2008-10-22T10:00:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ed7a498f416dcfa1cca478a559238a2a3396240'/>
<id>urn:sha1:0ed7a498f416dcfa1cca478a559238a2a3396240</id>
<content type='text'>
oops_end is preceded by either a call to __die, or a conditional
call to crash_kexec. Move the conditional call to crash_kexec
from the end of __die to the start of oops_end and remove
the superfluous call to crash_kexec in die_nmi.

Signed-off-by: Alexander van Heukelum &lt;heukelum@fastmail.fm&gt;
Acked-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86, dumpstack: let signr=0 signal no do_exit</title>
<updated>2008-10-22T12:00:23Z</updated>
<author>
<name>Alexander van Heukelum</name>
</author>
<published>2008-10-22T10:00:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=874d93d11823b2b861addac6a5dc31162e924ab2'/>
<id>urn:sha1:874d93d11823b2b861addac6a5dc31162e924ab2</id>
<content type='text'>
Change oops_end such that signr=0 signals that do_exit
is not to be called.

Currently, each use of __die is soon followed by a call
to oops_end and 'regs' is set to NULL if oops_end is expected
not to call do_exit. Change all such pairs to set signr=0
instead. On x86_64 oops_end is used 'bare' in die_nmi; use
signr=0 instead of regs=NULL there, too.

Signed-off-by: Alexander van Heukelum &lt;heukelum@fastmail.fm&gt;
Acked-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>sysfs: crash debugging</title>
<updated>2008-10-16T16:24:41Z</updated>
<author>
<name>Andrew Morton</name>
</author>
<published>2007-08-24T23:11:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ae87221d3ce49d9de1e43756da834fd0bf05a2ad'/>
<id>urn:sha1:ae87221d3ce49d9de1e43756da834fd0bf05a2ad</id>
<content type='text'>
Print the name of the last-accessed sysfs file when we oops, to help track
down oopses which occur in sysfs store/read handlers.  Because these oopses
tend to not leave any trace of the offending code in the stack traces.

Cc: Kay Sievers &lt;kay.sievers@vrfy.org&gt;
Cc: Mathieu Desnoyers &lt;mathieu.desnoyers@polymtl.ca&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
</feed>
