On Wed, 21 May 2008 21:18:11 +0800 Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote: > On Wed, May 21, 2008 at 09:46:24PM +0900, FUJITA Tomonori wrote: > > > > No, you misunderstand my question. I meant, software algorithms don't > > need ARCH_KMALLOC_MINALIGN alignment for __crt_ctx and if we are fine > > with using the ALIGN hack for crypto hardware every time (like > > aes_ctx_common), crypto doesn't need ARCH_KMALLOC_MINALIGN alignment > > for __crt_ctx. Is this right? > > The padlock isn't the only hardware device that will require > such alignment. Now that we have the async interface there will > be more. Ok, so it's all about crypto hardware requirement. In other words, if we accept for potential performance drop of crypto hardware, crypto can drop this alignment. > > Because there are few architecture that defines > > ARCH_KMALLOC_MINALIGN. So if crypto hardware needs alignement, it's > > You keep going back to ARCH_KMALLOC_MINALIGN. But this has *nothing* > to do with ARCH_KMALLOC_MINALIGN. The only reason it appears at > all in the crypto code is because it's one of the parameters used > to calculate the minimum alignment guaranteed by kmalloc. No, you misunderstand what I meant. I'm talking about the minimum alignment guaranteed by kmalloc too. What I'm trying to asking you, on the majority of architectures, the minimum alignment guaranteed by kmalloc (8 bytes) is too small for algorithms requiring alignments (that is, crypto hardware requiring alignments). As a result, the former in the following your logic doesn't happens for most of us. Your logic is: = It's used to make the context aligned so that for most algorithms we can get to the context without going through ALIGN_PTR. Only algorithms requiring alignments bigger than that offered by kmalloc would have to use ALIGN_PTR. = The former preferable path (algorithms requiring alignments are smaller than the minimum alignment guaranteed by kmalloc) happens only on some powerpc, arm, and mips architectures. Do I misunderstand something? If you put a hack in __crypto_alloc_tfm and crypto_free_tfm to return aligned tmf to algorithms (and use aligned attribute for __crt_ctx), then the your logic would makes sense. -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html