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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Vitaly Kuznetsov [mailto:vkuznets@xxxxxxxxxx]
> Sent: Tuesday, November 24, 2015 12:48 AM
> To: KY Srinivasan <kys@xxxxxxxxxxxxx>
> Cc: davem@xxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxxxx; olaf@xxxxxxxxx;
> apw@xxxxxxxxxxxxx; jasowang@xxxxxxxxxx
> Subject: Re: [PATCH net-next 01/10] hv_netvsc: Resize some of the variables
> in hv_netvsc_packet
> 
> "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.

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
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux