On Apr 29, 2014, at 2:55 PM, Jarno Rajahalme <jrajaha...@nicira.com> wrote:
> > On Apr 24, 2014, at 9:18 AM, Ben Pfaff <b...@nicira.com> wrote: > >> On Thu, Apr 24, 2014 at 09:09:03AM -0700, Jarno Rajahalme wrote: >>> rule_dpif_is_internal is among the top ten OVS internal functions in >>> recent perf reports. Inline it and some other equally trivial >>> functions. >>> >>> This change removes rule_is_internal(), since the fact that a table is >>> an internal one is defined within ofproto-dpif, not ofproto. >>> >>> Signed-off-by: Jarno Rajahalme <jrajaha...@nicira.com> >> >> I'd prefer to have this assumption that struct rule_dpif begins with >> struct rule in just one place, if we can. In fact, it looks like you >> had the same idea, but didn't follow through: >> >> /* rule_cast() depends on this. */ >> BUILD_ASSERT_DECL(offsetof(struct rule_dpif, up) == 0); >> > > You are right, I went back and forth with this. I’ll check this a > rule_cast__() inline used for all the casting. > I changed my mind a bit. I’d like to use a macro (RULE_CAST(RULE)) instead, so that I can undef it right after the inlines. This way the rest of the code can’t start depending on the offset of struct rule within the struct rule_dpif by accident. Jarno >> Otherwise I'm happy with this, thanks! > > Thanks! > > Jarno > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev