Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753195AbdHKNUi (ORCPT ); Fri, 11 Aug 2017 09:20:38 -0400 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:48378 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753154AbdHKNUg (ORCPT ); Fri, 11 Aug 2017 09:20:36 -0400 Subject: Re: [PATCH v5 2/5] lib: Add zstd modules To: Hugo Mills , Eric Biggers , Nick Terrell , Herbert Xu , , , , , References: <20170810023553.3200875-1-terrelln@fb.com> <20170810023553.3200875-3-terrelln@fb.com> <20170810083017.GA10462@zzz.localdomain> <0ceeccb4-1a0f-cacb-dd2b-2913e1cf73ab@fb.com> <20170810192506.GF7140@carfax.org.uk> From: Chris Mason Message-ID: <6cd9c58a-1bcb-02c2-9329-c5acc0e79121@fb.com> Date: Fri, 11 Aug 2017 09:20:10 -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: <20170810192506.GF7140@carfax.org.uk> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [2620:10d:c091:180::1:f827] X-ClientProxiedBy: MWHPR1401CA0017.namprd14.prod.outlook.com (10.174.253.155) To MWHPR15MB1661.namprd15.prod.outlook.com (10.175.140.23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0da84bbb-6eaa-4165-d1fc-08d4e0bbb4ce 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:MWHPR15MB1661; X-Microsoft-Exchange-Diagnostics: 1;MWHPR15MB1661;3:iVS0yAgAv2Ng8fb+cmpMiLW4OcmMirOHzYTTIXxZqNtXMm7ArCsmCVoLlqHuAl6FFHNnU021XTD6Zm7ZlSaW+hnfkGNO0EvoRKGR0pAvPZv1KFHRjslp+rx9Q0SABqo6Mk5cEDbSECD5iYS/ljxRLGefSE2cduV3FcGhklrySVMUdp07zwBNvMYeECBuZ8BhbZkT5c9N+FMMXwj0+JirNOplZwuDJYuFmcF0KP8bGh+em9MV3NMuaK+mpMSyhn9P;25:5C2VmloHsR8kXgBles/PsEXR8AXlLfuG6xAGJC+mKy1x1Ial9c9C2pxZaQim/r75+oqzO0FJMIGEm6N10gGl1oQmUxpvY7/rwr0VAIvlcWt/wZhEXkq7mWC2i7zeHosLzFmFuto8BWx/DMWiKfHuqd+86aWKAG7i1NPuX5Thz4GdO//AJOacPmiI8hyddCqNWA5yk0PDJtgqRN8ejXDNs+fh228Bh6VKtry9iblVcVuucZoVZxryoh1tNhAdbrVBqqWfVkU5TRXYIvBdCQAu1glJbFd6MEXqMmM7ubCF+CFC5qs32qwXRVh7rgEWS2PuQZsaIdS1nu04PWCj5eeSaQ==;31:q6iBKfVw5BUPy8dxPI7RUzVtD+e/eZaxaohGZalQHp1izB+sf80jpt8DoN1u80422BB2GSwyJeP+VKApzqTFssAj/ukD7YIwy8apr1y7hzfnbQ1oWuYkZWxMgPoK0wcwAaZd8fYVCaPCnalx6gYNH5tEQ2NTLXoytjQJbF2elOLz791gRBNFRiOqqRcqKfvWZmH6v+ou76+3KSafOfabuGIiE3E5ArvtOnMNv480Dq0= X-MS-TrafficTypeDiagnostic: MWHPR15MB1661: X-Microsoft-Exchange-Diagnostics: 1;MWHPR15MB1661;20:TsYUehgD1EsSIwtpfFrkgF5EkZseGro0yoJN3wcxDbBvivTUb14gsN5lIY982s0HSG/JzKOv6ZniQG3SZPq20V6wvd450Nz3srftH4WNLuzTWiIw1lMb4ct/OGAglwgfRTnTy+TK7uC0urRQKQJzn5tg+ZKI3+uJm/JjueEO+iBrl7wcniKqmA5Wf6dZxL4xfZLcKRgAbLrdYL2qk4g47SDufXsBQQydm3GAWouVZgNPSVma8ZLaQrmZXT3ddLQpLIA7Ch5tQ+zmNiQmYJR0ls7QeRu4q0cPtph1ob4v5+KLxUZf7cnoDl8atKYPEEqxjyJT+pT6TIATvBXF0ZX7JwVgSdt0KUkHnhilCpl5THyE+7sw2+DfFWAdKQMrMf40GkEvPVouNG1wxLYTqPqbDVvqqsG7DSbTZvJ3QEdDACaIZaPqrnCHabkNYLK/qyjWYhtlufeu8Y/ZbeX7/5RUA41PlIIxqGconGc19uaKUAPCxSW6OHAa/cQlcC33oCzf;4:5STcHJmMfqIObqB8Thp15GYA6b7ruOaD6ZxJxDXk0f2lM9NGMHQabC2ieCWFaqYw+vhbMMGeb32s1nW/c7AyANoExB/I4fFD1R3rYwvByul2eGx66QZ5GuxVE0Xk1raprjmwfIY0Srd1SpgurnsKreqOwdxKWrGkBgywnIBkmoh5hUBtwZGDAHJNYlZHBcGk4Ov/AVg+t9MluzUKPI0GPPvCDqxSX7w/buHm119S75Aotmz0MLdhkDYyaSvA5pJm 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)(93006095)(93001095)(100000703101)(100105400095)(3002001)(10201501046)(6041248)(20161123562025)(20161123560025)(20161123555025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:MWHPR15MB1661;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:MWHPR15MB1661; X-Forefront-PRVS: 03965EFC76 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(7370300001)(6009001)(199003)(377454003)(24454002)(189002)(6246003)(65806001)(65956001)(47776003)(4001350100001)(53546010)(189998001)(65826007)(93886004)(64126003)(97736004)(25786009)(50466002)(5660300001)(31696002)(53936002)(478600001)(86362001)(23746002)(7350300001)(83506001)(36756003)(42186005)(81156014)(81166006)(2906002)(54356999)(50986999)(76176999)(7736002)(101416001)(305945005)(6116002)(106356001)(6666003)(2950100002)(68736007)(105586002)(1706002)(229853002)(31686004)(33646002)(8676002)(230700001)(6486002)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:MWHPR15MB1661;H:[IPv6:2620:10d:c0a1:1110:8000::2043];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;MWHPR15MB1661;23:awFgHOhujrBLBTDPAruslvChNTMGkcrwBercb?= =?Windows-1252?Q?38WTJPOKL1z0hr3zWSGR93Z5vcDhV8nsjgSA/gqIf/AOodVspNVk52bV?= =?Windows-1252?Q?fpC4YaiHdxFMqmRqVM9jopfEqRC5VYg48BsfAy7Q1GyI6zFz4zsjIp5L?= =?Windows-1252?Q?xIqFYLrcskQpG5RtbTeFkbIpt9zFnhzrxLQKYIjGRHdelqU1kU9xWyWI?= =?Windows-1252?Q?47XFmoH5C/dbzbyR3IAxKR0KGUDUzRgUOPr7G/C3fS4sWSiDUWzlvrYR?= =?Windows-1252?Q?1ve7jzYHvjQv0ITP9x9wmJMZLa7rP29+OejYkmEdDn0hnY6QSF2oTenE?= =?Windows-1252?Q?qqcSQt7AytVSIZ34YOd4gmIZ+mz3wc/JHnXAUg5XoNygtHhMqZP7rnZg?= =?Windows-1252?Q?DXUGUsUHAzrfosiQqNC1nZIYaTrld9j59Xx0cFG/zxmYMjovNge8d/lI?= =?Windows-1252?Q?+agqKWzQXfD1T0EAZ+4shejuQ3iEFkcURtKph6y2MsXwFR5XVxw4RpuK?= =?Windows-1252?Q?Ivhs5TW+X4v4dpBRBu7E8SmvhAp60iJQIDutQIvZR5AHXVyGDCt0r9KS?= =?Windows-1252?Q?ZV1x2N1PD3A7+zTSINToY8T3mVUbxKuFhIrwH4XJQoqXJxvVtdEy7zQS?= =?Windows-1252?Q?3OeccxD0IKg9oitnObTwgtNYReoLLlEN2Q/Daal+e9JudNbsbOoPwqfs?= =?Windows-1252?Q?6QkPHUoUNVeEyNXUWUXruOYP0XlkwCPDaUQaROuyJTHeQFbvw9YwanXB?= =?Windows-1252?Q?WaxtnfAF9CKEfdPzrxwSmjtZFNCUqwJxlArGjIWb7xYxE0PT5IGBGgQf?= =?Windows-1252?Q?iBA4eEXenJhPesCbtZWzXZXWpOxtW6FZ6kO1Z3QMQtUzL64qnkTkKL6e?= =?Windows-1252?Q?c+6CqTP9IUNUuDzDT2IkAfYiC5GKVQ7ERRqPhEgQu4W3jyMeDP2u8wJ7?= =?Windows-1252?Q?pPC6HKGrkiGIHxK573+Lq61rVc6f+NedLPqURJAxgFSJkynw+RTqMe/u?= =?Windows-1252?Q?JiBMvMQq/j/IFk7PANu2a5F0Bs734sP+7ULruQr3o99eyK3RggaY3win?= =?Windows-1252?Q?yTqKt5/saeFY4OIFl8mtmmZy1KTyVRF5Hd2VWirjhYsfJVn1mKEpRzhg?= =?Windows-1252?Q?ea2GIE8EWj31JNsZP8EOL7jfPIIcNBRq/sUgcj5dEggvRCpqeurLiXCS?= =?Windows-1252?Q?PzE2p0S0AHU4y7iCTyRH5TAQ9DzMX/DuPLmHop0/2r3Fyv93wH24yiJL?= =?Windows-1252?Q?DxKWebnPOcJbJ/oGQ40+M8dzev+SdeqRYuRXd91QJxWRJFLSkTgGxrRy?= =?Windows-1252?Q?j4ED8wBenDe6vP5bNh7tXlnDi8gdpJM4jomMTqPgF1+LbUp+q3NuMGn7?= =?Windows-1252?Q?OFsXBLGdY7eEKVIsxmL7b7b1oYEe3vxsg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR15MB1661;6:OexTpowWuTLb5B5c1uNLtE3wFuWNXuIzChQ0TUpjj+5Ssi/u5bLAD9RgNDE88z+7k50ae6TXdOwTkOXRnenUQJv7Gud2r06pTbgbgw/uATMd99x1eJGM+SuinkMsht6PZBSh7Hc/geNtI+yTJKqLsR+QZDWqBd8dL7ZxE912if/ESVAc3G/J5S6v1k78ga6zpZCR9mSVgWP2nSAdfvEyoPPsUfg+ycKUMy4wWT7T7zCPys8A4CLFBrcE0hFwAdzQACM9M2ntpOuZCU68riu9EKjAZa8PNbGLwiSr/6ueTAgRm2q0mU7y5RRk7pcqF6xlDqTPEan1ouJE4p32P4fmBQ==;5:ldtfTjvG+2lTIx+0t7dPXHGVq96yIYRgXWs+EAPtyewjMsU/vKgImuBaexoMX86t7XhBLLXnYAuz/W0M4CWtvZ1+/oq3O/LDVVnMnpkAezLmNsyrc8aqMCp3wkbbu9gJM4x116UN62eSidjXYI6N8w==;24:bXksb056lrxf1SYtIbwvpQfCzTLTLrOsgStEWQzAXt2Ex+ZOnOZar+yOYsWDR1ke5Pl+A+bSxIRv5cHBcTXKnGXChw4+sEQf4qWo4gbOAFc=;7:C+3FjP3wh+fdRHvkSpJxgXGBD02aKZ0hJqx1ZHxKutV70YFNgHzSG4cw83C7E9zNN0pKcidcCqkJGfBx1Ea2e/a4ccke1GabV19sPY1l+zp5tqLz4okOINyTMuF5Q1oZt8mQoTp2wMmiRjv515Pq/dwMM4Xzf+B4hFaNx5Of/XVNv6tFLQWB1jC8jcJAQMaaAdIJ0QtB8VGxmLjkzkj9estvTir1U9dQs1EggUEXTVA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR15MB1661;20:Fzgibu2UCN757qDKHA2k+/4rvisAYEU83yGypVXbmrNc4kxMClyG28YSkZfICcVLUOsEbgdl9ncZ41c43gpR/R+hgSaq2QhnKIWvSgr5w+LDkJLemrb1dFCREbIhxK6fdZvYPkRlD3tpTkYpSaiYdqB3yx/SwwJZi64kmCf1g7U= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Aug 2017 13:20:14.9760 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR15MB1661 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-11_05:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1953 Lines: 42 On 08/10/2017 03:25 PM, Hugo Mills wrote: > On Thu, Aug 10, 2017 at 01:41:21PM -0400, Chris Mason wrote: >> On 08/10/2017 04:30 AM, Eric Biggers wrote: >>> >>> 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. > > Could we please not add more mount options? I get that they're easy > to implement, but it's a very blunt instrument. What we tend to see > (with both nodatacow and compress) is people using the mount options, > then asking for exceptions, discovering that they can't do that, and > then falling back to doing it with attributes or btrfs properties. > Could we just start with btrfs properties this time round, and cut out > the mount option part of this cycle. > > In the long run, it'd be great to see most of the btrfs-specific > mount options get deprecated and ultimately removed entirely, in > favour of attributes/properties, where feasible. > It's a good point, and as was commented later down I'd just do mount -o compress=zstd:3 or something. But I do prefer properties in general for this. My big point was just that next step is outside of Nick's scope. -chris