On Tue, Apr 29, 2014 at 03:01:47PM -0700, Jarno Rajahalme wrote: > > 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
That will also minimize the dependency, so it's fine with me. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev