> -----Original Message----- > From: Vitaly Kuznetsov [mailto:vkuzn...@redhat.com] > Sent: Tuesday, November 24, 2015 12:48 AM > To: KY Srinivasan <k...@microsoft.com> > Cc: da...@davemloft.net; net...@vger.kernel.org; linux- > ker...@vger.kernel.org; de...@linuxdriverproject.org; o...@aepfle.de; > a...@canonical.com; jasow...@redhat.com > Subject: Re: [PATCH net-next 01/10] hv_netvsc: Resize some of the variables > in hv_netvsc_packet > > "K. Y. Srinivasan" <k...@microsoft.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 <k...@microsoft.com> > > Reviewed-by: Haiyang Zhang <haiya...@microsoft.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 _______________________________________________ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel