Skip to content

Tags: fio-prf/em

Tags

em-20121130

Toggle em-20121130's commit message
swap: make cluster allocator per-cpu

swap cluster allocatior is to get better request merge to improve performance.
But the cluster is shared globally, if multiple tasks are doing swap, this will
cause interleave disk access. While multiple tasks swap is quite common, for
example, each numa node has a kswapd thread doing swap.

We makes the cluster allocator per-cpu here. The interleave disk access issue
goes away. All tasks will do sequential swap.

In my test (swap to a 2-disk raid0 partition), this improves around 10%
throughput, and request size is increased significantly.

This might improve swap readahead too. Considering page reclaim always swaps
several adjancent pages, this will make swap readahead not mis-prefetch data
for sequential access pattern workload. For random access pattern workload,
there should be no overhead as we only enable the per-cpu allocator for SSD, so
no seek penality.

Signed-off-by: Shaohua Li <shli@fusionio.com>

v3.7-rc5

Toggle v3.7-rc5's commit message
Linux 3.7-rc5

v3.7-rc4

Toggle v3.7-rc4's commit message
Linux 3.7-rc4

v3.7-rc3

Toggle v3.7-rc3's commit message
Linux 3.7-rc3

v3.7-rc2

Toggle v3.7-rc2's commit message
Linux 3.7-rc2

v3.7-rc1

Toggle v3.7-rc1's commit message
Linux 3.7-rc1

v3.6

Toggle v3.6's commit message
Linux 3.6

v3.6-rc7

Toggle v3.6-rc7's commit message
Linux 3.6-rc7

v3.6-rc6

Toggle v3.6-rc6's commit message
Linux 3.6-rc6

v3.6-rc5

Toggle v3.6-rc5's commit message
Linux 3.6-rc5