Re: [PATCH net-next 01/10] hv_netvsc: Resize some of the variables in hv_netvsc_packet

From: Vitaly Kuznetsov
Date: Tue Nov 24 2015 - 03:48:20 EST


"K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> writes:

> As part of reducing the size of the hv_netvsc_packet, resize some of the
> variables based on their usage.
>
> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
> Reviewed-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
> ---
> drivers/net/hyperv/hyperv_net.h | 14 +++++++-------
> 1 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h
> index 5fa98f5..972e562 100644
> --- a/drivers/net/hyperv/hyperv_net.h
> +++ b/drivers/net/hyperv/hyperv_net.h
> @@ -127,11 +127,11 @@ struct ndis_tcp_ip_checksum_info;
> */
> struct hv_netvsc_packet {
> /* Bookkeeping stuff */
> - u32 status;
> + u8 status;
>
> - bool is_data_pkt;
> - bool xmit_more; /* from skb */
> - bool cp_partial; /* partial copy into send buffer */
> + u8 is_data_pkt;
> + u8 xmit_more; /* from skb */
> + u8 cp_partial; /* partial copy into send buffer */

These are flags so we can make them bitfields and save even more space.

>
> u16 vlan_tci;
>
> @@ -147,13 +147,13 @@ struct hv_netvsc_packet {
> /* This points to the memory after page_buf */
> struct rndis_message *rndis_msg;
>
> - u32 rmsg_size; /* RNDIS header and PPI size */
> - u32 rmsg_pgcnt; /* page count of RNDIS header and PPI */
> + u8 rmsg_size; /* RNDIS header and PPI size */
> + u8 rmsg_pgcnt; /* page count of RNDIS header and PPI */
>
> u32 total_data_buflen;
> /* Points to the send/receive buffer where the ethernet frame is */
> void *data;
> - u32 page_buf_cnt;
> + u8 page_buf_cnt;
> struct hv_page_buffer *page_buf;
> };

--
Vitaly
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/