Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753064AbdHJRlr (ORCPT ); Thu, 10 Aug 2017 13:41:47 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:48950 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752658AbdHJRlo (ORCPT ); Thu, 10 Aug 2017 13:41:44 -0400 Subject: Re: [PATCH v5 2/5] lib: Add zstd modules To: Eric Biggers , Nick Terrell CC: Herbert Xu , , , , , References: <20170810023553.3200875-1-terrelln@fb.com> <20170810023553.3200875-3-terrelln@fb.com> <20170810083017.GA10462@zzz.localdomain> From: Chris Mason Message-ID: <0ceeccb4-1a0f-cacb-dd2b-2913e1cf73ab@fb.com> Date: Thu, 10 Aug 2017 13:41:21 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170810083017.GA10462@zzz.localdomain> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [2620:10d:c091:180::1:f827] X-ClientProxiedBy: MWHPR14CA0059.namprd14.prod.outlook.com (10.173.97.149) To DM5PR15MB1657.namprd15.prod.outlook.com (10.175.107.23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d1dbfd24-02fb-4e29-6666-08d4e0170733 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:DM5PR15MB1657; X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1657;3:A7w8TKhUeZXpgds/ProGIhIObR3aDlEtqsxUscvGdsekQi7d84287/a+zS0djDnLazR2lL3sTyg3fKg6MhdUEJHIL98HtykAPSKSo5aeWrgR7+zdlvYnrTgLdFHUqivdCIAvh/d4vjHSdpA/QzYzYC3g3+Rbrn6p1N7YozpEzlIYLKQZIPgVufY+rm521OvhHp+YEq3r59Q04aPxQ4/Xp1pDIKSgCq7s6Z+RXbBUbugZk6TUppzCY50Cf67zre3A;25:ZwPcIlxrlADy93xcliqCzb3fsoaNhmVGkY3YcTGHaYP1JiHOlYaQIO8IU8wGeaI2rQHrU4wjwcdPU/uOSjqPh+clbp+QBwJbXgQRcvitX7VthhoxXzR8H0SZfi3D7rReBqG4OcPg1Uk8W1SEm9zSB8Wk1xl2vx4g6WZvdFGP2t2j+Lz1QIcCTYKqxmEVk7RC9oyfk3j8rQQCVv0lOuXVzRS1ZQEsUSP9iLCcTwwjDq5IklNL67XNS+h+sDWwCaq0xD5JtXWiJEPXyKJ/7ujzPV4XgckkoVYzBKX0B+KN78NxmyekJzqLabXAXbnFpi80zXbYhbk/E7lCa0Qs8DhwRg==;31:ooGeWu8pYO1lkQy14HeknE6LDB/i4XseiU7Dvz+YZ0zcnqB242U5DsV+cX725JShyZX3+Ev26BaU7T72ZzR7qKsPvkbGmcbWGBOtQs5h4y76ljMkjW3eEX09yUcDOC8NqfkHLvherQTrfo4FLVN+x0P5L111/BoUW4p3KETZMbd2Sl2hEkE0KLctuIHWIPdWxWdnTCzMQ5YXneb7LfRsSVA0vN/qk5Uom9y17NwJMWk= X-MS-TrafficTypeDiagnostic: DM5PR15MB1657: X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1657;20:l/8Dr3Yl25UfMyvJg6uIL9PnCfNJy4YPGin7GAHoad6pmg5CIbLj+4fTNOFSEFuVNMHYY6XKdVqL/bRB6a9nipu3d29uTAJSeywXfqwq10tJwEeiAiEWlHE3TAAws899O1rv2bi6c9XEOGAy7GdEWZ+V+h23MBF6xoFNCJsDGfGuEELjiyxLL91+jQg0w+vz/MXMYzglrlE+otBmGBIO7++DomIj6sdYR5u1y4163sj3tmnSIA3ZQM1q2gt6CK6n+xWlXlwejzrjMlGMVSs5r0O25HpSR0LqoC8TMoZGUCtQVq8zICff4VSvrFx+4iY0Q0ZHRmKJY6uXSSOLvG3Kt3Vfczn64Kdn9hNFOjCNrjYbdoI/rsXdzk9XexvsiLKXT7lIv6MJcO/w9z2LYBJmXtx4oQB1n9lj/p1SeqvOACInDH5emIKnbh2//kx0f1zDTFc8si1lm4EE5oNuR5typY4SXwNqC92GbAxnQZ3wGe3QSRfycxV5bTeXiZq9ktK/;4:VHUhhcFE2YN+z/c7S0V/cwfOLcP3aQTfbPlJhuMoqwM57fam9IaFAPnnWgzwc6QASM9mbaRxRjYGiDCZM50TGSuM0QP/7uU37fo/gwVtBCzPtsCo/UJtIdZw/E0QiNgG6Yj2W9C3O12vfQEBJoXx7PDlDUJNdhXCji+vSzGjUT6RFZokuTiFfWDDHk+KePQpiEWf0wLqNNnOM8/cRH0AJGFOW4vTXcQ/mwW/hUsN8NR6xZsi0fUZ+Lfmj7PRgtCp X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(6041248)(20161123562025)(20161123560025)(20161123555025)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM5PR15MB1657;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM5PR15MB1657; X-Forefront-PRVS: 03950F25EC X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(7370300001)(4630300001)(6009001)(39450400003)(39840400002)(39410400002)(39400400002)(39850400002)(24454002)(199003)(377454003)(189002)(2906002)(53546010)(4326008)(23676002)(68736007)(25786009)(478600001)(86362001)(65806001)(83506001)(65956001)(31696002)(47776003)(38730400002)(53936002)(6246003)(7350300001)(1706002)(42186005)(6666003)(2950100002)(65826007)(6116002)(106356001)(6636002)(33646002)(81166006)(81156014)(105586002)(101416001)(6486002)(5660300001)(97736004)(4001350100001)(229853002)(50466002)(189998001)(8676002)(54356999)(76176999)(50986999)(230700001)(31686004)(305945005)(7736002)(36756003)(64126003)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:DM5PR15MB1657;H:[IPv6:2620:10d:c0a1:1110:8000::2043];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjE1TUIxNjU3OzIzOklHWlp4eTErWEl3SW54SkZqVkI2T3h1QnNj?= =?utf-8?B?dTQrNUFmWHRsSVN1VllZYzZCaHQyUytNTm5TQjNnczZsT0Fjb3o3MHpWT2Qz?= =?utf-8?B?bGp4VUJkMGF6Ny9mSlpMMnRtYWlRbnUvMXp5SmhNcHIxZHlFZGpCUUJrRUN2?= =?utf-8?B?d0RiL2YyajcrZ3RZK3k1cXdtZUR3K2pNNjNoYU9UbjR4QjBYOHVzWFh3b2RJ?= =?utf-8?B?dGN4N0ZMNEs4dE0vT0ZTZDVvU2daeFV6MW8yQjcxdHZ0QzZubVlUV2lPYStr?= =?utf-8?B?ZUwwdmowRjlFTjFzT21HdjRyZGNyaVNNaDdPSEl3S1Y3dk5ZRjI4UDZRMmJO?= =?utf-8?B?c21nSEp3TEFtQmdXWk40NFpYaDEyMzF1M2wzRE9qRlN0SUhHcDNZQllCZFFp?= =?utf-8?B?dXg3RkVwTGdNTVdHS0xXeWc3WmVEK1dzTk1EKzgyQkRrcm5TU05QdzMvUWgz?= =?utf-8?B?RVR4M2pwYmxMcmRMWUxxTVlERXQzejNyK0NtelBNYlh2N2lyOWJQWU5jWlgr?= =?utf-8?B?TUJUV3BJVXVlNlgzWTN1TUdOYkpIVmdPcmluTHM3YlFlZzFwemVjdG1ER1o4?= =?utf-8?B?UkVjMmlPWWovK3U4U1pZMEdoaXo5RERZamQzd3lrL3A3SllBN1NENUp6bmc3?= =?utf-8?B?YmxON3I1ZkdhaERsWlNYUE91RU5zUDVoQXRST3pUNmg4RThLZmM5dHY3K05k?= =?utf-8?B?c0dpMEFqTmJZMDVsT3ovMzRSN0FPR3FiU2g2VVVhY1M0WFBFWnhuR0VmRVdG?= =?utf-8?B?eXNoZGdjM2tzSGNSb1RYLzhKUTUyS1FmQzd6Z1IvNGNCTFprNktuaWw1SGx5?= =?utf-8?B?R0NaVGxJYjhWeGUxMFpJaHA5L240TThNTkZ5WHc3SVloOStLNmlxZVpiRGps?= =?utf-8?B?d0o4YUhTcWJjVVBkVmk5OXdQdTVsN3c2K0lqZEE0dERUN0QxQjEzYkZ3ZlZW?= =?utf-8?B?Zkp4enRZbmVWUGtVd0NkWnRGQXdvcVhVWmRxU1BkeTI0RURkUjkremhjM2ht?= =?utf-8?B?NDFLOVFVSWo3RVN4ekZiQmRYUVl1TVZiajZDb01qcDM3aWE5dmhUT0NIVE5i?= =?utf-8?B?dzQyWXIyUlBPOWkxVW5QZVlJMkt5WlBraURnSjNSSVRyS2YrRnpOQlRTTTI1?= =?utf-8?B?VTNGYlhUN2tucm5hNWJXQjVyZmRSd2R3aERGT1dBdUtxZ1ZJRUE3aUI4VnZT?= =?utf-8?B?U0U2Q2cza0RnQkM4L0VINWdRbXFkV3dJMG8rN3RXeGd2REZUclNmN3VnaGVK?= =?utf-8?B?SXo4ajBRSkVuVTUvT1hUSko4WTJCK3NZKytiVlZWcVlSYlEreHNMTExiS3Vn?= =?utf-8?B?dC9FcXZ2c3lmNnp1M04wOXZlK21SbXNjd3hablhTTTQ0QlBnblR0NTB2TjBv?= =?utf-8?B?clkvYjV1VlhLRmJwZGZCOFY2Y2dteUE2WlU0TlFSV1FvWWM5TmxqNnRQSEpB?= =?utf-8?B?djU3eVV1UmpSOXF1d0grWTh3bEFnR2t1b2IrU2p3dEpnQzl6aTlxSnV4aEp0?= =?utf-8?B?YVRDL2dqcWZqUnZSblpRdlQ1Z2N0K0ZuWWE2S2pzUEg4ZFk2OGpGRUVLSlRC?= =?utf-8?B?N1R1dnRVZHdwbmwyaXV2dE5qYkpMTEJzWVdoQjlnN1dYSnFPNmt0WVd4UWRj?= =?utf-8?B?d0FGeFViQ1V4b2xuQ0Z0bWxTY0NWeDQ5RzF2K0Y4eUhvLzJhY0tmdmkxRnZw?= =?utf-8?B?SG4zM3pyRHlKdWlOTnU2T1NQczMrVUJkYzJSams3VHNET1JIVG81RnludUwr?= =?utf-8?B?RFBjbllnT0pHSEcwZGE5NVNxdUVqMVdmb09LSGZ4bjh2bWozMGtPYmxEMGEz?= =?utf-8?B?dUZsalo5Q1pHeGtadEc4d0RjVWQzc2QzVXRlNTRXeTNUKytmQ2p1enFJUzJz?= =?utf-8?B?SXFUZ1orWlVhcmpRWWZoM2JDRGtIMVBMemx5QVdWZk02ZUM1M2NCTEl6cVV4?= =?utf-8?B?UTRJWEdNQnJ4YzVGTWsybTZ0WGlVT01KM0w0L29XM3QraWdQMm1nbFBJNTky?= =?utf-8?Q?Rl9vTz?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1657;6:cal2K2tHcmc9BFZnGsn/PMIkB+qyEFusFrtvW8n6tdlmel+73TKsvo0dTYa7dYQ2VQBLIvgjevH9y9lht31mZQDeghQOESyDuqygd+BnIVBFZwEu905NfgNf1/55CXmTwrC8fz/gfjJKELhzOluP9MoImF0vhMQ3+UZErwegH60P5ykvMbkMDMQKjGUufzSAaZsLz6xC4fdqfweVOIWJm8F2zZvvN6SOXBvNn3HOeGU5Ct0bIJ4C7SxL83/UEVgzXp459EdjiygTdAyhxMaGTzTrkfwV5LmT4cBIu4HeHjsA2Ny0cr/mXjkRNXegVevGTd20AcfW7Am4b2lzDWJPjw==;5:3GP7uO3gYJ1VJdaMIo+n6U65nbBw9XRiXPDZapU8C/soT1oLc/C2QCZ6zhPlcGPgt8odWSSQXpG0ibK6m2DqZpenq5Ws8g+beWCfF9O0+a14A1wQ1Jca/hsuufwbuTCscyYxNBH6b1E5cUg4jH4ffQ==;24:fvHRLSHDFIOBTwLze3ZKluRZz/Z604y5GtV+VboBRHK2MuCQ2Fdr/0yVEVQQ8wi54Vl+It0tZxU00IscC4ja75VnS2NO2P8eRbB66v+xguk=;7:LeGPKaTABt+Ip54tCw9S1F2u4gXi8K0yf9WNSUDeaYpGHSVyKUw+NUH6yS0JOSBjhnyhsYYyGO19K+ylp+Lkm1CUdH3u5m8zmSiR9aq1yHNjNT6QvO9Xk+zg74Sx7p3AqhzI0cAnZVxlYUOoEB37MHcv+CYkJn2h1xzXrim5Cve9MqlRwLb61u43rNQ26Rd5keV3FeBaOrqP/JEhS8qceSgJs9iynVTAOyjZdMW5l0c= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR15MB1657;20:z6TX7SafxdNU4VJz1PznnMaYzaaDZbcuxU0S6+DjAxykZ4A3gd9oYPA81rqvm45lhRCQrviKUxrJPhodaVsWo+BTuE0k2hBC8eUE1uVP8ukO17te9Vkg8mOBsz+1QG0wX1ni+m+nfEIzPGg9mjEnz07826ANYVtilYwExNmgdmE= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2017 17:41:25.6229 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR15MB1657 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-08-10_08:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2084 Lines: 39 On 08/10/2017 04:30 AM, Eric Biggers wrote: > On Wed, Aug 09, 2017 at 07:35:53PM -0700, Nick Terrell wrote: >> The memory reported is the amount of memory the compressor requests. >> >> | Method | Size (B) | Time (s) | Ratio | MB/s | Adj MB/s | Mem (MB) | >> |----------|----------|----------|-------|---------|----------|----------| >> | none | 11988480 | 0.100 | 1 | 2119.88 | - | - | >> | zstd -1 | 73645762 | 1.044 | 2.878 | 203.05 | 224.56 | 1.23 | >> | zstd -3 | 66988878 | 1.761 | 3.165 | 120.38 | 127.63 | 2.47 | >> | zstd -5 | 65001259 | 2.563 | 3.261 | 82.71 | 86.07 | 2.86 | >> | zstd -10 | 60165346 | 13.242 | 3.523 | 16.01 | 16.13 | 13.22 | >> | zstd -15 | 58009756 | 47.601 | 3.654 | 4.45 | 4.46 | 21.61 | >> | zstd -19 | 54014593 | 102.835 | 3.925 | 2.06 | 2.06 | 60.15 | >> | zlib -1 | 77260026 | 2.895 | 2.744 | 73.23 | 75.85 | 0.27 | >> | zlib -3 | 72972206 | 4.116 | 2.905 | 51.50 | 52.79 | 0.27 | >> | zlib -6 | 68190360 | 9.633 | 3.109 | 22.01 | 22.24 | 0.27 | >> | zlib -9 | 67613382 | 22.554 | 3.135 | 9.40 | 9.44 | 0.27 | >> > > Theses benchmarks are misleading because they compress the whole file as a > single stream without resetting the dictionary, which isn't how data will > typically be compressed in kernel mode. With filesystem compression the data > has to be divided into small chunks that can each be decompressed independently. > That eliminates one of the primary advantages of Zstandard (support for large > dictionary sizes). I did btrfs benchmarks of kernel trees and other normal data sets as well. The numbers were in line with what Nick is posting here. zstd is a big win over both lzo and zlib from a btrfs point of view. It's true Nick's patches only support a single compression level in btrfs, but that's because btrfs doesn't have a way to pass in the compression ratio. It could easily be a mount option, it was just outside the scope of Nick's initial work. -chris