From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752881AbbK1SsO (ORCPT ); Sat, 28 Nov 2015 13:48:14 -0500 Received: from p3plsmtps2ded03.prod.phx3.secureserver.net ([208.109.80.60]:42921 "EHLO p3plsmtps2ded03.prod.phx3.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752489AbbK1SsL (ORCPT ); Sat, 28 Nov 2015 13:48:11 -0500 x-originating-ip: 72.167.245.219 From: "K. Y. Srinivasan" To: davem@davemloft.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, devel@linuxdriverproject.org, olaf@aepfle.de, apw@canonical.com, jasowang@redhat.com Cc: "K. Y. Srinivasan" Subject: [PATCH net-next V2 02/17] hv_netvsc: Rearrange the hv_negtvsc_packet to be space efficient Date: Sat, 28 Nov 2015 12:20:30 -0800 Message-Id: <1448742045-22732-2-git-send-email-kys@microsoft.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1448742045-22732-1-git-send-email-kys@microsoft.com> References: <1448742017-22693-1-git-send-email-kys@microsoft.com> <1448742045-22732-1-git-send-email-kys@microsoft.com> X-CMAE-Envelope: MS4wfCLuN0ZEnC9ejSBBIKUEctIPIxavr1SNDa7SEAlWFLqabqBBtz9xhkIbwsChOHEwDhhXp7qEkJGNLe/yi3VmtxzBEAU85TU6+keefaEwc8oiOrEI/NIJ SCsbkNP60TrAy7OV0xEK+gv1OJZjZ/8N5nmuqF0gAcdNXgHBCdwW2VS20jUJSF6YennPbCMFM+ONsn0BvxhgHHwqI79n7AbxKqPk9EDDGxMn1pZ+Or4Wy7Uf FARw1JuhStrc5H3HeSwHmvXlDb7k8joyksla7R31dbvXrKwy0+akQdRozJ1hb5+1CbTPdnZPF6lb3qWylWVxiq7EcOqOGbrwLz4PV9NWC8RPNfWV/mIvPELQ PpineZT/lvb3B97fKmiVOebwD7FmiHCslIfKz+DnRX/oidI3LMUCyWY21Yx4Cn07Mcri09yp Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Rearrange the elements of struct hv_negtvsc_packet for optimal layout - eliminate unnecessary padding. Signed-off-by: K. Y. Srinivasan Reviewed-by: Haiyang Zhang --- drivers/net/hyperv/hyperv_net.h | 18 ++++++++++-------- 1 files changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h index 972e562..7435673 100644 --- a/drivers/net/hyperv/hyperv_net.h +++ b/drivers/net/hyperv/hyperv_net.h @@ -128,32 +128,34 @@ struct ndis_tcp_ip_checksum_info; struct hv_netvsc_packet { /* Bookkeeping stuff */ u8 status; - u8 is_data_pkt; u8 xmit_more; /* from skb */ u8 cp_partial; /* partial copy into send buffer */ - u16 vlan_tci; + u8 rmsg_size; /* RNDIS header and PPI size */ + u8 rmsg_pgcnt; /* page count of RNDIS header and PPI */ + u8 page_buf_cnt; + u8 pad0; + u16 vlan_tci; u16 q_idx; + u32 send_buf_index; + + u32 total_data_buflen; + u32 pad1; + struct vmbus_channel *channel; u64 send_completion_tid; void *send_completion_ctx; void (*send_completion)(void *context); - u32 send_buf_index; /* This points to the memory after page_buf */ struct rndis_message *rndis_msg; - 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; - u8 page_buf_cnt; struct hv_page_buffer *page_buf; }; -- 1.7.4.1