From: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
To: Parav.Pandit-iH1Dq9VlAzfQT0dZR+AlfA@public.gmane.org
Cc: David.Laight-ZS65k/vG3HxXrIkS9f7CXA@public.gmane.org,
roland-BHEL68pLQRGGvPXPguhicg@public.gmane.org,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 2/9] ocrdma: Driver for Emulex OneConnect RDMA adapter
Date: Fri, 23 Mar 2012 10:54:14 -0600 [thread overview]
Message-ID: <20120323165414.GA15260@obsidianresearch.com> (raw)
In-Reply-To: <88B766C272F2C64B944B21AD078333151C964A67E0-/SwythR3zqxVRK6PHKByhFaTQe2KTcn/@public.gmane.org>
On Fri, Mar 23, 2012 at 07:03:37AM -0700, Parav.Pandit-iH1Dq9VlAzfQT0dZR+AlfA@public.gmane.org wrote:
> > David is saying you will get a 12 byte struct and fieldb will be unaligned. Since
> > 12 is aligned to 4 no padding is added.
>
> So I decided to experiment above example before implementing in
> driver. However I find structure of 16 bytes (instead of 12) with
> padding after fielda in below example. Am I missing some compiler
> option or syntax error in attribute? Sorry to ask this silly
> question. I tried __attribute__((__aligned__(4))); too based on
> usage in other kernel code.
I got the syntax wrong for that specific case (it is a little
unintuitive.. IMHO, capping the alignment of a container should cap
the alignment of all members, otherwise it is nonsense!):
typedef uint64_t u64_unaligned_8 __attribute__((__aligned__(4)));
struct foo {
uint32_t fielda;
u64_unaligned_8 fieldb;
};
struct foo2 {
uint32_t fielda;
uint64_t fieldb;
};
int main(int argc,const char *argv[])
{
printf("sizeof(foo) = %zu, fieldb = %zu\n",sizeof(struct foo),
offsetof(struct foo,fieldb));
printf("sizeof(foo2) = %zu, fieldb = %zu\n",sizeof(struct foo2),
offsetof(struct foo2,fieldb));
return 0;
}
sizeof(foo) = 12, fieldb = 4
sizeof(foo2) = 16, fieldb = 8
gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3)
Jason
--
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:[~2012-03-23 16:54 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1332283154-16369-1-git-send-email-parav.pandit@emulex.com>
[not found] ` <1332283154-16369-2-git-send-email-parav.pandit@emulex.com>
[not found] ` <24c5b654-d6a5-418d-8187-fba4ad47a3ce@exht1.ad.emulex.com>
[not found] ` <24c5b654-d6a5-418d-8187-fba4ad47a3ce-nbYkmrCdWxmgMrCBcu8zE0EOCMrvLtNR@public.gmane.org>
2012-03-21 16:20 ` [PATCH 2/9] ocrdma: Driver for Emulex OneConnect RDMA adapter Roland Dreier
[not found] ` <CAL1RGDVxCE--P78bk0Me5o+ekSzgBYG0UJT6y3O7cK3mUGBjuQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-03-21 16:31 ` David Laight
[not found] ` <AE90C24D6B3A694183C094C60CF0A2F6026B6EB4-CgBM+Bx2aUAnGFn1LkZF6NBPR1lH4CV8@public.gmane.org>
2012-03-22 20:52 ` Parav.Pandit-iH1Dq9VlAzfQT0dZR+AlfA
[not found] ` <88B766C272F2C64B944B21AD078333151C964A66EF-/SwythR3zqxVRK6PHKByhFaTQe2KTcn/@public.gmane.org>
2012-03-22 20:58 ` Jason Gunthorpe
[not found] ` <20120322205824.GC9614-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2012-03-22 21:10 ` Parav.Pandit-iH1Dq9VlAzfQT0dZR+AlfA
[not found] ` <88B766C272F2C64B944B21AD078333151C964A670B-/SwythR3zqxVRK6PHKByhFaTQe2KTcn/@public.gmane.org>
2012-03-22 21:20 ` Parav.Pandit-iH1Dq9VlAzfQT0dZR+AlfA
[not found] ` <3ae9829d-f8dd-4268-918a-94616eff0915-nbYkmrCdWxmgMrCBcu8zE0EOCMrvLtNR@public.gmane.org>
2012-03-22 22:44 ` Jason Gunthorpe
[not found] ` <20120322224429.GA12980-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2012-03-22 23:45 ` Roland Dreier
2012-03-23 9:41 ` David Laight
2012-03-23 14:03 ` Parav.Pandit-iH1Dq9VlAzfQT0dZR+AlfA
[not found] ` <88B766C272F2C64B944B21AD078333151C964A67E0-/SwythR3zqxVRK6PHKByhFaTQe2KTcn/@public.gmane.org>
2012-03-23 16:54 ` Jason Gunthorpe [this message]
[not found] ` <20120323165414.GA15260-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2012-03-23 19:16 ` Parav.Pandit-iH1Dq9VlAzfQT0dZR+AlfA
2012-03-21 19:02 ` Parav.Pandit-iH1Dq9VlAzfQT0dZR+AlfA
[not found] ` <1332283154-16369-3-git-send-email-parav.pandit@emulex.com>
[not found] ` <339d9e05-38fd-45b1-83ed-f06277bd1326@exht1.ad.emulex.com>
[not found] ` <339d9e05-38fd-45b1-83ed-f06277bd1326-nbYkmrCdWxmgMrCBcu8zE0EOCMrvLtNR@public.gmane.org>
2012-03-21 16:26 ` [PATCH 3/9] " Roland Dreier
[not found] ` <CAL1RGDWnc478=ToFQEC51Usn6LLZgLen=CymFZ0C0GnRp9BAsw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-03-21 16:33 ` David Laight
2012-03-21 19:04 ` Parav.Pandit-iH1Dq9VlAzfQT0dZR+AlfA
[not found] ` <88B766C272F2C64B944B21AD078333151C964A63F1-/SwythR3zqxVRK6PHKByhFaTQe2KTcn/@public.gmane.org>
2012-03-21 19:33 ` Roland Dreier
[not found] ` <CAL1RGDWmz4Yr8mqWMywN9X+refDEJ4W=ieBvOtZZc32qMDA5_w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-03-21 20:54 ` Jason Gunthorpe
[not found] ` <1332283154-16369-4-git-send-email-parav.pandit@emulex.com>
[not found] ` <a5e59a7c-d6ff-4c78-89a7-fad7492260b0@exht1.ad.emulex.com>
[not found] ` <a5e59a7c-d6ff-4c78-89a7-fad7492260b0-nbYkmrCdWxmgMrCBcu8zE0EOCMrvLtNR@public.gmane.org>
2012-03-21 16:34 ` [PATCH 4/9] " Roland Dreier
2012-03-21 19:09 ` Parav.Pandit
[not found] ` <88B766C272F2C64B944B21AD078333151C964A63FB-/SwythR3zqxVRK6PHKByhFaTQe2KTcn/@public.gmane.org>
2012-03-21 19:31 ` Roland Dreier
[not found] ` <CAL1RGDWrwP3mY2=W42_c5wpefzqx_BnXhnwfy2fPrP=12hrBOw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-03-21 19:46 ` Parav.Pandit-iH1Dq9VlAzfQT0dZR+AlfA
[not found] ` <1332283154-16369-5-git-send-email-parav.pandit@emulex.com>
[not found] ` <1332283154-16369-6-git-send-email-parav.pandit@emulex.com>
[not found] ` <5abe3043-81f8-448a-9e55-b29e23f4eb9a@exht1.ad.emulex.com>
[not found] ` <5abe3043-81f8-448a-9e55-b29e23f4eb9a-nbYkmrCdWxmgMrCBcu8zE0EOCMrvLtNR@public.gmane.org>
2012-03-21 16:42 ` [PATCH 6/9] " Roland Dreier
2012-03-21 19:10 ` Parav.Pandit-iH1Dq9VlAzfQT0dZR+AlfA
[not found] ` <3f46a051-ee2e-4e18-becf-60f6c023c3c6@exht1.ad.emulex.com>
[not found] ` <3f46a051-ee2e-4e18-becf-60f6c023c3c6-nbYkmrCdWxmgMrCBcu8zE0EOCMrvLtNR@public.gmane.org>
2012-03-21 16:14 ` [PATCH 1/9] " Roland Dreier
2012-03-21 18:58 ` Parav.Pandit
2012-03-21 16:45 ` Roland Dreier
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=20120323165414.GA15260@obsidianresearch.com \
--to=jgunthorpe-epgobjl8dl3ta4ec/59zmfatqe2ktcn/@public.gmane.org \
--cc=David.Laight-ZS65k/vG3HxXrIkS9f7CXA@public.gmane.org \
--cc=Parav.Pandit-iH1Dq9VlAzfQT0dZR+AlfA@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=roland-BHEL68pLQRGGvPXPguhicg@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).