From: Jens Axboe Subject: Re: [PATCH 1/2] [CRYPTO] tcrypt: Move sg_init_table out of timing loops Date: Mon, 29 Oct 2007 21:16:27 +0100 Message-ID: <20071029201627.GD7499@kernel.dk> References: <20071026145905.GA13850@gondor.apana.org.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: "David S. Miller" , Linux Kernel Mailing List , Linux Crypto Mailing List , netdev@vger.kernel.org To: Herbert Xu Return-path: Received: from brick.kernel.dk ([87.55.233.238]:13450 "EHLO kernel.dk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752053AbXJ2UQc (ORCPT ); Mon, 29 Oct 2007 16:16:32 -0400 Content-Disposition: inline In-Reply-To: Sender: linux-crypto-owner@vger.kernel.org List-Id: linux-crypto.vger.kernel.org On Fri, Oct 26 2007, Herbert Xu wrote: > [CRYPTO] tcrypt: Move sg_init_table out of timing loops > > This patch moves the sg_init_table out of the timing loops for hash > algorithms so that it doesn't impact on the speed test results. Wouldn't it be better to just make sg_init_one() call sg_init_table? diff --git a/include/linux/scatterlist.h b/include/linux/scatterlist.h index 4571231..ccc55a6 100644 --- a/include/linux/scatterlist.h +++ b/include/linux/scatterlist.h @@ -202,28 +202,6 @@ static inline void __sg_mark_end(struct scatterlist *sg) } /** - * sg_init_one - Initialize a single entry sg list - * @sg: SG entry - * @buf: Virtual address for IO - * @buflen: IO length - * - * Notes: - * This should not be used on a single entry that is part of a larger - * table. Use sg_init_table() for that. - * - **/ -static inline void sg_init_one(struct scatterlist *sg, const void *buf, - unsigned int buflen) -{ - memset(sg, 0, sizeof(*sg)); -#ifdef CONFIG_DEBUG_SG - sg->sg_magic = SG_MAGIC; -#endif - sg_mark_end(sg, 1); - sg_set_buf(sg, buf, buflen); -} - -/** * sg_init_table - Initialize SG table * @sgl: The SG table * @nents: Number of entries in table @@ -247,6 +225,24 @@ static inline void sg_init_table(struct scatterlist *sgl, unsigned int nents) } /** + * sg_init_one - Initialize a single entry sg list + * @sg: SG entry + * @buf: Virtual address for IO + * @buflen: IO length + * + * Notes: + * This should not be used on a single entry that is part of a larger + * table. Use sg_init_table() for that. + * + **/ +static inline void sg_init_one(struct scatterlist *sg, const void *buf, + unsigned int buflen) +{ + sg_init_table(sg, 1); + sg_set_buf(sg, buf, buflen); +} + +/** * sg_phys - Return physical address of an sg entry * @sg: SG entry * -- Jens Axboe