From: Vojtech Pavlik <vojtech@suse.cz>
To: "David S. Miller" <davem@redhat.com>
Cc: Scott Wood <scott@timesys.com>,
oliver@neukum.org, zaitcev@redhat.com, greg@kroah.com,
arjanv@redhat.com, jgarzik@redhat.com, tburke@redhat.com,
linux-kernel@vger.kernel.org, stern@rowland.harvard.edu,
mdharm-usb@one-eyed-alien.net, david-b@pacbell.net
Subject: Re: drivers/block/ub.c
Date: Tue, 29 Jun 2004 09:12:46 +0200 [thread overview]
Message-ID: <20040629071246.GA1206@ucw.cz> (raw)
In-Reply-To: <20040628132531.036281b0.davem@redhat.com>
On Mon, Jun 28, 2004 at 01:25:31PM -0700, David S. Miller wrote:
> On Mon, 28 Jun 2004 10:15:17 -0400
> Scott Wood <scott@timesys.com> wrote:
>
> > On Sun, Jun 27, 2004 at 02:26:28PM -0700, David S. Miller wrote:
> > > On Sun, 27 Jun 2004 12:42:21 +0200
> > > Oliver Neukum <oliver@neukum.org> wrote:
> > >
> > > > OK, then it shouldn't be used in this case. However, shouldn't we have
> > > > an attribute like __nopadding__ which does exactly that?
> > >
> > > It would have the same effect. CPU structure layout rules don't pack
> > > (or using other words, add padding) exactly in cases where it is
> > > needed to obtain the necessary alignment.
> >
> > No, it wouldn't, as you could drop the assumption that the base of
> > the struct can be misaligned. Thus, the compiler only needs to
> > generate unaligned loads and stores for fields which are unaligned
> > within the struct, which in this case would be none of them.
> >
> > While it's rather unlikely that a struct like this one would ever
> > need packing, it would help those structs that do need it by reducing
> > the number of fields subjected to unaligned loads and stores.
>
> That's true. But if one were to propose such a feature to the gcc
> guys, I know the first question they would ask. "If no padding of
> the structure is needed, why are you specifying this new
> __nopadding__ attribute?"
You may have a struct, which itself might 'need' padding somewhere
inside, however the structure start will always be aligned. Using
__nopadding__ you should be much better off than using __packed_ in this
case, because GCC can use the right aligned/nonaligned accesses for the
members of the structure, because it knows which will be aligned and
which not.
--
Vojtech Pavlik
SuSE Labs, SuSE CR
next prev parent reply other threads:[~2004-06-29 7:12 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-26 20:06 drivers/block/ub.c Pete Zaitcev
2004-06-26 20:12 ` drivers/block/ub.c Matthew Dharm
2004-06-27 2:08 ` drivers/block/ub.c Pete Zaitcev
2004-06-27 3:30 ` drivers/block/ub.c Matthew Dharm
2004-07-12 0:10 ` [usb-storage] drivers/block/ub.c Pat LaVarre
2004-06-26 20:35 ` drivers/block/ub.c Oliver Neukum
2004-06-26 21:41 ` drivers/block/ub.c David S. Miller
2004-06-26 21:56 ` drivers/block/ub.c Oliver Neukum
2004-06-26 22:07 ` drivers/block/ub.c David S. Miller
2004-06-26 22:36 ` drivers/block/ub.c Oliver Neukum
2004-06-26 23:20 ` drivers/block/ub.c David S. Miller
2004-06-27 4:31 ` drivers/block/ub.c Oliver Neukum
2004-06-27 6:34 ` drivers/block/ub.c David S. Miller
2004-06-27 10:42 ` drivers/block/ub.c Oliver Neukum
2004-06-27 21:26 ` drivers/block/ub.c David S. Miller
2004-06-28 14:15 ` drivers/block/ub.c Scott Wood
2004-06-28 20:25 ` drivers/block/ub.c David S. Miller
2004-06-28 20:48 ` drivers/block/ub.c Scott Wood
2004-06-28 20:58 ` drivers/block/ub.c David S. Miller
2004-06-28 20:50 ` drivers/block/ub.c Matthew Dharm
2004-06-28 20:59 ` drivers/block/ub.c David S. Miller
2004-06-28 21:01 ` drivers/block/ub.c Pete Zaitcev
2004-06-28 23:52 ` drivers/block/ub.c Matthew Dharm
2004-06-28 20:57 ` drivers/block/ub.c Oliver Neukum
2004-06-28 21:03 ` drivers/block/ub.c David S. Miller
2004-06-28 21:18 ` drivers/block/ub.c Scott Wood
2004-06-28 22:22 ` drivers/block/ub.c David S. Miller
2004-06-28 22:31 ` drivers/block/ub.c Scott Wood
2004-06-28 22:40 ` drivers/block/ub.c Roland Dreier
2004-06-29 1:54 ` drivers/block/ub.c Robert White
2004-06-29 2:15 ` drivers/block/ub.c David S. Miller
2004-06-29 2:49 ` drivers/block/ub.c Robert White
2004-06-29 18:31 ` drivers/block/ub.c Andy Isaacson
2004-07-05 10:01 ` drivers/block/ub.c Roman Zippel
2004-06-29 7:12 ` Vojtech Pavlik [this message]
2004-06-29 1:39 ` drivers/block/ub.c Robert White
2004-06-29 17:02 ` drivers/block/ub.c Kurt Garloff
2004-06-26 22:54 ` drivers/block/ub.c Andries Brouwer
2004-06-26 22:59 ` drivers/block/ub.c Oliver Neukum
2004-06-26 23:08 ` drivers/block/ub.c Andries Brouwer
2004-06-27 5:04 ` drivers/block/ub.c Oliver Neukum
2004-06-27 14:08 ` drivers/block/ub.c Andries Brouwer
2004-06-27 14:24 ` drivers/block/ub.c Oliver Neukum
2004-06-27 15:19 ` drivers/block/ub.c Alan Stern
2004-06-27 15:45 ` drivers/block/ub.c Andries Brouwer
2004-06-28 23:58 ` drivers/block/ub.c Jeff Garzik
2004-06-28 0:10 ` drivers/block/ub.c Pete Zaitcev
2004-06-28 16:01 ` drivers/block/ub.c Alan Stern
2004-06-27 15:23 ` drivers/block/ub.c Andries Brouwer
2004-06-27 16:11 ` drivers/block/ub.c Oliver Neukum
2004-06-26 22:46 ` drivers/block/ub.c Oliver Neukum
2004-06-27 3:52 ` drivers/block/ub.c Alan Stern
2004-06-27 4:05 ` drivers/block/ub.c Alan Stern
2004-06-27 5:02 ` drivers/block/ub.c Greg KH
2004-06-27 15:23 ` drivers/block/ub.c Alan Stern
2004-06-27 20:29 ` drivers/block/ub.c Pete Zaitcev
2004-06-27 21:03 ` drivers/block/ub.c Matthew Dharm
2004-06-28 15:40 ` drivers/block/ub.c Alan Stern
2004-06-28 16:42 ` drivers/block/ub.c Oliver Neukum
2004-06-28 19:50 ` drivers/block/ub.c Alan Stern
2004-06-27 5:35 ` drivers/block/ub.c Matthew Dharm
2004-06-27 15:28 ` drivers/block/ub.c Alan Stern
2004-06-27 22:56 ` drivers/block/ub.c David Brownell
2004-06-27 23:43 ` drivers/block/ub.c Pete Zaitcev
2004-06-28 15:05 ` drivers/block/ub.c David Brownell
2004-06-28 15:56 ` drivers/block/ub.c Alan Stern
2004-06-28 16:23 ` drivers/block/ub.c David Brownell
2004-06-28 16:46 ` drivers/block/ub.c Oliver Neukum
2004-06-28 17:13 ` drivers/block/ub.c David Brownell
[not found] ` <mailman.1088290201.14081.linux-kernel2news@redhat.com>
2004-06-27 23:57 ` drivers/block/ub.c Pete Zaitcev
2004-06-29 11:05 ` drivers/block/ub.c Jeff Garzik
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=20040629071246.GA1206@ucw.cz \
--to=vojtech@suse.cz \
--cc=arjanv@redhat.com \
--cc=davem@redhat.com \
--cc=david-b@pacbell.net \
--cc=greg@kroah.com \
--cc=jgarzik@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mdharm-usb@one-eyed-alien.net \
--cc=oliver@neukum.org \
--cc=scott@timesys.com \
--cc=stern@rowland.harvard.edu \
--cc=tburke@redhat.com \
--cc=zaitcev@redhat.com \
/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.