On Wed, Mar 4, 2020 at 3:04 PM Greg Rose <[email protected]> wrote: > > From: Johannes Berg <[email protected]> > > Upstream commit: > commit 3b0f31f2b8c9fb348e4530b88f6b64f9621f83d6 > Author: Johannes Berg <[email protected]> > Date: Thu Mar 21 22:51:02 2019 +0100 > > genetlink: make policy common to family > > Since maxattr is common, the policy can't really differ sanely, > so make it common as well. > > The only user that did in fact manage to make a non-common policy > is taskstats, which has to be really careful about it (since it's > still using a common maxattr!). This is no longer supported, but > we can fake it using pre_doit. > > This reduces the size of e.g. nl80211.o (which has lots of commands): > > text data bss dec hex filename > 398745 14323 2240 415308 6564c net/wireless/nl80211.o > (before) > 397913 14331 2240 414484 65314 net/wireless/nl80211.o (after) > -------------------------------- > -832 +8 0 -824 > > Which is obviously just 8 bytes for each command, and an added 8 > bytes for the new policy pointer. I'm not sure why the ops list is > counted as .text though. > > Most of the code transformations were done using the following spatch: > @ops@ > identifier OPS; > expression POLICY; > @@ > struct genl_ops OPS[] = { > ..., > { > - .policy = POLICY, > }, > ... > }; > > @@ > identifier ops.OPS; > expression ops.POLICY; > identifier fam; > expression M; > @@ > struct genl_family fam = { > .ops = OPS, > .maxattr = M, > + .policy = POLICY, > ... > }; > > This also gets rid of devlink_nl_cmd_region_read_dumpit() accessing > the cb->data as ops, which we want to change in a later genl patch. > > Signed-off-by: Johannes Berg <[email protected]> > Signed-off-by: David S. Miller <[email protected]> > > Since commit 3b0f31f2b8c9f ("genetlink: make policy common to family") > the policy field of the genl_ops structure has been moved into the > genl_family structure. Add necessary compat layer infrastructure > to still support older kernels. > > Signed-off-by: Greg Rose <[email protected]> > --- > V3 - Add policy back to genl_family instead of completely removing > it. > ---
Thanks for the patch. LGTM. Acked-by: Yi-Hung Wei <[email protected]> _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
