Re: [PATCH 0/5] compaction related commits

From: Joonsoo Kim
Date: Sun Feb 09 2014 - 19:24:28 EST


On Fri, Feb 07, 2014 at 10:14:26AM +0100, Vlastimil Babka wrote:
> On 02/07/2014 06:08 AM, Joonsoo Kim wrote:
> > This patchset is related to the compaction.
> >
> > patch 1 fixes contrary implementation of the purpose of compaction.
> > patch 2~4 are for optimization.
> > patch 5 is just for clean-up.
> >
> > I tested this patchset with stress-highalloc benchmark on Mel's mmtest
> > and cannot find any regression in terms of success rate. And I find
> > much reduced system time. Below is result of 3 runs.
>
> What was the memory size? Mel told me this test shouldn't be run with more than 4GB.

Yep, I know!
My system is 4GB quad core system.

> > * Before
> > time :: stress-highalloc 3276.26 user 740.52 system 1664.79 elapsed
> > time :: stress-highalloc 3640.71 user 771.32 system 1633.83 elapsed
> > time :: stress-highalloc 3691.64 user 775.44 system 1638.05 elapsed
> >
> > avg system: 1645 s
> >
> > * After
> > time :: stress-highalloc 3225.51 user 732.40 system 1542.76 elapsed
> > time :: stress-highalloc 3524.31 user 749.63 system 1512.88 elapsed
> > time :: stress-highalloc 3610.55 user 757.20 system 1505.70 elapsed
> >
> > avg system: 1519 s
> >
> > That is 7% reduced system time.

Oops, It should be elapsed time ;)

> Why not post the whole compare-mmtests output? There are more metrics in there and extra
> eyes never hurt.
>

Reason is that I can't average the result of 10 runs easily, since I'm not
familiar to mmtest. Do you share your method to get the average of 10 runs?
Anyway, I did it manually and below is the average result of 10 runs.

compaction-base+ is based on 3.13.0 with Vlastimil's recent fixes.
compaction-fix+ has this patch series on top of compaction-base+.

Thanks.

stress-highalloc
3.13.0 3.13.0
compaction-base+ compaction-fix+
Success 1 14.10 15.00
Success 2 20.20 20.00
Success 3 68.30 73.40

3.13.0 3.13.0
compaction-base+ compaction-fix+
User 3486.02 3437.13
System 757.92 741.15
Elapsed 1638.52 1488.32

3.13.0 3.13.0
compaction-base+ compaction-fix+
Minor Faults 172591561 167116621
Major Faults 984 859
Swap Ins 743 653
Swap Outs 3657 3535
Direct pages scanned 129742 127344
Kswapd pages scanned 1852277 1817825
Kswapd pages reclaimed 1838000 1804212
Direct pages reclaimed 129719 127327
Kswapd efficiency 98% 98%
Kswapd velocity 1130.066 1221.296
Direct efficiency 99% 99%
Direct velocity 79.367 85.585
Percentage direct scans 6% 6%
Zone normal velocity 231.829 246.097
Zone dma32 velocity 972.589 1055.158
Zone dma velocity 5.015 5.626
Page writes by reclaim 6287 6534
Page writes file 2630 2999
Page writes anon 3657 3535
Page reclaim immediate 2187 2080
Sector Reads 2917808 2877336
Sector Writes 11477891 11206722
Page rescued immediate 0 0
Slabs scanned 2214118 2168524
Direct inode steals 12181 9788
Kswapd inode steals 144830 132109
Kswapd skipped wait 0 0
THP fault alloc 0 0
THP collapse alloc 0 0
THP splits 0 0
THP fault fallback 0 0
THP collapse fail 0 0
Compaction stalls 738 714
Compaction success 194 207
Compaction failures 543 507
Page migrate success 1806083 1464014
Page migrate failure 0 0
Compaction pages isolated 3873329 3162974
Compaction migrate scanned 74594862 59874420
Compaction free scanned 125888854 110868637
Compaction cost 2469 1998
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/