On Jun 20, 2013, at 23:36 , ext Ben Pfaff wrote:

> On Thu, Jun 20, 2013 at 05:26:17PM +0300, Jarno Rajahalme wrote:
>> 
>> Signed-off-by: Jarno Rajahalme <jarno.rajaha...@nsn.com>
> 
> I have mixed feelings here.  On one hand, it is nice to avoid a big
> copy in some cases (rare cases really).  But on the other hand I am
> not fond of interfaces that temporarily modify data, even if they
> change it back later, and the pitfalls of such an approach are more of
> a problem as threading comes into the picture (and we are currently in
> the midst of threading OVS).
> 
> What do you think?


I'm in favor of avoiding unnecessary copying of big data items. I guess my 
uneasiness limit would be crossed by taking in a const pointer and then casting 
and modifying the data anyway. So as long as the API is honest, and there is no 
need for a function to be re-entrant on the same data, I'm OK with functions 
modifying the data they are given.  The callers use this function with private 
data in stack, so I think there is very low risk of this being a threading 
problem.

It's you call I guess :-)

  Jarno

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to