[RFC] is CONFIG_DEBUG_STACK_USAGE supported on STACK_GROWSUP arches ?

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Eric Dumazet
Date: Wednesday, March 5, 2008 - 6:09 am

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



--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC] is CONFIG_DEBUG_STACK_USAGE supported on STACK_GROWS ..., Eric Dumazet, (Wed Mar 5, 6:09 am)