lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 27 Apr 2016 17:54:08 +0900
From:	Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>
To:	Minchan Kim <minchan@...nel.org>
Cc:	Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>,
	Andrew Morton <akpm@...ux-foundation.org>,
	linux-kernel@...r.kernel.org,
	Sergey Senozhatsky <sergey.senozhatsky@...il.com>
Subject: Re: zram: per-cpu compression streams


Hello,

more tests. I did only 8streams vs per-cpu this time. the changes
to the test are:
-- mem-hogger now per-faults pages in parallel with fio
-- mem-hogger alloc size increased from 3GB to 4GB.

the system couldn't survive 4GB/4GB zram(buffer_compress_percentage=11)/mem-hogger
split (OOM), so I executed the 3GB/4GB test (close to system's OOM edge).

-- 4 GB x86_64
-- 3 GB zram lzo

firts, the mm_stat.    <num_writes / num_recompressions>

8 streams (base kernel):

3221225472 3221225472 3221225472        0 3221229568        0        0 < 2752460/       0>
3221225472 3221225472 3221225472        0 3221233664        0        0 < 5504124/       0>
3221225472 2912157607 2952802304        0 2952826880        0       81 < 8253369/       0>
3221225472 2893479936 2899120128        0 2899136512        0      147 <11003056/       0>
3221217280 2886040814 2899103744        0 2899128320        0       26 <13748450/       0>
3221225472 2880045056 2885693440        0 2885718016        0      180 <16503120/       0>
3221213184 2877431364 2883756032        0 2883809280        0      132 <19259891/       0>
3221225472 2873229312 2876096512        0 2876133376        0       16 <22016512/       0>
3221213184 2870728008 2871693312        0 2871726080        0       24 <24768909/       0>
2899095552 2899095552 2899095552        0 2899132416    78643        0 <27523600/       0>

per-cpu:

3221225472 3221225472 3221225472        0 3221229568        0        0 < 2752460/    8180>
3221225472 3221225472 3221225472        0 3221233664        0        0 < 5504124/   10523>
3221225472 2912157607 2952802304        0 2952814592        0      117 < 8253369/    9451>
3221225472 2893479936 2899120128        0 2899136512        0      129 <11003056/    9395>
3221217280 2886040814 2899103744        0 2899128320        0       51 <13748450/   10879>
3221225472 2880045056 2885693440        0 2885718016        0      126 <16503120/   10300>
3221213184 2877431364 2883772416        0 2883801088        0      252 <19259891/   10509>
3221225472 2873229312 2876100608        0 2876133376        0       14 <22016512/   11081>
3221213184 2870728008 2871693312        0 2871730176        0       54 <24768909/   10770>
2899095552 2899095552 2899095552        0 2899136512    78643        0 <27523600/   10231>


mem-hogger pre-fault times

8 streams (base kernel):

[431] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7f3f5d38a010 <+   6.031550428>
[470] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7fa29d414010 <+   5.242295692>
[514] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7f4a7eac8010 <+   5.485469454>
[563] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7f07da76b010 <+   5.563647658>
[619] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7ff5efc26010 <+   5.516866208>
[681] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7f8fb896d010 <+   5.535275748>
[751] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7fb2ac6fa010 <+   4.594626366>
[825] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7f355f9a0010 <+   5.075849029>
[905] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7feb16715010 <+   4.696363680>
[991] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7f3a1b9f4010 <+   5.292365453>


per-cpu:

[413] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7fe8058f5010 <+   5.513944292>
[451] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7f65fe753010 <+   4.742384977>
[494] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7fb99a05c010 <+   5.394711696>
[542] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7f0d61c81010 <+   5.021011664>
[598] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7f9abdeb6010 <+   5.094722019>
[660] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7fb192ae9010 <+   4.943961060>
[728] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7f7313aeb010 <+   5.437872456>
[802] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7f25ffdeb010 <+   5.422829590>
[881] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7f60daa8e010 <+   4.806425351>
[970] single-alloc:  INFO: Allocated 0x100000000 bytes at address 0x7f384cf04010 <+   4.982513395>


so, pre-fault time range is somewhat big. for example, from 4.696363680 to 6.031550428 seconds.



fio
                8 streams        per-cpu
===========================================
#jobs1                         	                
READ:           2507.8MB/s	 2526.4MB/s
READ:           2043.1MB/s	 1970.6MB/s
WRITE:          127100KB/s	 139160KB/s
WRITE:          724488KB/s	 733440KB/s
READ:           534624KB/s	 540967KB/s
WRITE:          534569KB/s	 540912KB/s
READ:           471165KB/s	 477459KB/s
WRITE:          471233KB/s	 477527KB/s
#jobs2                         	                
READ:           8041.1MB/s	 7866.9MB/s
READ:           6751.7MB/s	 6692.9MB/s
WRITE:          268372KB/s	 268269KB/s
WRITE:          1197.5MB/s	 1331.3MB/s
READ:           997.75MB/s	 1057.6MB/s
WRITE:          997.91MB/s	 1057.7MB/s
READ:           934518KB/s	 992852KB/s
WRITE:          932382KB/s	 990582KB/s
#jobs3                         	                
READ:           13318MB/s	 13454MB/s
READ:           11463MB/s	 11491MB/s
WRITE:          449903KB/s	 448791KB/s
WRITE:          1582.8MB/s	 1782.3MB/s
READ:           1337.5MB/s	 1449.1MB/s
WRITE:          1335.6MB/s	 1447.2MB/s
READ:           1241.3MB/s	 1345.7MB/s
WRITE:          1239.6MB/s	 1343.6MB/s
#jobs4                         	                
READ:           19948MB/s	 20013MB/s
READ:           17732MB/s	 17479MB/s
WRITE:          630690KB/s	 495078KB/s
WRITE:          1843.2MB/s	 2226.9MB/s
READ:           1603.4MB/s	 1846.8MB/s
WRITE:          1599.4MB/s	 1842.2MB/s
READ:           1547.7MB/s	 1740.7MB/s
WRITE:          1549.2MB/s	 1742.4MB/s
#jobs5                         	                
READ:           18800MB/s	 4792.6MB/s
READ:           16659MB/s	 16898MB/s
WRITE:          777796KB/s	 721363KB/s
WRITE:          1771.9MB/s	 2138.7MB/s
READ:           1517.9MB/s	 1837.8MB/s
WRITE:          1512.6MB/s	 1831.5MB/s
READ:           1501.4MB/s	 1784.1MB/s
WRITE:          1500.5MB/s	 1783.9MB/s
#jobs6                         	                
READ:           20827MB/s	 20571MB/s
READ:           19382MB/s	 19505MB/s
WRITE:          850618KB/s	 776148KB/s
WRITE:          1886.2MB/s	 2127.7MB/s
READ:           1685.3MB/s	 1864.8MB/s
WRITE:          1682.4MB/s	 1860.8MB/s
READ:           1598.3MB/s	 1727.9MB/s
WRITE:          1593.5MB/s	 1722.6MB/s
#jobs7                         	                
READ:           21547MB/s	 21000MB/s
READ:           18814MB/s	 18715MB/s
WRITE:          1008.5MB/s	 991.56MB/s
WRITE:          1922.5MB/s	 2232.9MB/s
READ:           1640.3MB/s	 1795.2MB/s
WRITE:          1641.3MB/s	 1796.4MB/s
READ:           1578.2MB/s	 1763.2MB/s
WRITE:          1569.5MB/s	 1753.5MB/s
#jobs8                         	                
READ:           20277MB/s	 20916MB/s
READ:           17952MB/s	 18340MB/s
WRITE:          1186.1MB/s	 1170.6MB/s
WRITE:          1955.8MB/s	 2347.6MB/s
READ:           1686.5MB/s	 1936.7MB/s
WRITE:          1688.3MB/s	 1938.8MB/s
READ:           1610.3MB/s	 1894.7MB/s
WRITE:          1606.6MB/s	 1890.4MB/s
#jobs9                         	                
READ:           20108MB/s	 19361MB/s
READ:           18012MB/s	 18177MB/s
WRITE:          1355.1MB/s	 1325.7MB/s
WRITE:          1948.5MB/s	 2305.6MB/s
READ:           1662.4MB/s	 1892.6MB/s
WRITE:          1661.9MB/s	 1891.5MB/s
READ:           1605.5MB/s	 1812.4MB/s
WRITE:          1604.2MB/s	 1810.7MB/s
#jobs10                        	                
READ:           20039MB/s	 19455MB/s
READ:           18028MB/s	 17716MB/s
WRITE:          1465.3MB/s	 1486.7MB/s
WRITE:          2007.2MB/s	 2317.5MB/s
READ:           1755.3MB/s	 2005.9MB/s
WRITE:          1754.3MB/s	 2003.1MB/s
READ:           1691.2MB/s	 1874.8MB/s
WRITE:          1694.7MB/s	 1877.7MB/s


perf stat

                             8 streams                     per-cpu
====================================================================================
jobs1
stalled-cycles-frontend      56,052,305,338 (  55.05%)	   58,803,628,418 (  55.33%)
stalled-cycles-backend       24,355,709,967 (  23.92%)	   25,413,107,301 (  23.91%)
instructions                 96,175,143,640 (    0.94)	  100,364,109,185 (    0.94)
branches                     18,009,998,853 ( 559.201)	   18,513,273,860 ( 550.828)
branch-misses                   111,500,123 (   0.62%)	      106,011,616 (   0.57%)
jobs2
stalled-cycles-frontend     126,012,750,354 (  59.31%)	  123,465,054,991 (  57.62%)
stalled-cycles-backend       61,866,277,568 (  29.12%)	   58,959,838,855 (  27.52%)
instructions                183,736,567,135 (    0.86)	  193,832,846,843 (    0.90)
branches                     34,879,279,141 ( 506.137)	   36,700,776,757 ( 530.136)
branch-misses                   175,122,665 (   0.50%)	      165,057,491 (   0.45%)
jobs3
stalled-cycles-frontend     175,428,933,301 (  60.40%)	  160,530,802,385 (  58.59%)
stalled-cycles-backend       87,409,032,068 (  30.10%)	   76,093,143,994 (  27.77%)
instructions                231,949,985,071 (    0.80)	  229,875,149,073 (    0.84)
branches                     44,034,175,160 ( 423.325)	   43,578,595,543 ( 443.250)
branch-misses                   237,974,300 (   0.54%)	      216,380,848 (   0.50%)
jobs4
stalled-cycles-frontend     265,519,049,536 (  64.46%)	  221,049,841,649 (  61.81%)
stalled-cycles-backend      146,538,881,296 (  35.57%)	  113,774,053,039 (  31.82%)
instructions                298,241,854,695 (    0.72)	  278,000,866,874 (    0.78)
branches                     59,531,800,053 ( 400.919)	   55,096,944,109 ( 427.816)
branch-misses                   285,108,083 (   0.48%)	      260,972,185 (   0.47%)
jobs5
stalled-cycles-frontend     290,281,266,141 (  64.97%)	  260,946,337,232 (  61.99%)
stalled-cycles-backend      161,884,390,707 (  36.23%)	  137,154,776,973 (  32.58%)
instructions                326,306,594,233 (    0.73)	  334,011,271,525 (    0.79)
branches                     63,904,071,806 ( 398.348)	   65,664,365,815 ( 434.393)
branch-misses                   293,793,049 (   0.46%)	      279,794,621 (   0.43%)
jobs6
stalled-cycles-frontend     344,523,942,841 (  65.53%)	  287,955,119,151 (  61.88%)
stalled-cycles-backend      193,660,445,380 (  36.84%)	  150,866,799,639 (  32.42%)
instructions                381,794,200,792 (    0.73)	  375,547,185,965 (    0.81)
branches                     74,623,783,129 ( 394.258)	   73,649,248,349 ( 441.644)
branch-misses                   358,005,680 (   0.48%)	      306,143,187 (   0.42%)
jobs7
stalled-cycles-frontend     369,290,213,422 (  64.74%)	  319,117,228,349 (  61.21%)
stalled-cycles-backend      206,236,039,426 (  36.16%)	  168,934,948,019 (  32.40%)
instructions                427,549,938,405 (    0.75)	  429,752,151,831 (    0.82)
branches                     82,174,130,236 ( 400.051)	   83,110,458,913 ( 442.306)
branch-misses                   354,517,174 (   0.43%)	      332,430,584 (   0.40%)
jobs8
stalled-cycles-frontend     409,541,894,683 (  66.76%)	  349,581,824,315 (  62.51%)
stalled-cycles-backend      229,256,571,129 (  37.37%)	  181,622,273,772 (  32.47%)
instructions                437,816,833,182 (    0.71)	  450,389,502,564 (    0.81)
branches                     84,525,812,473 ( 382.128)	   87,501,121,276 ( 434.210)
branch-misses                   372,309,759 (   0.44%)	      349,523,647 (   0.40%)
jobs9
stalled-cycles-frontend     442,628,204,560 (  65.90%)	  380,475,695,919 (  61.52%)
stalled-cycles-backend      251,927,332,399 (  37.51%)	  199,303,426,179 (  32.22%)
instructions                491,437,868,336 (    0.73)	  511,514,729,028 (    0.83)
branches                     93,730,386,271 ( 386.978)	   98,645,937,110 ( 442.304)
branch-misses                   401,101,757 (   0.43%)	      368,882,924 (   0.37%)
jobs10
stalled-cycles-frontend     478,576,939,331 (  67.41%)	  408,498,109,428 (  63.43%)
stalled-cycles-backend      274,043,625,756 (  38.60%)	  219,162,314,972 (  34.03%)
instructions                495,607,125,031 (    0.70)	  505,149,872,644 (    0.78)
branches                     95,885,616,294 ( 374.483)	   99,094,367,930 ( 426.624)
branch-misses                   418,267,387 (   0.44%)	      392,516,508 (   0.40%)


perf reported execution time

                       8 streams        per-cpu
====================================================
seconds elapsed        51.128322985	47.600230868
seconds elapsed        49.309895468	48.291538090
seconds elapsed        47.075673742	46.068406557
seconds elapsed        47.816933840	52.966896478
seconds elapsed        54.345548549	50.918853799
seconds elapsed        58.613938093	58.130571913
seconds elapsed        62.799745992	60.086779664
seconds elapsed        65.664854260	61.414515686
seconds elapsed        71.340920175	67.717224950
seconds elapsed        74.169664807	69.485210016


	-ss

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ