[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <BLUPR0301MB1651ADFFF97BDAF3F5753829A0060@BLUPR0301MB1651.namprd03.prod.outlook.com>
Date: Tue, 24 Nov 2015 16:29:24 +0000
From: KY Srinivasan <kys@...rosoft.com>
To: Vitaly Kuznetsov <vkuznets@...hat.com>
CC: "davem@...emloft.net" <davem@...emloft.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"devel@...uxdriverproject.org" <devel@...uxdriverproject.org>,
"olaf@...fle.de" <olaf@...fle.de>,
"apw@...onical.com" <apw@...onical.com>,
"jasowang@...hat.com" <jasowang@...hat.com>
Subject: RE: [PATCH net-next 01/10] hv_netvsc: Resize some of the variables in
hv_netvsc_packet
> -----Original Message-----
> From: Vitaly Kuznetsov [mailto:vkuznets@...hat.com]
> Sent: Tuesday, November 24, 2015 12:48 AM
> To: KY Srinivasan <kys@...rosoft.com>
> Cc: davem@...emloft.net; netdev@...r.kernel.org; linux-
> kernel@...r.kernel.org; devel@...uxdriverproject.org; olaf@...fle.de;
> apw@...onical.com; jasowang@...hat.com
> Subject: Re: [PATCH net-next 01/10] hv_netvsc: Resize some of the variables
> in hv_netvsc_packet
>
> "K. Y. Srinivasan" <kys@...rosoft.com> 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@...rosoft.com>
> > Reviewed-by: Haiyang Zhang <haiyangz@...rosoft.com>
> > ---
> > 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.
I am not done with restructuring this structure yet. Once I get this to the bare minimum
I will look at using bitfields.
K. Y
>
> >
> > 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists