Skip to content

Commit

Permalink
hexagon: Use common threadinfo allocator
Browse files Browse the repository at this point in the history
The core now has a threadinfo allocator which uses a kmemcache when
THREAD_SIZE < PAGE_SIZE.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Richard Kuo <rkuo@codeaurora.org>
Link: http://lkml.kernel.org/r/20120505150141.812612113@linutronix.de
  • Loading branch information
Thomas Gleixner committed May 8, 2012
1 parent e6e9c54 commit fe84405
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 45 deletions.
8 changes: 0 additions & 8 deletions arch/hexagon/include/asm/thread_info.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,7 @@

#define THREAD_SHIFT 12
#define THREAD_SIZE (1<<THREAD_SHIFT)

#if THREAD_SHIFT >= PAGE_SHIFT
#define THREAD_SIZE_ORDER (THREAD_SHIFT - PAGE_SHIFT)
#else /* don't use standard allocator */
#define __HAVE_ARCH_THREAD_INFO_ALLOCATOR
extern struct thread_info *alloc_thread_info_node(struct task_struct *tsk, int node);
extern void free_thread_info(struct thread_info *ti);
#endif


#ifndef __ASSEMBLY__

Expand Down
37 changes: 0 additions & 37 deletions arch/hexagon/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -233,43 +233,6 @@ unsigned long get_wchan(struct task_struct *p)
return 0;
}

/*
* Borrowed from PowerPC -- basically allow smaller kernel stacks if we
* go crazy with the page sizes.
*/
#if THREAD_SHIFT < PAGE_SHIFT

static struct kmem_cache *thread_info_cache;

struct thread_info *alloc_thread_info_node(struct task_struct *tsk, int node)
{
struct thread_info *ti;

ti = kmem_cache_alloc_node(thread_info_cache, GFP_KERNEL, node);
if (unlikely(ti == NULL))
return NULL;
#ifdef CONFIG_DEBUG_STACK_USAGE
memset(ti, 0, THREAD_SIZE);
#endif
return ti;
}

void free_thread_info(struct thread_info *ti)
{
kmem_cache_free(thread_info_cache, ti);
}

/* Weak symbol; called by init/main.c */

void thread_info_cache_init(void)
{
thread_info_cache = kmem_cache_create("thread_info", THREAD_SIZE,
THREAD_SIZE, 0, NULL);
BUG_ON(thread_info_cache == NULL);
}

#endif /* THREAD_SHIFT < PAGE_SHIFT */

/*
* Required placeholder.
*/
Expand Down

0 comments on commit fe84405

Please sign in to comment.