>> subfacet_make_actions() was previously used such that it composed its >> actions into an on-stack buffer, then made a copy of that buffer into >> an exact-sized dynamically allocated buffer. Now, it uses a 0-sized >> dynamically allocated buffer. I think this will cause multiple >> realloc() calls and generally end up with a bigger dynamically >> allocated buffer in the common case.
I went ahead and used a stub in subfacet_make_actions(). In the common case, we'll endup doing an xmemdup() of the appropriate size. If the subfacet has more then 1k of actions, we may end up wasting some unbuffered space (which seems reasonable to me). > There's still a comment on enum slow_path_reason that mentions > SLOW_IN_BAND. Plus, now that all the slow path reasons are mutually > exclusive, we could change it from a bitmap to just a number. I've added this as an additional patch in v3 of the series (which I'll be sending out shortly. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev