Re: [RFC] Simple NUMA scheduler patch

Christoph Hellwig (hch@infradead.org)
Wed, 2 Oct 2002 14:11:21 +0100


On Tue, Oct 01, 2002 at 04:55:35PM -0700, Michael Hohnbaum wrote:
> --- clean-2.5.40/kernel/sched.c Tue Oct 1 13:48:34 2002
> +++ linux-2.5.40/kernel/sched.c Tue Oct 1 13:27:46 2002
> @@ -30,6 +30,9 @@
> #include <linux/notifier.h>
> #include <linux/delay.h>
> #include <linux/timer.h>
> +#if CONFIG_NUMA
> +#include <asm/topology.h>
> +#endif

Please make this inlcude unconditional, okay?

> +/*
> + * find_busiest_queue - find the busiest runqueue.
> + */
> +static inline runqueue_t *find_busiest_queue(runqueue_t *this_rq, int this_cpu, int idle, int *imbalance)
> +{
> + int nr_running, load, max_load_on_node, max_load_off_node, i;
> + runqueue_t *busiest, *busiest_on_node, *busiest_off_node, *rq_src;

You're new find_busiest_queue is to 80 or 90% the same as the non-NUMA one.
At least add the #ifdefs only where needed, but as cpu_to_node() optimizes
away for the non-NUMA case I think you could just make it unconditional.

> + if (__cpu_to_node(i) == __cpu_to_node(this_cpu)) {

I think it should be cpu_to_node, not __cpu_to_node.

> +#if CONFIG_NUMA
> +/*
> + * If dest_cpu is allowed for this process, migrate the task to it.
> + * This is accomplished by forcing the cpu_allowed mask to only
> + * allow dest_cpu, which will force the cpu onto dest_cpu. Then
> + * the cpu_allowed mask is restored.
> + */
> +void sched_migrate_task(task_t *p, int dest_cpu)

Looks like this one could be static?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/