Commit a200d8e4 authored by Anton Blanchard's avatar Anton Blanchard Committed by Benjamin Herrenschmidt

powerpc/numa: Enable SD_WAKE_AFFINE in node definition

When chasing a performance issue on ppc64, I noticed tasks
communicating via a pipe would often end up on different nodes.

It turns out SD_WAKE_AFFINE is not set in our node defition. Commit
9fcd18c9 (sched: re-tune balancing) enabled SD_WAKE_AFFINE
in the node definition for x86 and we need a similar change for
ppc64.

I used lmbench lat_ctx and perf bench pipe to verify this fix. Each
benchmark was run 10 times and the average taken.

lmbench lat_ctx:

before:  66565 ops/sec
after:  204700 ops/sec

3.1x faster

perf bench pipe:

before: 5.6570 usecs
after:  1.3470 usecs

4.2x faster
Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 1cce058b
...@@ -73,7 +73,7 @@ static inline int pcibus_to_node(struct pci_bus *bus) ...@@ -73,7 +73,7 @@ static inline int pcibus_to_node(struct pci_bus *bus)
| 1*SD_BALANCE_EXEC \ | 1*SD_BALANCE_EXEC \
| 1*SD_BALANCE_FORK \ | 1*SD_BALANCE_FORK \
| 0*SD_BALANCE_WAKE \ | 0*SD_BALANCE_WAKE \
| 0*SD_WAKE_AFFINE \ | 1*SD_WAKE_AFFINE \
| 0*SD_PREFER_LOCAL \ | 0*SD_PREFER_LOCAL \
| 0*SD_SHARE_CPUPOWER \ | 0*SD_SHARE_CPUPOWER \
| 0*SD_POWERSAVINGS_BALANCE \ | 0*SD_POWERSAVINGS_BALANCE \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment