Subject: Re: [TCP] IPV6 : Change a divide into a right shift in tcp_v6_send_ack()

From: Jeff Garzik <[email-masked]>
Date: Fri, 21 Dec 2007 07:18:13 -0500

David Miller wrote:
> From: Jeff Garzik <[email-masked]>
> Date: Fri, 21 Dec 2007 06:26:48 -0500
> 
>> YOSHIFUJI Hideaki / 吉藤英明 wrote:
>>> In article <[email-masked]> (at Fri, 21 Dec 2007 07:03:58 +0100), Eric Dumazet <[email-masked]> says:
>>>
>>>> Because tot_len is signed in tcp_v6_send_ack(), tot_len/4 forces compiler
>>>> to emit an integer divide, while we can help it to use a right shift,
>>>> less expensive.
>>> Are you really sure?
>>> At least, gcc-4.1.2-20061115 (debian) does not make any difference.
>> Quite true -- thus it is a matter of taste to the programmer.
> 
> Not true, the code output does change, check your optimize-for-size
> kernel config setting.
> 
> This was discussed and explained later in this thread, and I also
> explained it to you on IRC Jeff ;-)

[looks]

For signed integers, this is true.

For unsigned integers, the code output is the same, regardless of 
optimization setting.

	Jeff