On 08/17/2016 12:35 AM, Marcelo Ricardo Leitner wrote:
Because otherwise when crc computation is still needed it's way more expensive than on a linear buffer to the point that it affects performance. It's so expensive that netperf test gives a perf output as below: Overhead Shared Object Symbol 69,44% [kernel] [k] gf2_matrix_square 2,84% [kernel] [k] crc32_generic_combine.part.0 2,78% [kernel] [k] _raw_spin_lock_bh
What kernel is this, seems not net kernel? $ git grep -n gf2_matrix_square $ git grep -n crc32_generic_combine $ Maybe RHEL? Did you consider backporting 6d514b4e7737 et al?
And performance goes from 2Gbit/s to 0.5Gbit/s on this test. Doing the linearization before checksumming is enough to restore it. Fixes: 3acb50c18d8d ("sctp: delay as much as possible skb_linearize") Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx>
-- To unsubscribe from this list: send the line "unsubscribe linux-sctp" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html