[Intel-wired-lan] [PATCH v4 net-next 5/5] ice: switch: convert packet template match code to rodata

Penigalapati, Sandeep sandeep.penigalapati at intel.com
Fri Mar 25 10:26:18 UTC 2022


>-----Original Message-----
>From: Intel-wired-lan <intel-wired-lan-bounces at osuosl.org> On Behalf Of
>Alexander Lobakin
>Sent: Monday, March 21, 2022 4:30 PM
>To: intel-wired-lan at lists.osuosl.org
>Cc: Szapar-Mudlaw, Martyna <martyna.szapar-mudlaw at intel.com>;
>netdev at vger.kernel.org; linux-kernel at vger.kernel.org; Jakub Kicinski
><kuba at kernel.org>; Paolo Abeni <pabeni at redhat.com>; David S. Miller
><davem at davemloft.net>
>Subject: [Intel-wired-lan] [PATCH v4 net-next 5/5] ice: switch: convert packet
>template match code to rodata
>
>Trade text size for rodata size and replace tons of nested if-elses to the const
>mask match based structs. The almost entire
>ice_find_dummy_packet() now becomes just one plain while-increment loop.
>The order in ice_dummy_pkt_profiles[] should be same with the if-elses order
>previously, as masks become less and less strict through the array to follow
>the original code flow.
>Apart from removing 80 locs of 4-level if-elses, it brings a solid text size
>optimization:
>
>add/remove: 0/1 grow/shrink: 1/1 up/down: 2/-1058 (-1056)
>Function                                     old     new   delta
>ice_fill_adv_dummy_packet                    289     291      +2
>ice_adv_add_update_vsi_list                  201       -    -201
>ice_add_adv_rule                            2950    2093    -857
>Total: Before=414512, After=413456, chg -0.25%
>add/remove: 53/52 grow/shrink: 0/0 up/down: 4660/-3988 (672)
>RO Data                                      old     new   delta
>ice_dummy_pkt_profiles                         -     672    +672
>Total: Before=37895, After=38567, chg +1.77%
>
>Signed-off-by: Alexander Lobakin <alexandr.lobakin at intel.com>
>Reviewed-by: Michal Swiatkowski <michal.swiatkowski at linux.intel.com>
>Tested-by: Marcin Szycik <marcin.szycik at linux.intel.com>
>---
> drivers/net/ethernet/intel/ice/ice_switch.c | 215 ++++++++++----------
> 1 file changed, 108 insertions(+), 107 deletions(-)
>
Tested-by: Sandeep Penigalapati <sandeep.penigalapati at intel.com>


More information about the Intel-wired-lan mailing list