Thread (13 messages) 13 messages, 5 authors, 2016-02-29

Re: [PATCH v4 net-next] net: Implement fast csum_partial for x86_64

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help