2002-10-16 22:26:16

by Michael Hohnbaum

[permalink] [raw]
Subject: [PATCH] NUMA Scheduler - rev 4

Linus, Ingo,

Attached is a small patch which provides NUMA awareness to the
O(1) scheduler. This patch retains the identical O(1) scheduler
behavior for SMP systems. For multi-node systems it favors
runqueues on the current node when looking for another runqueue
to pull tasks from. It also makes a balance decision at exec().
This patch is against 2.5.43.

On NUMA systems these two changes have shown performance gains
in the 5 - 10% range depending on tests. Some micro-benchmarks
provided by Erich Focht which stress the memory subsystem show
a doubling in performance.

Please consider applying this patch.
--

Michael Hohnbaum 503-578-5486
[email protected] T/L 775-5486


Attachments:
sched43rev4.patch (7.07 kB)

2002-10-17 01:09:50

by Andrew Theurer

[permalink] [raw]
Subject: Re: [PATCH] NUMA Scheduler - rev 4

> Linus, Ingo,
>
> Attached is a small patch which provides NUMA awareness to the
> O(1) scheduler. This patch retains the identical O(1) scheduler
> behavior for SMP systems. For multi-node systems it favors
> runqueues on the current node when looking for another runqueue
> to pull tasks from. It also makes a balance decision at exec().
> This patch is against 2.5.43.
>
> On NUMA systems these two changes have shown performance gains
> in the 5 - 10% range depending on tests. Some micro-benchmarks
> provided by Erich Focht which stress the memory subsystem show
> a doubling in performance.
>
> Please consider applying this patch.

FYI, to make sure there was no degrade for non numa systems, I just benched
a kernel compile on an IBM 8500R, with/without your patch. Compile times
were 38.880 (vanilla) and 38.818 (numa sched).

Andrew Theurer