/* If p's nodes don't overlap ours, it won't help to kill p. */ if (!cpuset_excl_nodes_overlap(p)) continue;  
static struct task_struct * select_bad_process(void){	unsigned long maxpoints = 0;	struct task_struct *g, *p;	struct task_struct *chosen = NULL;	struct timespec uptime;	do_posix_clock_monotonic_gettime(&uptime);	do_each_thread(g, p) {		unsigned long points;		int releasing;		/* skip the init task with pid == 1 */		if (p->pid == 1)			continue;		if (p->oomkilladj == OOM_DISABLE)			continue;		/*		 * This is in the process of releasing memory so for wait it		 * to finish before killing some other task by mistake.		 */		releasing = test_tsk_thread_flag(p, TIF_MEMDIE) ||						p->flags & PF_EXITING;		if (releasing && !(p->flags & PF_DEAD))			return ERR_PTR(-1UL);		if (p->flags & PF_SWAPOFF)			return p;		points = badness(p, uptime.tv_sec);		if (points > maxpoints || !chosen) {			chosen = p;			maxpoints = points;		}	} while_each_thread(g, p);	return chosen;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/ef08e3b4981aebf2ba9bd7025ef7210e8eec07ce/oom_kill.c/buggy/mm/oom_kill.c