#include <linux/types.h>
#include <linux/mm.h>
#include <linux/security.h>
+#include <linux/mempolicy.h>
#include <asm/param.h>
#include <asm/signal.h>
#include <linux/pagemap.h>
#include <linux/mount.h>
#include <linux/version.h>
+#include <linux/mempolicy.h>
#include <asm/bitops.h>
#include <asm/errno.h>
#include <linux/slab.h>
#include <linux/swap.h>
#include <linux/proc_fs.h>
+#include <linux/mempolicy.h>
#include <asm/a.out.h>
#include <asm/bitops.h>
#include <linux/binfmts.h>
#include <linux/mm.h>
#include <linux/security.h>
+#include <linux/mempolicy.h>
#include <asm/segment.h>
#include <asm/ptrace.h>
#include <linux/security.h>
#include <linux/syscalls.h>
#include <linux/rmap.h>
+#include <linux/mempolicy.h>
#include <asm/uaccess.h>
#include <asm/pgalloc.h>
#include <linux/mmzone.h>
#include <linux/rbtree.h>
#include <linux/fs.h>
-#include <linux/mempolicy.h>
+
+struct mempolicy;
#ifndef CONFIG_DISCONTIGMEM /* Don't use mapnrs, do it properly */
extern unsigned long max_mapnr;
#include <linux/completion.h>
#include <linux/pid.h>
#include <linux/percpu.h>
-#include <linux/mempolicy.h>
struct exec_domain;
struct audit_context; /* See audit.c */
+struct mempolicy;
struct task_struct {
volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */
unsigned long ptrace_message;
siginfo_t *last_siginfo; /* For ptrace use. */
+#ifdef CONFIG_NUMA
struct mempolicy *mempolicy;
short il_next; /* could be shared with used_math */
+#endif
};
static inline pid_t process_group(struct task_struct *tsk)
#include <linux/profile.h>
#include <linux/mount.h>
#include <linux/proc_fs.h>
+#include <linux/mempolicy.h>
#include <asm/uaccess.h>
#include <asm/unistd.h>
__exit_fs(tsk);
exit_namespace(tsk);
exit_thread();
+#ifdef CONFIG_NUMA
mpol_free(tsk->mempolicy);
+#endif
if (tsk->signal->leader)
disassociate_ctty(1);
#include <linux/completion.h>
#include <linux/namespace.h>
#include <linux/personality.h>
+#include <linux/mempolicy.h>
#include <linux/sem.h>
#include <linux/file.h>
#include <linux/binfmts.h>
p->security = NULL;
p->io_context = NULL;
p->audit_context = NULL;
+#ifdef CONFIG_NUMA
p->mempolicy = mpol_copy(p->mempolicy);
if (IS_ERR(p->mempolicy)) {
retval = PTR_ERR(p->mempolicy);
p->mempolicy = NULL;
goto bad_fork_cleanup;
}
+#endif
retval = -ENOMEM;
if ((retval = security_task_alloc(p)))
bad_fork_cleanup_security:
security_task_free(p);
bad_fork_cleanup_policy:
+#ifdef CONFIG_NUMA
mpol_free(p->mempolicy);
+#endif
bad_fork_cleanup:
if (p->pid > 0)
free_pidmap(p->pid);
#include <linux/interrupt.h>
#include <linux/init.h>
#include <linux/compat.h>
+#include <linux/mempolicy.h>
#include <asm/uaccess.h>
static kmem_cache_t *policy_cache;
#include <linux/profile.h>
#include <linux/module.h>
#include <linux/mount.h>
+#include <linux/mempolicy.h>
#include <asm/uaccess.h>
#include <asm/pgalloc.h>
#include <linux/fs.h>
#include <linux/highmem.h>
#include <linux/security.h>
+#include <linux/mempolicy.h>
#include <asm/uaccess.h>
#include <asm/pgalloc.h>
#include <linux/blkdev.h>
#include <linux/security.h>
#include <linux/swapops.h>
+#include <linux/mempolicy.h>
#include <asm/uaccess.h>
#include <asm/div64.h>
#include <asm/pgtable.h>