Hi Helin, On 02/10/2015 07:03 AM, Zhang, Helin wrote: >> /* Enable checksum offloading */ >> cd_tunneling_params = 0; >> - i40e_txd_enable_checksum(ol_flags, &td_cmd, &td_offset, >> - l2_len, l3_len, outer_l2_len, >> - outer_l3_len, >> - &cd_tunneling_params); >> + if (ol_flags & I40E_TX_CKSUM_OFFLOAD_MASK) { > likely should be added.
I would say unlikely() instead. I think the non-offload case should be the default one. What do you think? >> + i40e_txd_enable_checksum(ol_flags, &td_cmd, &td_offset, >> + l2_len, l3_len, outer_l2_len, >> + outer_l3_len, >> + &cd_tunneling_params); >> + } > As this code changes are in fast path, performance regression test is needed. > I would > like to see the performance difference with or without this patch set. > Hopefully nothing > different. If you need any helps, just let me know. I'm sorry, I won't have the needed resources to bench this as I would have to setup a performance platform with i40e devices. But I'm pretty sure that the code in non-offload case would be faster with this patch as it will avoid many operations in i40e_txd_enable_checksum(). For the offload case, as we also removed the if (l2_len == 0) and if (l3_len == 0), I think there are also less tests than before my patch series. So in my opinion, adding this test does not really justify to check the performance. Regards, Olivier