By reordering the elements in dp_netdev_port structure, pad bytes can be reduced there by saving a cache line. Marginal performance improvement is also observed with this change.
Before: structure size: 136, holes: 7, sum padbytes:7, cachelines:3 After : structure size: 128, holes: 6, sum padbytes:0, cachelines:2 Signed-off-by: Bhanuprakash Bodireddy <[email protected]> --- lib/dpif-netdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 47a9fa0..fb5d612 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -351,17 +351,17 @@ struct dp_netdev_rxq { /* A port in a netdev-based datapath. */ struct dp_netdev_port { odp_port_t port_no; + bool dynamic_txqs; /* If true XPS will be used. */ + bool need_reconfigure; /* True if we should reconfigure netdev. */ struct netdev *netdev; struct hmap_node node; /* Node in dp_netdev's 'ports'. */ struct netdev_saved_flags *sf; struct dp_netdev_rxq *rxqs; unsigned n_rxq; /* Number of elements in 'rxqs' */ - bool dynamic_txqs; /* If true XPS will be used. */ unsigned *txq_used; /* Number of threads that use each tx queue. */ struct ovs_mutex txq_used_mutex; char *type; /* Port type as requested by user. */ char *rxq_affinity_list; /* Requested affinity of rx queues. */ - bool need_reconfigure; /* True if we should reconfigure netdev. */ }; /* Contained by struct dp_netdev_flow's 'stats' member. */ -- 2.4.11 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
