[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20111201.133240.1139583649097732532.davem@davemloft.net>
Date: Thu, 01 Dec 2011 13:32:40 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: eric.dumazet@...il.com
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH net-next] ipv4: use a 64bit load/store in output path
From: Eric Dumazet <eric.dumazet@...il.com>
Date: Thu, 01 Dec 2011 08:28:41 +0100
> Le jeudi 01 décembre 2011 à 01:48 -0500, David Miller a écrit :
>> From: Eric Dumazet <eric.dumazet@...il.com>
>> Date: Thu, 01 Dec 2011 06:00:53 +0100
>>
>> > gcc compiler is smart enough to use a single load/store if we
>> > memcpy(dptr, sptr, 8) on x86_64, regardless of
>> > CONFIG_CC_OPTIMIZE_FOR_SIZE
>> >
>> > In IP header, daddr immediately follows saddr, this wont change in the
>> > future. We only need to make sure our flowi4 (saddr,daddr) fields wont
>> > break the rule.
>> >
>> > Signed-off-by: Eric Dumazet <eric.dumazet@...il.com>
>>
>> Hmmm, this triggers a strange new build warning:
>>
>> net/dccp/ipv4.c: In function ‘dccp_v4_route_skb’:
>> net/dccp/ipv4.c:481:3: warning: initialized field with side-effects overwritten [enabled by default]
>> net/dccp/ipv4.c:481:3: warning: (near initialization for ‘fl4’) [enabled by default]
>
> Hmm, seems a compiler bug, since following fixes the warning ?
I stared at this for some time and I couldn't figure out even what GCC might
be thinking. I wondered if, for example, the WARN_ON() in the skb_dst()
implementation was part of the issue. Since that ends up calling functions.
Anyways, I applied the "iph" thing first, then your 64bit load/store change
afterwards.
Thanks.
Powered by blists - more mailing lists