From: Tim Chen <tim.c.chen@linux.intel.com>
To: Herbert Xu <herbert@gondor.apana.org.au>,
"H. Peter Anvin" <hpa@zytor.com>,
"David S. Miller" <davem@davemloft.net>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Tim Chen <tim.c.chen@linux.intel.com>,
Matthew Wilcox <willy@linux.intel.com>,
Jim Kukunas <james.t.kukunas@linux.intel.com>,
Keith Busch <keith.busch@intel.com>,
Erdinc Ozturk <erdinc.ozturk@intel.com>,
Vinodh Gopal <vinodh.gopal@intel.com>,
James Guilford <james.guilford@intel.com>,
Wajdi Feghali <wajdi.k.feghali@intel.com>,
Jussi Kivilinna <jussi.kivilinna@iki.fi>,
linux-kernel <linux-kernel@vger.kernel.org>,
linux-crypto@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: [PATCH 0/4] Patchset to use PCLMULQDQ to accelerate CRC-T10DIF checksum computation
Date: Tue, 16 Apr 2013 09:20:47 -0700 [thread overview]
Message-ID: <cover.1366120266.git.tim.c.chen@linux.intel.com> (raw)
Herbert,
Currently the CRC-T10DIF checksum is computed using a generic table lookup
algorithm. By switching the checksum to PCLMULQDQ based computation,
we can speedup the computation by 8x for checksumming 512 bytes and
even more for larger buffer size. This will improve performance of SCSI
drivers turning on the CRC-T10IDF checksum. In our SSD based experiments,
we have seen in disk throughput by 3.5x with T10DIF.
This patchset provide the x86_64 routine using PCLMULQDQ instruction
and switch the crc_t10dif library function to use the faster PCLMULQDQ
based routine when available.
Will appreciate if you can consider merging this for the 3.10 kernel.
Tim
Tim Chen (4):
Wrap crc_t10dif function all to use crypto transform framework
Accelerated CRC T10 DIF computation with PCLMULQDQ instruction
Glue code to cast accelerated CRCT10DIF assembly as a crypto
transform
Simple correctness and speed test for CRCT10DIF hash
arch/x86/crypto/Makefile | 2 +
arch/x86/crypto/crct10dif-pcl-asm_64.S | 659 ++++++++++++++++++++++++++++++++
arch/x86/crypto/crct10dif-pclmul_glue.c | 153 ++++++++
crypto/Kconfig | 21 +
crypto/tcrypt.c | 8 +
crypto/testmgr.c | 10 +
crypto/testmgr.h | 24 ++
include/linux/crc-t10dif.h | 10 +
lib/crc-t10dif.c | 96 +++++
9 files changed, 983 insertions(+)
create mode 100644 arch/x86/crypto/crct10dif-pcl-asm_64.S
create mode 100644 arch/x86/crypto/crct10dif-pclmul_glue.c
--
1.7.11.7
next reply other threads:[~2013-04-16 23:25 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-16 16:20 Tim Chen [this message]
2013-04-16 16:20 ` [PATCH 1/4] Wrap crc_t10dif function all to use crypto transform framework Tim Chen
2013-04-16 16:20 ` [PATCH 2/4] Accelerated CRC T10 DIF computation with PCLMULQDQ instruction Tim Chen
2013-04-17 17:58 ` Jussi Kivilinna
2013-04-17 18:20 ` Tim Chen
2013-04-16 16:20 ` [PATCH 3/4] Glue code to cast accelerated CRCT10DIF assembly as a crypto transform Tim Chen
2013-04-16 16:20 ` [PATCH 4/4] Simple correctness and speed test for CRCT10DIF hash Tim Chen
2013-04-17 17:58 ` Jussi Kivilinna
2013-04-17 18:07 ` Tim Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1366120266.git.tim.c.chen@linux.intel.com \
--to=tim.c.chen@linux.intel.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=davem@davemloft.net \
--cc=erdinc.ozturk@intel.com \
--cc=herbert@gondor.apana.org.au \
--cc=hpa@zytor.com \
--cc=james.guilford@intel.com \
--cc=james.t.kukunas@linux.intel.com \
--cc=jussi.kivilinna@iki.fi \
--cc=keith.busch@intel.com \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=vinodh.gopal@intel.com \
--cc=wajdi.k.feghali@intel.com \
--cc=willy@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).