lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 26 Sep 2018 13:52:33 +0100
From:   Stephen Hemminger <stephen@...workplumber.org>
To:     Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
Cc:     netdev@...r.kernel.org, roopa@...ulusnetworks.com,
        davem@...emloft.net, bridge@...ts.linux-foundation.org
Subject: Re: [PATCH net-next 0/9] net: bridge: convert bool options to bits

On Wed, 26 Sep 2018 15:17:53 +0300
Nikolay Aleksandrov <nikolay@...ulusnetworks.com> wrote:

> Hi,
> A lot of boolean bridge options have been added around the net_bridge
> structure resulting in holes and more importantly different cache lines
> that need to be fetched in the fast path. This set moves all of those
> to bits in a bitfield which resides in a hot cache line thus reducing
> the size of net_bridge, the number of holes and the number of cache
> lines needed for the fast path.
> The set is also sent in preparation for new boolean options to avoid
> spreading them in the structure and making new holes.
> One nice side-effect is that we avoid potential race conditions by using
> the bitops since some of the options were bits being directly set in
> parallel risking hard to debug issues (has_ipv6_addr).
> 
> Before:
>  size: 1184, holes: 8, sum holes: 30
> After:
>  size: 1160, holes: 2, sum holes: 3
> 
> Patch 01 is a trivial style fix
> Patch 02 adds the new options bitfield and converts the vlan boolean
>          options to bits
> Patches 03-08 convert the rest of the boolean options to bits
> Patch 09 re-arranges a few fields in net_bridge to avoid fetching one
>          extra cache line in fast path and to further reduce size
> 
> Thanks,
>  Nik
> 
> 
> Nikolay Aleksandrov (9):
>   net: bridge: make struct opening bracket consistent
>   net: bridge: add bitfield for options and convert vlan opts
>   net: bridge: convert nf call options to bits
>   net: bridge: convert group_addr_set option to a bit
>   net: bridge: convert and rename mcast disabled
>   net: bridge: convert mcast options to bits
>   net: bridge: convert neigh_suppress_enabled option to a bit
>   net: bridge: convert mtu_set_by_user to a bit
>   net: bridge: pack net_bridge better
> 
>  net/bridge/br.c                 | 16 +++++++++
>  net/bridge/br_arp_nd_proxy.c    | 13 +++++---
>  net/bridge/br_device.c          |  6 ++--
>  net/bridge/br_if.c              |  4 +--
>  net/bridge/br_input.c           |  2 +-
>  net/bridge/br_mdb.c             |  6 ++--
>  net/bridge/br_multicast.c       | 54 +++++++++++++++---------------
>  net/bridge/br_netfilter_hooks.c |  7 ++--
>  net/bridge/br_netlink.c         | 31 +++++++++--------
>  net/bridge/br_private.h         | 74 +++++++++++++++++++++++------------------
>  net/bridge/br_sysfs_br.c        | 32 +++++++++---------
>  net/bridge/br_vlan.c            | 30 +++++++++--------
>  12 files changed, 155 insertions(+), 120 deletions(-)
> 

Looks good, these flags grew over time and cleanup was overdue.

Reviewed-by: Stephen Hemminger <stephen@...workplumber.org>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ