From: subashab@codeaurora.org
To: Alex Elder <elder@linaro.org>
Cc: stranche@codeaurora.org, davem@davemloft.net, kuba@kernel.org,
sharathv@codeaurora.org, bjorn.andersson@linaro.org,
evgreen@chromium.org, cpratapa@codeaurora.org, elder@kernel.org,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next 0/6] net: qualcomm: rmnet: stop using C bit-fields
Date: Thu, 04 Mar 2021 20:44:54 -0700 [thread overview]
Message-ID: <3a4a4c26494c12f9961c50e2d4b83c99@codeaurora.org> (raw)
In-Reply-To: <20210304223431.15045-1-elder@linaro.org>
On 2021-03-04 15:34, Alex Elder wrote:
> This series converts data structures defined in <linux/if_rmnet.h>
> so they use integral field values with bitfield masks rather than
> rely on C bit-fields.
>
> I first proposed doing something like this long ago when my confusion
> about this code (and the memory layout it was supposed to represent)
> led me to believe it was erroneous:
>
> https://lore.kernel.org/netdev/20190520135354.18628-1-elder@linaro.org/
>
> It came up again recently, when Sharath Chandra Vurukala proposed
> a new structure in "if_rmnet.h", again using C bit-fields. I asked
> whether the new structure could use field masks, and Jakub requested
> that this be done.
>
> https://lore.kernel.org/netdev/1613079324-20166-1-git-send-email-sharathv@
> codeaurora.org/
> I volunteered to convert the existing RMNet code to use bitfield
> masks, and that is what I'm doing here.
>
> The first three patches are more or less preparation work for the
> last three.
> - The first marks two fields in an existing structure explicitly
> big endian. They are unused by current code, so this should
> have no impact.
> - The second simplifies some code that computes the value of a
> field in a header in a somewhat obfuscated way.
> - The third eliminates some trivial accessor macros, open-coding
> them instead. I believe the accessors actually do more harm
> than good.
> - The last three convert the structures defined in "if_rmnet.h"
> so they are defined only with integral fields, each having
> well-defined byte order. Where sub-fields are needed, field
> masks are defined so they can be encoded or extracted using
> functions like be16_get_bits() or u8_encode_bits(), defined
> in <linux/bitfield.h>. The three structures converted are,
> in order: rmnet_map_header, rmnet_map_dl_csum_trailer, and
> rmnet_map_ul_csum_header.
>
> -Alex
>
> Alex Elder (6):
> net: qualcomm: rmnet: mark trailer field endianness
> net: qualcomm: rmnet: simplify some byte order logic
> net: qualcomm: rmnet: kill RMNET_MAP_GET_*() accessor macros
> net: qualcomm: rmnet: use field masks instead of C bit-fields
> net: qualcomm: rmnet: don't use C bit-fields in rmnet checksum
> trailer
> net: qualcomm: rmnet: don't use C bit-fields in rmnet checksum header
>
> .../ethernet/qualcomm/rmnet/rmnet_handlers.c | 11 ++--
> .../net/ethernet/qualcomm/rmnet/rmnet_map.h | 12 ----
> .../qualcomm/rmnet/rmnet_map_command.c | 11 +++-
> .../ethernet/qualcomm/rmnet/rmnet_map_data.c | 60 ++++++++---------
> include/linux/if_rmnet.h | 65 +++++++++----------
> 5 files changed, 70 insertions(+), 89 deletions(-)
Can you share what all tests have been done with these patches
next prev parent reply other threads:[~2021-03-05 3:45 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-04 22:34 [PATCH net-next 0/6] net: qualcomm: rmnet: stop using C bit-fields Alex Elder
2021-03-04 22:34 ` [PATCH net-next 1/6] net: qualcomm: rmnet: mark trailer field endianness Alex Elder
2021-03-05 4:03 ` Bjorn Andersson
2021-03-04 22:34 ` [PATCH net-next 2/6] net: qualcomm: rmnet: simplify some byte order logic Alex Elder
2021-03-05 4:07 ` Bjorn Andersson
2021-03-05 21:02 ` Alex Elder
2021-03-04 22:34 ` [PATCH net-next 3/6] net: qualcomm: rmnet: kill RMNET_MAP_GET_*() accessor macros Alex Elder
2021-03-05 4:16 ` Bjorn Andersson
2021-03-04 22:34 ` [PATCH net-next 4/6] net: qualcomm: rmnet: use field masks instead of C bit-fields Alex Elder
2021-03-05 4:50 ` Bjorn Andersson
2021-03-04 22:34 ` [PATCH net-next 5/6] net: qualcomm: rmnet: don't use C bit-fields in rmnet checksum trailer Alex Elder
2021-03-05 4:54 ` Bjorn Andersson
2021-03-04 22:34 ` [PATCH net-next 6/6] net: qualcomm: rmnet: don't use C bit-fields in rmnet checksum header Alex Elder
2021-03-05 5:26 ` Bjorn Andersson
2021-03-05 20:48 ` Alex Elder
2021-03-05 6:22 ` kernel test robot
2021-03-05 12:59 ` Alex Elder
2021-03-04 22:43 ` [PATCH net-next 0/6] net: qualcomm: rmnet: stop using C bit-fields Alex Elder
2021-03-05 3:44 ` subashab [this message]
2021-03-05 4:51 ` Alex Elder
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=3a4a4c26494c12f9961c50e2d4b83c99@codeaurora.org \
--to=subashab@codeaurora.org \
--cc=bjorn.andersson@linaro.org \
--cc=cpratapa@codeaurora.org \
--cc=davem@davemloft.net \
--cc=elder@kernel.org \
--cc=elder@linaro.org \
--cc=evgreen@chromium.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=sharathv@codeaurora.org \
--cc=stranche@codeaurora.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).