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:	Tue, 26 Apr 2016 20:23:05 +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 Minchan,

On (04/19/16 17:00), Minchan Kim wrote:
[..]
> I'm convinced now with your data. Super thanks!
> However, as you know, we need data how bad it is in heavy memory pressure.
> Maybe, you can test it with fio and backgound memory hogger,

it's really hard to produce stable test results when the system
is under mem pressure.

first, I modified zram to export the re-compression number
(put cpu stream and re-try handler allocation)

mm_stat for numjobs{1..10}. the number of re-compressions is in "< NUM>" format

3221225472 3221225472 3221225472        0 3221229568        0        0 <    6421>
3221225472 3221225472 3221225472        0 3221233664        0        0 <    6998>
3221225472 2912157607 2952802304        0 2952814592        0       84 <    7271>
3221225472 2893479936 2899120128        0 2899136512        0      156 <    8260>
3221217280 2886040814 2899099648        0 2899128320        0       78 <    8297>
3221225472 2880045056 2885693440        0 2885718016        0       54 <    7794>
3221213184 2877431364 2883756032        0 2883801088        0      144 <    7336>
3221225472 2873229312 2876096512        0 2876133376        0       28 <    8699>
3221213184 2870728008 2871693312        0 2871730176        0       30 <    8189>
2899095552 2899095552 2899095552        0 2899136512    78643        0 <    7485>

as we can see, the number of re-compressions can vary from 6421 to 8699.


the test:

-- 4 GB x86_64 box
-- zram 3GB, lzo
-- mem-hogger pre-faults 3GB of pages before the fio test
-- fio test has been modified to have 11% compression ratio (to increase the
                                                  chances of re-compressions)
   -- buffer_compress_percentage=11
   -- scramble_buffers=0


considering buffer_compress_percentage=11, the box was under somewhat
heavy pressure.

now, the results


fio stats

                4 streams        8 streams       per cpu
===========================================================
#jobs1                         	                	                
READ:           2411.4MB/s	 2430.4MB/s	 2440.4MB/s
READ:           2094.8MB/s	 2002.7MB/s	 2034.5MB/s
WRITE:          141571KB/s	 140334KB/s	 143542KB/s
WRITE:          712025KB/s	 706111KB/s	 745256KB/s
READ:           531014KB/s	 525250KB/s	 537547KB/s
WRITE:          530960KB/s	 525197KB/s	 537492KB/s
READ:           473577KB/s	 470320KB/s	 476880KB/s
WRITE:          473645KB/s	 470387KB/s	 476948KB/s
#jobs2                         	                	                
READ:           7897.2MB/s	 8031.4MB/s	 7968.9MB/s
READ:           6864.9MB/s	 6803.2MB/s	 6903.4MB/s
WRITE:          321386KB/s	 314227KB/s	 313101KB/s
WRITE:          1275.3MB/s	 1245.6MB/s	 1383.5MB/s
READ:           1035.5MB/s	 1021.9MB/s	 1098.4MB/s
WRITE:          1035.6MB/s	 1021.1MB/s	 1098.6MB/s
READ:           972014KB/s	 952321KB/s	 987.66MB/s
WRITE:          969792KB/s	 950144KB/s	 985.40MB/s
#jobs3                         	                	                
READ:           13260MB/s	 13260MB/s	 13222MB/s
READ:           11636MB/s	 11636MB/s	 11755MB/s
WRITE:          511500KB/s	 507730KB/s	 504959KB/s
WRITE:          1646.1MB/s	 1673.9MB/s	 1755.5MB/s
READ:           1389.5MB/s	 1387.2MB/s	 1479.6MB/s
WRITE:          1387.6MB/s	 1385.3MB/s	 1477.4MB/s
READ:           1286.8MB/s	 1289.1MB/s	 1377.3MB/s
WRITE:          1284.8MB/s	 1287.1MB/s	 1374.9MB/s
#jobs4                         	                	                
READ:           19851MB/s	 20244MB/s	 20344MB/s
READ:           17732MB/s	 17835MB/s	 18097MB/s
WRITE:          667776KB/s	 655599KB/s	 693464KB/s
WRITE:          2041.2MB/s	 2072.6MB/s	 2474.1MB/s
READ:           1770.1MB/s	 1781.7MB/s	 2035.5MB/s
WRITE:          1765.8MB/s	 1777.3MB/s	 2030.5MB/s
READ:           1641.6MB/s	 1672.4MB/s	 1892.5MB/s
WRITE:          1643.2MB/s	 1674.2MB/s	 1894.4MB/s
#jobs5                         	                	                
READ:           19468MB/s	 18484MB/s	 18439MB/s
READ:           17594MB/s	 17757MB/s	 17716MB/s
WRITE:          843266KB/s	 859627KB/s	 867928KB/s
WRITE:          1927.1MB/s	 2041.8MB/s	 2168.9MB/s
READ:           1718.6MB/s	 1771.7MB/s	 1963.5MB/s
WRITE:          1712.7MB/s	 1765.6MB/s	 1956.8MB/s
READ:           1705.3MB/s	 1663.6MB/s	 1767.3MB/s
WRITE:          1704.3MB/s	 1662.6MB/s	 1766.2MB/s
#jobs6                         	                	                
READ:           21583MB/s	 21685MB/s	 21483MB/s
READ:           19160MB/s	 18432MB/s	 18618MB/s
WRITE:          986276KB/s	 1004.2MB/s	 981.11MB/s
WRITE:          2013.6MB/s	 1922.5MB/s	 2429.1MB/s
READ:           1797.1MB/s	 1678.9MB/s	 2038.8MB/s
WRITE:          1794.8MB/s	 1675.9MB/s	 2035.2MB/s
READ:           1678.2MB/s	 1632.5MB/s	 1917.4MB/s
WRITE:          1673.9MB/s	 1627.6MB/s	 1911.6MB/s
#jobs7                         	                	                
READ:           20697MB/s	 21677MB/s	 21062MB/s
READ:           18781MB/s	 18667MB/s	 19338MB/s
WRITE:          1074.6MB/s	 1099.8MB/s	 1105.3MB/s
WRITE:          2100.7MB/s	 2010.3MB/s	 2598.7MB/s
READ:           1783.2MB/s	 1710.2MB/s	 2027.8MB/s
WRITE:          1784.3MB/s	 1712.1MB/s	 2029.6MB/s
READ:           1690.8MB/s	 1620.6MB/s	 1893.6MB/s
WRITE:          1681.4MB/s	 1611.7MB/s	 1883.7MB/s
#jobs8                         	                	                
READ:           19883MB/s	 20827MB/s	 20395MB/s
READ:           18562MB/s	 18178MB/s	 17822MB/s
WRITE:          1240.5MB/s	 1307.3MB/s	 1331.7MB/s
WRITE:          2132.1MB/s	 2143.6MB/s	 2564.9MB/s
READ:           1841.1MB/s	 1831.1MB/s	 2111.4MB/s
WRITE:          1843.1MB/s	 1833.1MB/s	 2113.4MB/s
READ:           1795.4MB/s	 1778.6MB/s	 2029.3MB/s
WRITE:          1791.4MB/s	 1774.5MB/s	 2024.5MB/s
#jobs9                         	                	                
READ:           18834MB/s	 19470MB/s	 19402MB/s
READ:           17988MB/s	 18118MB/s	 18531MB/s
WRITE:          1339.4MB/s	 1441.2MB/s	 1512.6MB/s
WRITE:          2102.4MB/s	 2111.9MB/s	 2478.8MB/s
READ:           1754.5MB/s	 1777.3MB/s	 2050.2MB/s
WRITE:          1753.9MB/s	 1776.7MB/s	 2049.5MB/s
READ:           1686.4MB/s	 1698.2MB/s	 1931.6MB/s
WRITE:          1684.1MB/s	 1696.8MB/s	 1929.1MB/s
#jobs10                        	                	                
READ:           19128MB/s	 19517MB/s	 19592MB/s
READ:           18177MB/s	 17544MB/s	 18221MB/s
WRITE:          1397.1MB/s	 1567.4MB/s	 1683.2MB/s
WRITE:          2151.9MB/s	 2205.1MB/s	 2642.6MB/s
READ:           1879.2MB/s	 1907.3MB/s	 2223.2MB/s
WRITE:          1878.5MB/s	 1906.2MB/s	 2222.8MB/s
READ:           1835.7MB/s	 1837.9MB/s	 2131.4MB/s
WRITE:          1838.6MB/s	 1840.8MB/s	 2134.8MB/s


perf stats

                             4 streams                     8 streams                       per cpu
====================================================================================================================
jobs1
stalled-cycles-frontend      52,219,601,943 (  55.87%)	   53,406,899,652 (  56.33%)	   49,944,625,376 (  56.27%)
stalled-cycles-backend       23,194,739,214 (  24.82%)	   24,397,423,796 (  25.73%)	   22,782,579,660 (  25.67%)
instructions                 86,078,512,819 (    0.92)	   86,235,354,709 (    0.91)	   80,378,845,354 (    0.91)
branches                     15,732,850,506 ( 532.108)	   15,743,473,327 ( 522.592)	   14,725,420,241 ( 523.425)
branch-misses                   104,546,578 (   0.66%)	      107,847,818 (   0.69%)	      106,343,602 (   0.72%)
jobs2
stalled-cycles-frontend     118,614,605,521 (  59.74%)	  113,520,838,279 (  59.94%)	  104,301,243,221 (  59.06%)
stalled-cycles-backend       59,490,170,824 (  29.96%)	   56,518,872,622 (  29.84%)	   50,161,702,782 (  28.40%)
instructions                169,663,993,572 (    0.85)	  160,959,388,344 (    0.85)	  153,541,182,646 (    0.87)
branches                     31,859,926,551 ( 497.945)	   30,132,524,256 ( 494.660)	   28,579,927,064 ( 503.079)
branch-misses                   164,531,311 (   0.52%)	      163,509,596 (   0.54%)	      145,472,902 (   0.51%)
jobs3
stalled-cycles-frontend     153,932,401,104 (  60.86%)	  158,470,334,291 (  60.81%)	  150,767,641,835 (  59.21%)
stalled-cycles-backend       77,023,824,597 (  30.45%)	   79,673,952,089 (  30.57%)	   72,693,245,174 (  28.55%)
instructions                197,452,119,661 (    0.78)	  204,116,060,906 (    0.78)	  207,832,729,315 (    0.82)
branches                     36,579,918,543 ( 404.660)	   37,980,582,651 ( 406.326)	   39,091,715,974 ( 428.559)
branch-misses                   214,292,753 (   0.59%)	      215,861,282 (   0.57%)	      203,320,703 (   0.52%)
jobs4
stalled-cycles-frontend     237,223,396,661 (  64.22%)	  227,572,336,186 (  64.37%)	  202,100,979,033 (  61.41%)
stalled-cycles-backend      129,935,296,918 (  35.17%)	  124,957,172,193 (  35.34%)	  103,626,575,103 (  31.49%)
instructions                270,083,196,348 (    0.73)	  257,652,752,109 (    0.73)	  259,773,237,031 (    0.79)
branches                     52,120,828,566 ( 391.426)	   49,121,254,042 ( 385.647)	   49,896,944,076 ( 420.532)
branch-misses                   260,480,947 (   0.50%)	      254,957,745 (   0.52%)	      239,402,681 (   0.48%)
jobs5
stalled-cycles-frontend     257,778,703,389 (  64.89%)	  265,688,762,182 (  65.13%)	  229,916,792,090 (  61.41%)
stalled-cycles-backend      142,090,098,727 (  35.77%)	  147,101,411,510 (  36.06%)	  117,081,586,471 (  31.27%)
instructions                291,859,438,730 (    0.73)	  298,380,653,546 (    0.73)	  302,840,047,693 (    0.81)
branches                     55,111,567,225 ( 385.905)	   56,316,470,332 ( 383.545)	   57,500,842,324 ( 428.083)
branch-misses                   270,056,201 (   0.49%)	      269,400,845 (   0.48%)	      258,495,925 (   0.45%)
jobs6
stalled-cycles-frontend     311,626,093,277 (  65.61%)	  314,291,595,576 (  65.77%)	  249,524,291,273 (  61.39%)
stalled-cycles-backend      174,358,063,361 (  36.71%)	  177,312,195,233 (  37.10%)	  126,508,172,269 (  31.13%)
instructions                345,271,436,105 (    0.73)	  346,679,577,246 (    0.73)	  333,258,054,473 (    0.82)
branches                     65,298,537,641 ( 381.664)	   65,995,652,812 ( 383.717)	   62,730,160,550 ( 428.999)
branch-misses                   313,241,654 (   0.48%)	      307,876,772 (   0.47%)	      282,570,360 (   0.45%)
jobs7
stalled-cycles-frontend     333,896,608,350 (  64.68%)	  349,165,441,969 (  64.85%)	  276,185,831,513 (  59.95%)
stalled-cycles-backend      186,083,638,772 (  36.05%)	  197,000,957,906 (  36.59%)	  138,835,486,733 (  30.14%)
instructions                388,707,023,219 (    0.75)	  404,347,465,692 (    0.75)	  394,078,203,426 (    0.86)
branches                     71,999,476,930 ( 387.008)	   76,197,698,685 ( 392.759)	   73,195,649,665 ( 440.914)
branch-misses                   328,598,294 (   0.46%)	      323,895,230 (   0.43%)	      298,205,996 (   0.41%)
jobs8
stalled-cycles-frontend     378,806,234,772 (  66.73%)	  369,453,970,323 (  66.55%)	  313,738,845,641 (  62.55%)
stalled-cycles-backend      211,732,966,238 (  37.30%)	  207,691,463,546 (  37.41%)	  161,120,924,768 (  32.12%)
instructions                406,674,721,912 (    0.72)	  401,922,649,599 (    0.72)	  405,830,823,213 (    0.81)
branches                     75,637,492,422 ( 369.371)	   74,287,789,757 ( 371.226)	   75,967,291,039 ( 420.260)
branch-misses                   355,733,892 (   0.47%)	      328,972,387 (   0.44%)	      318,203,258 (   0.42%)
jobs9
stalled-cycles-frontend     422,712,242,907 (  66.39%)	  417,293,429,710 (  66.14%)	  343,703,467,466 (  61.35%)
stalled-cycles-backend      239,356,726,574 (  37.59%)	  231,725,068,834 (  36.73%)	  172,101,321,805 (  30.72%)
instructions                465,964,470,967 (    0.73)	  468,561,486,803 (    0.74)	  474,119,504,255 (    0.85)
branches                     86,724,291,348 ( 377.755)	   86,534,438,758 ( 380.374)	   88,431,722,886 ( 437.939)
branch-misses                   385,706,052 (   0.44%)	      360,946,347 (   0.42%)	      337,858,267 (   0.38%)
jobs10
stalled-cycles-frontend     451,844,797,592 (  67.24%)	  435,099,070,573 (  67.18%)	  352,877,428,118 (  62.18%)
stalled-cycles-backend      255,533,666,521 (  38.03%)	  249,295,276,734 (  38.49%)	  179,754,582,074 (  31.67%)
instructions                472,331,884,636 (    0.70)	  458,948,698,965 (    0.71)	  464,131,768,633 (    0.82)
branches                     88,848,212,769 ( 366.556)	   85,330,239,413 ( 365.282)	   86,837,838,069 ( 424.329)
branch-misses                   398,856,497 (   0.45%)	      359,532,394 (   0.42%)	      333,821,387 (   0.38%)



perf reported execution time

                       4 streams        8 streams       per cpu
====================================================================
seconds elapsed        41.359653597	43.131195776	40.961640812
seconds elapsed        37.778174380	38.681792299	38.368529861
seconds elapsed        38.367149768	39.368008799	37.687545579
seconds elapsed        40.402963748	39.177529033	36.205357101
seconds elapsed        44.145428970	43.251655348	41.810848146
seconds elapsed        49.344988495	49.951048242	44.270045250
seconds elapsed        53.865398777	54.271392367	48.824173559
seconds elapsed        57.028770416	56.228105290	51.332017545
seconds elapsed        62.931350164	61.251237873	55.977463074
seconds elapsed        67.088285633	63.544376242	57.690998344


	-ss

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ