[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <38b2ab8a0704190107x2c151bafx824beca052f97ef6@mail.gmail.com>
Date: Thu, 19 Apr 2007 10:07:53 +0200
From: "Francis Moreau" <francis.moro@...il.com>
To: "Roland Dreier" <rdreier@...co.com>
Cc: "Herbert Xu" <herbert@...dor.apana.org.au>,
helge.hafting@...el.hist.no, linux-kernel@...r.kernel.org,
linux-crypto@...r.kernel.org
Subject: Re: [CRYPTO] is it really optimized ?
On 4/17/07, Roland Dreier <rdreier@...co.com> wrote:
> > > It seems trivial to keep the last key you were given and do a quick
> > > memcmp in your setkey method to see if it's different from the last
> > > key you pushed to hardware, and set a flag if it is. Then only do
> > > your set_key() if you have a new key to pass to hardware.
> > >
> > > I'm assuming the expense is in the aes_write() calls, and you could
> > > avoid them if you know you're not writing something new.
>
> > that's a wrong assumption. aes_write()/aes_read() are both used to
> > access to the controller and are slow (no cache involved).
>
> Sorry, I wasn't clear. I meant that the hardware access is what is
> slow, and that anything you do on the CPU is relatively cheap compared
> to that.
>
> So my suggestion is just to keep a cache (in CPU memory) of what you
> have already loaded into the HW, and before reloading the HW just
> check the cache and don't do the actual HW access if you're not going
> to change the HW contents. So you avoid any extra aes_write and
> aes_read calls in the cache hit case.
>
> This would have the advantage of making anything that does lots of
> bulk encryption fast without special casing ecryptfs.
>
I'm not sure how "memcmp(key, cache, KEY_SIZE)" would impact AES
performance. I need to give it a test but can't today. I'll do
tomorrow and give you back the result.
Thanks
--
Francis
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists