Skip to contentSkip to conversation

Sigh, any ideas for a "dump_stack" name?

DISCUSSION Russell King 2 participants 2 messages Oct 2, 2002

lore
Share & tools
lore
#0 lore raw

Ok,

Still not got 2.5.40 to build...

ARM has, since the year dot, used "dump_stack()" to display any threads stack, and has the following prototype:

static void dump_stack(struct task_struct *tsk, unsigned long sp)

However, somewhere in the 2.5.34 -> 2.5.40 development, "dump_stack" got used as a way to call "show_stack" with a value of zero on x86 (which is another externally visible function.)

Firstly, "dump_stack" is misnamed. It dumps stack and call trace information.

Secondly, it creates a small problem - we're running out of names to describe a function that displays _just_ stack contents without any call trace information.

So, I propose to change the ARM version to the following, unless someone else can come up with another name or a fix the poliferation of stack- displaying functions that the generic kernel seems to require.

dump_random_numbers_from_thread_stack_yes_a_very_long_name_that_wont_clash_with_anything_else()

(Note: it may be a static function, but it is useful on to make it public for occasional debugging.)

Signature · 2 lines
Russell King ([email protected])                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html
#1 lore raw
Quoted 8 lines · Russell King

Ok,

Still not got 2.5.40 to build...

ARM has, since the year dot, used "dump_stack()" to display any threads stack, and has the following prototype:

Quoted 8 lines

static void dump_stack(struct task_struct *tsk, unsigned long sp)

However, somewhere in the 2.5.34 -> 2.5.40 development, "dump_stack" got used as a way to call "show_stack" with a value of zero on x86 (which is another externally visible function.)

Firstly, "dump_stack" is misnamed. It dumps stack and call trace information.

Sorry about that chief. Daniel very sensibly suggested that the
new one should be called `backtrace();'

Quoted 7 lines

Secondly, it creates a small problem - we're running out of names to describe a function that displays _just_ stack contents without any call trace information.

So, I propose to change the ARM version to the following, unless someone else can come up with another name or a fix the poliferation of stack- displaying functions that the generic kernel seems to require.

The generic kernel should only require two of these functions:
dump_stack() (aka backtrace()) and show_task_trace() - which traces a different thread.