On Tue, Jun 5, 2018 at 8:20 PM, Paolo Abeni <[email protected]> wrote:
> On Tue, 2018-06-05 at 08:04 -0400, Yafang Shao wrote:
>> In ip receive path, when ip header hasn't been pulled yet, ip_hdr() and
>> skb->data are pointing to the same byte.
>>
>> In ip output path, when ip header is just pushed, ip_hdr() and skb->data
>> are pointing to the same byte.
>>
>> As ip_hdr() is more expensive than using skb->data, so replace ip_hdr()
>> with skb->data in these situations for optimization.
>
> IMHO this makes the code less readable and more error prone. Which kind
> of performance improvement do you measure here?
>
Correct the cc list.
Hi Paolo,
There's a "+" opertaion in ip_hdr(), using skb->data and avoid this operation.
Thanks
Yafang
From: Yafang Shao <[email protected]>
Date: Tue, 5 Jun 2018 20:29:05 +0800
> On Tue, Jun 5, 2018 at 8:20 PM, Paolo Abeni <[email protected]> wrote:
>> On Tue, 2018-06-05 at 08:04 -0400, Yafang Shao wrote:
>>> In ip receive path, when ip header hasn't been pulled yet, ip_hdr() and
>>> skb->data are pointing to the same byte.
>>>
>>> In ip output path, when ip header is just pushed, ip_hdr() and skb->data
>>> are pointing to the same byte.
>>>
>>> As ip_hdr() is more expensive than using skb->data, so replace ip_hdr()
>>> with skb->data in these situations for optimization.
>>
>> IMHO this makes the code less readable and more error prone. Which kind
>> of performance improvement do you measure here?
>>
>
> Correct the cc list.
>
> Hi Paolo,
>
> There's a "+" opertaion in ip_hdr(), using skb->data and avoid this operation.
Paolo is asking what performance improvement did you "measure".
I don't think this can possibly show up in a benchmark at all, and I
agree the code becomes less readable, so I am not applying this,
sorry.