[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <41b516cb0809101851p79f73499vbd10dec4f6bdeccb@mail.gmail.com>
Date: Wed, 10 Sep 2008 18:51:37 -0700
From: "Chris Leech" <christopher.leech@...el.com>
To: "Boaz Harrosh" <bharrosh@...asas.com>
Cc: "Dave Kleikamp" <shaggy@...ux.vnet.ibm.com>,
"Christoph Hellwig" <hch@...radead.org>,
jfs-discussion@...ts.sourceforge.net, linux-kernel@...r.kernel.org,
linux-scsi@...r.kernel.org, devel@...n-fcoe.org
Subject: Re: [PATCH 1/3] 24-bit types: typedef and macros for accessing 3-byte arrays as integers
On Wed, Sep 10, 2008 at 9:11 AM, Boaz Harrosh <bharrosh@...asas.com> wrote:
> Chris you might want to change the definitions at linux/types.h
> to:
>
> typedef struct { __u8 b[3]; } __be24, __le24 __packed;
>
> With gcc it will not help with the proceeding fields, and the
> containing struct will need it's own "__packed" declaration
> but it will keep it packed with previous fields.
I haven't seen padding added simply because of a nested structure
boundary, but I'm not up on all the ABIs for the different
architectures. Obviously a containing structure would want to have
the 24-bit type adjacent to an 8-bit type, or have it's own packed
attribute if needed.
It shouldn't hurt, in this case the members shouldn't be expected to
have more than byte alignment anyway, but I can't see how it would
help.
If there's a particular arch that might be a problem I'm happy to look
into it, but I don't want to start throwing packed attributes around
just in case.
Chris
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists