Print this page
3741 zfs needs better comments
Submitted by: Will Andrews <willa@spectralogic.com>
Submitted by: Justin Gibbs <justing@spectralogic.com>
Submitted by: Alan Somers <alans@spectralogic.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
@@ -123,10 +123,21 @@
*
* For both cached and uncached data, both fletcher checksums are much faster
* than sha-256, and slower than 'off', which doesn't touch the data at all.
*/
+/*
+ * TODO: vectorize these functions
+ * All of these functions are written so that each iteration of the loop
+ * depends on the value of the previous iteration. Also, in the fletcher_4
+ * functions, each statement of the loop body depends on the previous
+ * statement. These dependencies prevent the compiler from vectorizing the
+ * code to take advantage of SIMD extensions (unless GCC is far smarter than I
+ * think). It would be easy to rewrite the loops to be amenable to
+ * autovectorization.
+ */
+
#include <sys/types.h>
#include <sys/sysmacros.h>
#include <sys/byteorder.h>
#include <sys/zio.h>
#include <sys/spa.h>