[Bridge] [PATCH net-next 01/12] switchdev: mrp: Extend switchdev API for MRP Interconnect

David Miller davem at davemloft.net
Mon Jul 6 19:26:26 UTC 2020


From: Horatiu Vultur <horatiu.vultur at microchip.com>
Date: Mon, 6 Jul 2020 11:18:31 +0200

> +/* SWITCHDEV_OBJ_ID_IN_TEST_MRP */
> +struct switchdev_obj_in_test_mrp {
> +	struct switchdev_obj obj;
> +	/* The value is in us and a value of 0 represents to stop */
> +	u32 interval;
> +	u8 max_miss;
> +	u32 in_id;
> +	u32 period;
> +};
 ...
> +#define SWITCHDEV_OBJ_IN_TEST_MRP(OBJ) \
> +	container_of((OBJ), struct switchdev_obj_in_test_mrp, obj)
> +
> +/* SWICHDEV_OBJ_ID_IN_ROLE_MRP */
> +struct switchdev_obj_in_role_mrp {
> +	struct switchdev_obj obj;
> +	u16 in_id;
> +	u32 ring_id;
> +	u8 in_role;
> +	struct net_device *i_port;
> +};
 ...
> +#define SWITCHDEV_OBJ_IN_ROLE_MRP(OBJ) \
> +	container_of((OBJ), struct switchdev_obj_in_role_mrp, obj)
> +
> +struct switchdev_obj_in_state_mrp {
> +	struct switchdev_obj obj;
> +	u8 in_state;
> +	u32 in_id;
> +};

Please arrange these structure members in a more optimal order so that
the resulting object is denser.  For example, in switchdev_obj_in_role_mrp
if you order it such that:

> +	u32 ring_id;
> +	u16 in_id;
> +	u8 in_role;

You'll have less wasted space from padding.

Use 'pahole' or similar tools to guide you.


More information about the Bridge mailing list