mn10300: Use common threadinfo allocator
Let the core code allocate and handle the kgdb cleanup with the arch_release_thread_info() function. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: David Howells <dhowells@redhat.com> Link: http://lkml.kernel.org/r/20120505150141.996582377@linutronix.de
This commit is contained in:
parent
96c9511797
commit
c03a6a7ba6
|
@ -20,8 +20,10 @@
|
|||
|
||||
#ifdef CONFIG_4KSTACKS
|
||||
#define THREAD_SIZE (4096)
|
||||
#define THREAD_SIZE_ORDER (0)
|
||||
#else
|
||||
#define THREAD_SIZE (8192)
|
||||
#define THREAD_SIZE_ORDER (1)
|
||||
#endif
|
||||
|
||||
#define STACK_WARN (THREAD_SIZE / 8)
|
||||
|
@ -120,21 +122,8 @@ static inline unsigned long current_stack_pointer(void)
|
|||
return sp;
|
||||
}
|
||||
|
||||
#define __HAVE_ARCH_THREAD_INFO_ALLOCATOR
|
||||
|
||||
/* thread information allocation */
|
||||
#ifdef CONFIG_DEBUG_STACK_USAGE
|
||||
#define alloc_thread_info_node(tsk, node) \
|
||||
kzalloc_node(THREAD_SIZE, GFP_KERNEL, node)
|
||||
#else
|
||||
#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 *);
|
||||
void arch_release_thread_info(struct thread_info *ti)
|
||||
#endif
|
||||
#define get_thread_info(ti) get_task_struct((ti)->task)
|
||||
#define put_thread_info(ti) put_task_struct((ti)->task)
|
||||
|
|
|
@ -397,7 +397,7 @@ static bool kgdb_arch_undo_singlestep(struct pt_regs *regs)
|
|||
* single-step state is cleared. At this point the breakpoints should have
|
||||
* been removed by __switch_to().
|
||||
*/
|
||||
void free_thread_info(struct thread_info *ti)
|
||||
void arch_release_thread_info(struct thread_info *ti)
|
||||
{
|
||||
if (kgdb_sstep_thread == ti) {
|
||||
kgdb_sstep_thread = NULL;
|
||||
|
@ -407,7 +407,6 @@ void free_thread_info(struct thread_info *ti)
|
|||
* so force immediate reentry */
|
||||
kgdb_breakpoint();
|
||||
}
|
||||
kfree(ti);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue