Dan Williams wrote: >> >> No, you don't. A and B (and g^{-x}) are scalars, meaning they're the >> same for every element. This is simpler to do. > > Understood. However this routine also needs to cover the non-generic > and non-constant case where we have a separate coefficient per > element. I suppose it could scan the coefficient list to see if it > can bypass the 2-dimensional lookup multiply. At the very least we > need something like the following, because async_pq is really only a > helper routine for async_r6recov.c which knows how to avoid the > synchronous path. > Why does it? I don't see why you'd need to cover the vector-vector case at all, since it doesn't appear anywhere in the algorithms. Certainly going backwards from a vector-vector set to derive if you can do a scalar-vector multiply when you should have known that in the first place is not really useful. > > Looking closer, the only other caller, async_pq_zero_sum, can be > deleted because it has no users. So async_pq can become a static > routine in async_r6recov. > That's another issue entirely, of course :) -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf. -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html