[RFC] is CONFIG_DEBUG_STACK_USAGE supported on STACK_GROWSUP arches ?
From: Eric Dumazet
Date: Wed Mar 05 2008 - 08:55:45 EST
Hi Kyle
I was wondering how following code could work on PARISC :
kernel/sched.c
#ifdef CONFIG_DEBUG_STACK_USAGE
{
unsigned long *n = end_of_stack(p);
while (!*n)
n++;
free = (unsigned long)n - (unsigned long)end_of_stack(p);
}
#endif
I am trying to define a bytes_free_in_stack() function, and was about to
code something like :
/*
* Only called in process context
*/
static inline unsigned long bytes_free_in_stack()
{
#ifdef CONFIG_STACK_GROWSUP
unsigned long free = (unsigned long)end_of_stack(current) - (unsigned
long)&free;
#else
unsigned long free = (unsigned long)&free - (unsigned
long)end_of_stack(current);
#endif
return free;
}
but I realize it wont work on PARISC (and more generally on
STACK_GROWSUP arches)
Thank you
Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/