On Tue, Apr 21, 2020 at 10:04 PM Eric Biggers ebiggers@kernel.org wrote:
Seems this should just be a 'while' loop?
while (bytes) { unsigned int todo = min_t(unsigned int, PAGE_SIZE, bytes); kernel_neon_begin(); chacha_doneon(state, dst, src, todo, nrounds); kernel_neon_end(); bytes -= todo; src += todo; dst += todo; }
The for(;;) is how it's done elsewhere in the kernel (that this patch doesn't touch), because then we can break out of the loop before having to increment src and dst unnecessarily. Likely a pointless optimization as probably the compiler can figure out how to avoid that. But maybe it can't. If you have a strong preference, I can reactor everything to use `while (bytes)`, but if you don't care, let's keep this as-is. Opinion?
Jason