From: "Sanchez, Sebastian" <sebastian.sanchez-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
"Dalessandro,
Dennis"
<dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: "dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org"
<dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
"linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"Marciniszyn,
Mike" <mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Subject: RE: [PATCH for-next 2/9] IB/hfi1: Optimize cachelines for user SDMA request structure
Date: Tue, 30 May 2017 17:55:20 +0000 [thread overview]
Message-ID: <5CDA63463B33C94CA80846587415F0770408CAF7@ORSMSX111.amr.corp.intel.com> (raw)
In-Reply-To: <20170529161657.GC17751-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
>Out of curiosity, do you have pahole data before vs. after to share?
Yes, below is the pahole output for this patch.
Sebastian
---------
Before:
struct user_sdma_request {
struct sdma_req_info info; /* 0 8 */
struct hfi1_user_sdma_pkt_q * pq; /* 8 8 */
struct hfi1_user_sdma_comp_q * cq; /* 16 8 */
struct hfi1_pkt_header hdr; /* 24 64 */
/* --- cacheline 1 boundary (64 bytes) was 24 bytes ago --- */
struct sdma_engine * sde; /* 88 8 */
s8 ahg_idx; /* 96 1 */
/* XXX 3 bytes hole, try to pack */
u32 ahg[9]; /* 100 36 */
/* --- cacheline 2 boundary (128 bytes) was 8 bytes ago --- */
u32 koffset; /* 136 4 */
u32 tidoffset; /* 140 4 */
unsigned int data_iovs; /* 144 4 */
u32 data_len; /* 148 4 */
unsigned int iov_idx; /* 152 4 */
/* XXX 4 bytes hole, try to pack */
struct user_sdma_iovec iovs[8]; /* 160 512 */
/* --- cacheline 10 boundary (640 bytes) was 32 bytes ago --- */
u16 n_tids; /* 672 2 */
/* XXX 6 bytes hole, try to pack */
u32 * tids; /* 680 8 */
u16 tididx; /* 688 2 */
/* XXX 2 bytes hole, try to pack */
u32 sent; /* 692 4 */
u64 seqnum; /* 696 8 */
/* --- cacheline 11 boundary (704 bytes) --- */
u64 seqcomp; /* 704 8 */
u64 seqsubmitted; /* 712 8 */
struct list_head txps; /* 720 16 */
long unsigned int flags; /* 736 8 */
int status; /* 744 4 */
/* size: 752, cachelines: 12, members: 23 */
/* sum members: 733, holes: 4, sum holes: 15 */
/* padding: 4 */
/* last cacheline: 48 bytes */
};
After:
struct user_sdma_request {
struct hfi1_pkt_header hdr; /* 0 64 */
/* --- cacheline 1 boundary (64 bytes) --- */
struct hfi1_user_sdma_pkt_q * pq; /* 64 8 */
struct hfi1_user_sdma_comp_q * cq; /* 72 8 */
struct sdma_engine * sde; /* 80 8 */
struct sdma_req_info info; /* 88 8 */
u32 * tids; /* 96 8 */
u32 data_len; /* 104 4 */
u16 n_tids; /* 108 2 */
u8 data_iovs; /* 110 1 */
s8 ahg_idx; /* 111 1 */
/* XXX 16 bytes hole, try to pack */
/* --- cacheline 2 boundary (128 bytes) --- */
u64 seqcomp; /* 128 8 */
u64 seqsubmitted; /* 136 8 */
long unsigned int flags; /* 144 8 */
int status; /* 152 4 */
/* XXX 36 bytes hole, try to pack */
/* --- cacheline 3 boundary (192 bytes) --- */
struct list_head txps; /* 192 16 */
u64 seqnum; /* 208 8 */
u32 tidoffset; /* 216 4 */
u32 koffset; /* 220 4 */
u32 sent; /* 224 4 */
u16 tididx; /* 228 2 */
u8 iov_idx; /* 230 1 */
/* XXX 1 byte hole, try to pack */
struct user_sdma_iovec iovs[8]; /* 232 512 */
/* --- cacheline 11 boundary (704 bytes) was 40 bytes ago --- */
/* size: 768, cachelines: 12, members: 22 */
/* sum members: 691, holes: 3, sum holes: 53 */
/* padding: 24 */
};
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2017-05-30 17:55 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-26 12:35 [PATCH for-next 0/9] IB/core, hfi1, rdmavt: patches for next 05/19/2017 Dennis Dalessandro
[not found] ` <20170526123257.8158.23943.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-05-26 12:35 ` [PATCH for-next 1/9] IB/hfi1: Don't remove RB entry when not needed Dennis Dalessandro
2017-05-26 12:35 ` [PATCH for-next 2/9] IB/hfi1: Optimize cachelines for user SDMA request structure Dennis Dalessandro
[not found] ` <20170526123517.8158.80658.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-05-29 16:16 ` Leon Romanovsky
[not found] ` <20170529161657.GC17751-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-05-30 17:55 ` Sanchez, Sebastian [this message]
[not found] ` <5CDA63463B33C94CA80846587415F0770408CAF7-8oqHQFITsIGkrb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2017-05-31 4:08 ` Leon Romanovsky
2017-05-26 12:35 ` [PATCH for-next 3/9] IB/hfi1: Name function prototype parameters for affinity module Dennis Dalessandro
2017-05-26 12:35 ` [PATCH for-next 4/9] IB/hfi1: Replace deprecated pci functions with new API Dennis Dalessandro
2017-05-26 12:35 ` [PATCH for-next 5/9] IB/core, rdmavt, hfi1: Send OPA cap_mask3 in trap Dennis Dalessandro
[not found] ` <20170526123536.8158.237.stgit-9QXIwq+3FY+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-05-29 16:14 ` Leon Romanovsky
[not found] ` <20170529161407.GB17751-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-05-30 18:32 ` Henry, Michael N
[not found] ` <2fc7a7d6-9ba3-2365-45e3-946f56827dd9-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-05-31 4:32 ` Leon Romanovsky
[not found] ` <20170531043235.GH5406-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-05-31 17:58 ` Vishwanathapura, Niranjana
[not found] ` <20170531175821.GA29853-wPcXA7LoDC+1XWohqUldA0EOCMrvLtNR@public.gmane.org>
2017-06-01 5:55 ` Leon Romanovsky
[not found] ` <20170601055542.GQ5406-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-06-02 0:09 ` Vishwanathapura, Niranjana
2017-05-26 12:35 ` [PATCH for-next 6/9] IB/hfi1: Remove atomic SDMA_REQ_SEND_DONE bit operation Dennis Dalessandro
2017-05-26 12:35 ` [PATCH for-next 7/9] IB/hfi1: Remove atomic SDMA_REQ_HAS_ERROR " Dennis Dalessandro
2017-05-26 12:35 ` [PATCH for-next 8/9] IB/hfi1: Reclassify type of messages printed for platform config logic Dennis Dalessandro
2017-05-26 12:36 ` [PATCH for-next 9/9] IB/hfi1: Fix up sdma_init function comment Dennis Dalessandro
2017-06-27 21:00 ` [PATCH for-next 0/9] IB/core, hfi1, rdmavt: patches for next 05/19/2017 Doug Ledford
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5CDA63463B33C94CA80846587415F0770408CAF7@ORSMSX111.amr.corp.intel.com \
--to=sebastian.sanchez-ral2jqcrhueavxtiumwx3w@public.gmane.org \
--cc=dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.