Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ea6f18ed authored by Mike Travis's avatar Mike Travis Committed by Ingo Molnar
Browse files

sched: reduce stack size requirements in kernel/sched.c



Impact: cleanup

  * use node_to_cpumask_ptr in place of node_to_cpumask to reduce stack
    requirements in sched.c

Signed-off-by: default avatarMike Travis <travis@sgi.com>
Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 943f3d03
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -6110,8 +6110,9 @@ static void move_task_off_dead_cpu(int dead_cpu, struct task_struct *p)

	do {
		/* On same node? */
		mask = node_to_cpumask(cpu_to_node(dead_cpu));
		cpus_and(mask, mask, p->cpus_allowed);
		node_to_cpumask_ptr(pnodemask, cpu_to_node(dead_cpu));

		cpus_and(mask, *pnodemask, p->cpus_allowed);
		dest_cpu = any_online_cpu(mask);

		/* On any allowed CPU? */
@@ -7098,9 +7099,9 @@ static int cpu_to_allnodes_group(int cpu, const cpumask_t *cpu_map,
				 struct sched_group **sg, cpumask_t *nodemask)
{
	int group;
	node_to_cpumask_ptr(pnodemask, cpu_to_node(cpu));

	*nodemask = node_to_cpumask(cpu_to_node(cpu));
	cpus_and(*nodemask, *nodemask, *cpu_map);
	cpus_and(*nodemask, *pnodemask, *cpu_map);
	group = first_cpu(*nodemask);

	if (sg)
@@ -7150,9 +7151,9 @@ static void free_sched_groups(const cpumask_t *cpu_map, cpumask_t *nodemask)

		for (i = 0; i < nr_node_ids; i++) {
			struct sched_group *oldsg, *sg = sched_group_nodes[i];
			node_to_cpumask_ptr(pnodemask, i);

			*nodemask = node_to_cpumask(i);
			cpus_and(*nodemask, *nodemask, *cpu_map);
			cpus_and(*nodemask, *pnodemask, *cpu_map);
			if (cpus_empty(*nodemask))
				continue;