From: Andrew Lunn <andrew@lunn.ch>
To: Shenwei Wang <shenwei.wang@nxp.com>
Cc: Arnaud POULIQUEN <arnaud.pouliquen@foss.st.com>,
Linus Walleij <linusw@kernel.org>,
Bartosz Golaszewski <brgl@kernel.org>,
Jonathan Corbet <corbet@lwn.net>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Mathieu Poirier <mathieu.poirier@linaro.org>,
Frank Li <frank.li@nxp.com>,
Sascha Hauer <s.hauer@pengutronix.de>,
Shuah Khan <skhan@linuxfoundation.org>,
"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>, Peng Fan <peng.fan@nxp.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-remoteproc@vger.kernel.org"
<linux-remoteproc@vger.kernel.org>,
"imx@lists.linux.dev" <imx@lists.linux.dev>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
dl-linux-imx <linux-imx@nxp.com>,
Bartosz Golaszewski <brgl@bgdev.pl>
Subject: Re: [PATCH v8 3/4] gpio: rpmsg: add generic rpmsg GPIO driver
Date: Fri, 20 Feb 2026 21:41:36 +0100 [thread overview]
Message-ID: <f12d44e5-c2ea-42e5-ba5d-10408fdf3835@lunn.ch> (raw)
In-Reply-To: <PAXPR04MB918503335D2349BCCFEC93848968A@PAXPR04MB9185.eurprd04.prod.outlook.com>
> Yes, most compilers will lay this out without inserting padding between the fields.
> However, for a communication packet, we cannot freely reorder or tweak members
> just to satisfy alignment rules—the field order itself becomes part of the protocol definition.
Notice i've been saying design. If the design is poor, the
implementation has to jump through hoops to make it work, which is
when __packed it useful, it allows you to implement a bad design.
> Even within netdev, where you’re very familiar, the classic ethhdr still carries the packed annotation
> despite being naturally aligned:
>
> struct ethhdr {
> unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
> unsigned char h_source[ETH_ALEN]; /* source ether addr */
> __be16 h_proto; /* packet type ID field */
> } __attribute__((packed));
And a lot of engineers will agree that this header is badly
designed. The network stack goes to a lot of trouble to ensure the
Ethernet header is placed into an skbuf with an offset of 2 bytes, so
the IP header is 4 byte aligned. This also makes the DMA engines more
complex, having to do an unaligned transfer at the start. More hoops
to jump though because of bad design.
None of the IP, UDP, TCP headers etc have packed, because they are all
well designed. The IETF did a better design job than IEEE.
Andrew
next prev parent reply other threads:[~2026-02-20 20:41 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-12 21:36 [PATCH v8 0/4] Enable Remote GPIO over RPMSG on i.MX Platform Shenwei Wang
2026-02-12 21:36 ` [PATCH v8 1/4] docs: driver-api: gpio: rpmsg gpio driver over rpmsg bus Shenwei Wang
2026-02-12 21:36 ` [PATCH v8 2/4] dt-bindings: remoteproc: imx_rproc: Add "rpmsg" subnode support Shenwei Wang
2026-02-12 21:36 ` [PATCH v8 3/4] gpio: rpmsg: add generic rpmsg GPIO driver Shenwei Wang
2026-02-18 10:20 ` Bartosz Golaszewski
2026-02-18 16:28 ` Shenwei Wang
2026-02-19 9:20 ` Arnaud POULIQUEN
2026-02-19 13:26 ` Andrew Lunn
2026-02-19 14:17 ` Shenwei Wang
2026-02-19 15:25 ` Andrew Lunn
2026-02-19 16:42 ` Shenwei Wang
2026-02-19 13:42 ` Andrew Lunn
2026-02-20 9:16 ` Arnaud POULIQUEN
2026-02-20 13:48 ` Andrew Lunn
2026-02-20 16:36 ` Shenwei Wang
2026-02-20 17:45 ` Andrew Lunn
2026-02-20 18:57 ` Shenwei Wang
2026-02-20 20:21 ` Mathieu Poirier
2026-02-20 20:59 ` Andrew Lunn
2026-02-22 14:48 ` Linus Walleij
2026-02-23 14:24 ` Arnaud POULIQUEN
2026-02-23 14:42 ` Bjorn Andersson
2026-02-24 15:56 ` Shenwei Wang
2026-02-24 16:04 ` Daniel Baluta
2026-02-24 16:56 ` Shenwei Wang
2026-02-24 18:09 ` Mathieu Poirier
2026-02-24 20:16 ` Shenwei Wang
2026-02-24 20:41 ` Mathieu Poirier
2026-02-24 21:12 ` Shenwei Wang
2026-02-24 22:14 ` Andrew Lunn
2026-02-24 22:43 ` Shenwei Wang
2026-02-25 15:52 ` Bjorn Andersson
2026-02-25 17:54 ` Shenwei Wang
2026-02-25 19:43 ` Bjorn Andersson
2026-02-25 20:31 ` Shenwei Wang
2026-02-25 21:02 ` Bjorn Andersson
2026-02-27 0:00 ` Linus Walleij
2026-02-23 20:33 ` Shenwei Wang
2026-02-24 8:46 ` Arnaud POULIQUEN
2026-02-24 16:05 ` Shenwei Wang
2026-02-24 17:31 ` Andrew Lunn
2026-02-24 17:54 ` Shenwei Wang
2026-02-24 18:18 ` Andrew Lunn
2026-02-24 19:51 ` Shenwei Wang
2026-02-24 21:01 ` Andrew Lunn
2026-02-24 21:18 ` [EXT] " Shenwei Wang
2026-02-24 22:22 ` Andrew Lunn
2026-02-24 22:31 ` Shenwei Wang
2026-02-24 22:47 ` Mathieu Poirier
2026-02-25 15:18 ` Shenwei Wang
2026-02-24 18:26 ` Andrew Lunn
2026-02-24 20:33 ` Shenwei Wang
2026-02-24 9:37 ` Linus Walleij
2026-02-19 20:04 ` Shenwei Wang
2026-02-19 20:50 ` Andrew Lunn
2026-02-19 21:12 ` Shenwei Wang
2026-02-20 9:12 ` Arnaud POULIQUEN
2026-02-20 15:47 ` Shenwei Wang
2026-02-20 16:19 ` Andrew Lunn
2026-02-20 17:09 ` Shenwei Wang
2026-02-20 17:42 ` Andrew Lunn
2026-02-20 19:09 ` Shenwei Wang
2026-02-20 20:41 ` Andrew Lunn [this message]
2026-02-19 21:13 ` Shenwei Wang
2026-02-20 9:32 ` Arnaud POULIQUEN
2026-02-20 15:12 ` Shenwei Wang
2026-02-12 21:36 ` [PATCH v8 4/4] arm64: dts: imx8ulp: Add rpmsg node under imx_rproc Shenwei Wang
2026-02-20 9:18 ` [PATCH v8 0/4] Enable Remote GPIO over RPMSG on i.MX Platform Daniel Baluta
2026-02-20 15:24 ` Shenwei Wang
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=f12d44e5-c2ea-42e5-ba5d-10408fdf3835@lunn.ch \
--to=andrew@lunn.ch \
--cc=andersson@kernel.org \
--cc=arnaud.pouliquen@foss.st.com \
--cc=brgl@bgdev.pl \
--cc=brgl@kernel.org \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=frank.li@nxp.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=linusw@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=mathieu.poirier@linaro.org \
--cc=peng.fan@nxp.com \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shenwei.wang@nxp.com \
--cc=skhan@linuxfoundation.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