Fri, May 25, 2018 at 04:28:44PM CEST, pab...@redhat.com wrote:
>The struct Qdisc has a lot of holes, especially after commit
>a53851e2c321 ("net: sched: explicit locking in gso_cpu fallback"),
>which as a side effect, moved the fields just after 'busylock'
>on a new cacheline.
>
>Since both 'padded' and 'refcnt' are not updated frequently, and
>there is a hole before 'gso_skb', we can move such fields there,
>saving a cacheline without any performance side effect.
>
>Before this commit:
>
>pahole -C Qdisc net/sche/sch_generic.o
>       # ...
>        /* size: 384, cachelines: 6, members: 25 */
>        /* sum members: 236, holes: 3, sum holes: 92 */
>        /* padding: 56 */
>
>After this commit:
>pahole -C Qdisc net/sche/sch_generic.o
>       # ...
>       /* size: 320, cachelines: 5, members: 25 */
>       /* sum members: 236, holes: 2, sum holes: 28 */
>       /* padding: 56 */
>
>Signed-off-by: Paolo Abeni <pab...@redhat.com>

Acked-by: Jiri Pirko <j...@mellanox.com>

Reply via email to