/* thread information allocation */
  #ifdef CONFIG_DEBUG_STACK_USAGE
 -#define alloc_thread_info(tsk) kzalloc(THREAD_SIZE, GFP_KERNEL)
 +#define alloc_thread_info_node(tsk, node)                     \
 +              kzalloc_node(THREAD_SIZE, GFP_KERNEL, node)
  #else
 -#define alloc_thread_info(tsk) kmalloc(THREAD_SIZE, GFP_KERNEL)
 +#define alloc_thread_info_node(tsk, node)                     \
 +              kmalloc_node(THREAD_SIZE, GFP_KERNEL, node)
  #endif
  
+ #ifndef CONFIG_KGDB
  #define free_thread_info(ti)  kfree((ti))
+ #else
+ extern void free_thread_info(struct thread_info *);
+ #endif
  #define get_thread_info(ti)   get_task_struct((ti)->task)
  #define put_thread_info(ti)   put_task_struct((ti)->task)