Re: [PATCH net-next 01/12] switchdev: mrp: Extend switchdev API for MRP Interconnect
From: David Miller
Date: Mon Jul 06 2020 - 15:26:29 EST
From: Horatiu Vultur <horatiu.vultur@xxxxxxxxxxxxx>
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.