[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20140426.000451.2200416383822191927.davem@davemloft.net>
Date: Sat, 26 Apr 2014 00:04:51 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: hannes@...essinduktion.org
Cc: David.Laight@...LAB.COM, lorenzo@...gle.com,
netdev@...r.kernel.org, yoshfuji@...ux-ipv6.org,
eric.dumazet@...il.com
Subject: Re: [PATCH net-next v5 1/3] net: ipv6: Unduplicate
{raw,udp}v6_sendmsg code
From: Hannes Frederic Sowa <hannes@...essinduktion.org>
Date: Fri, 25 Apr 2014 23:26:42 +0200
> On Fri, Apr 25, 2014 at 01:33:03PM -0400, David Miller wrote:
>> From: Hannes Frederic Sowa <hannes@...essinduktion.org>
>> Date: Fri, 25 Apr 2014 19:19:09 +0200
>>
>> > Maybe we can put all those hlimit, tclass, dontfrag vars into a struct
>> > and just pass one pointer.
>>
>> It's still an unnecessary memory dereference.
>
> True, true.
>
>> The compiler can potentially optimize the accesses to those variables
>> into a local register with the existing code, with this consolidation
>> it no longer can.
>
> We could hack up the function in a local header file in net/ipv6 and
> __always_inline it. If the resulting assembly looks good would this
> be acceptable for you? Maybe we could switch to something like struct
> ipv6_output_opts where we gather all those state variables common to
> the code paths.
I think the consolidation attempts seen so far generally look like
crap because we haven't found the right abstraction yet.
Once a good fit is found I don't think there will be any reason for
me to consider the result ugly.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists