Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp1108549imm; Wed, 15 Aug 2018 11:33:03 -0700 (PDT) X-Google-Smtp-Source: AA+uWPy4sdpoOG6znEmzufkTPRuNZ7wOBPZz4vtf2nCYk2ZhjbDuf9t2eXSizKUTeJIGxvG0PG7P X-Received: by 2002:a65:52cc:: with SMTP id z12-v6mr26250969pgp.69.1534357983364; Wed, 15 Aug 2018 11:33:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534357983; cv=none; d=google.com; s=arc-20160816; b=Whl/bm4tx/vo45dsXJfLwgyeaUa7/mFYhC7VPzZW1a8QZ8ZBQxDNhBZt431BMH0zJs b91Zp2qGT+84RK/tkgO8mtnRuHHj+VOI/TM4UblGWcvKIWBI1HFbNfIZ15LpvenFgYmE 3TNQbfsdLSn1EKvplHXTngZLDC4TjBLZVVtQ1I5Mx0M5cEUNaGZS2+csUSjUT8YirbTg vC/5CLrEIaRMGp4rU6khmj4Pc2tNF8jZqhYHRy+HjYkTKw6f2ksFIvHBbKzddc2Ofpac hLhhP4bywIQ2ePxHkPKjZWzWlfTDr3XJE0N/6CR1Wf7fFd+QRxchzDaW3S7nrhGBD9au jOYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=lp+2PK07fkOmklXqVh3z3GoJFGgEd4QPBJPE1xYSa/Y=; b=Wg0rCx4hfU8G9IoJUT6xT7FIbipAHG2GcUt7ckri21kJAiAbVpdH3XhmKBYxmqNqd6 scLJvMCg3ex/0pczc+ylN6n2pDGKX+yQ+ph7jCzQglFml4vZcuF8uoxlxyyhJYzICE29 xs0R9uOnEtxnFjVOy+meM/v3SqfkrovKzvXnuKPVE23DBEGAYTdsyG9hiZuD3dTOks1K s8KlNIxDbx2JwsUUb0U694YQJUuD8yqaJt3FNAOPW2AZfqHQZRB2zLjOXTkftORH3NWy X4aOnmYqJDxMqgajj4ItYBwjRh3ABRfX/r5c0DZxj/qMBX0iSzwDCRVe3ds/igjAAshE Jp/w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y38-v6si24596792pgl.73.2018.08.15.11.32.48; Wed, 15 Aug 2018 11:33:03 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726273AbeHOVZH (ORCPT + 99 others); Wed, 15 Aug 2018 17:25:07 -0400 Received: from atrey.karlin.mff.cuni.cz ([195.113.26.193]:35390 "EHLO atrey.karlin.mff.cuni.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726006AbeHOVZH (ORCPT ); Wed, 15 Aug 2018 17:25:07 -0400 Received: by atrey.karlin.mff.cuni.cz (Postfix, from userid 512) id B00FA80675; Wed, 15 Aug 2018 20:31:49 +0200 (CEST) Date: Wed, 15 Aug 2018 20:31:34 +0200 From: Pavel Machek To: Jeff Lien Cc: linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org, linux-block@vger.kernel.org, linux-scsi@vger.kernel.org, herbert@gondor.apana.org.au, tim.c.chen@linux.intel.com, martin.petersen@oracle.com, david.darrington@wdc.com, jeff.furlong@wdc.com Subject: Re: [PATCH] Performance Improvement in CRC16 Calculations. Message-ID: <20180815182538.GB9709@xo-6d-61-c0.localdomain> References: <1533928331-21303-1-git-send-email-jeff.lien@wdc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1533928331-21303-1-git-send-email-jeff.lien@wdc.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi! > This patch provides a performance improvement for the CRC16 calculations done in read/write > workloads using the T10 Type 1/2/3 guard field. For example, today with sequential write > workloads (one thread/CPU of IO) we consume 100% of the CPU because of the CRC16 computation > bottleneck. Today's block devices are considerably faster, but the CRC16 calculation prevents > folks from utilizing the throughput of such devices. To speed up this calculation and expose > the block device throughput, we slice the old single byte for loop into a 16 byte for loop, > with a larger CRC table to match. The result has shown 5x performance improvements on various > big endian and little endian systems running the 4.18.0 kernel version. Well, 8K table fits in cache easily, and when running benchmark, table will be cached so it is a win... Is it also win on non-benchmark workloads and smaller systems? Pavel