Re: [PATCH v4 net-next] net: Implement fast csum_partial for x86_64
From: Eric Dumazet <hidden>
Date: 2016-02-28 20:36:33
From: Eric Dumazet <hidden>
Date: 2016-02-28 20:36:33
On ven., 2016-02-26 at 12:03 -0800, Tom Herbert wrote:
+
+ /*
+ * Length is greater than 64. Sum to eight byte alignment before
+ * proceeding with main loop.
+ */
+ aligned = !!((unsigned long)buff & 0x1);
+ if (aligned) {
+ unsigned int align = 7 & -(unsigned long)buff;
+
+ result = csum_partial_lt8_head(*(unsigned long *)buff, align);
+ buff += align;
+ len -= align;
+ result = rotate_by8_if_odd(result, align);
+ }
+
This looks like you wanted to test 3 low order bits, not only the 1 low
order.
aligned = !((unsigned long)buff & 0x7);
if (!aligned) {
...
}
Or rename the variable to notaligned