2022-05-02 23:12:39

by Colin Foster

[permalink] [raw]
Subject: [PATCH v1 net-next 0/2] ocelot stats improvement

A couple of pick-ups after f187bfa6f35 ("net: ethernet: ocelot: remove
the need for num_stats initializer") - one addresses a warning
patchwork flagged about operator precedence when using macro arguments.
The other is a reduction of unnecessary memory allocation.

Colin Foster (2):
net: mscc: ocelot: remove unnecessary variable
net: mscc: ocelot: add missed parentheses around macro argument

include/soc/mscc/ocelot.h | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)

--
2.25.1


2022-05-03 00:12:47

by Colin Foster

[permalink] [raw]
Subject: [PATCH v1 net-next 1/2] net: mscc: ocelot: remove unnecessary variable

Commit 2f187bfa6f35 ("net: ethernet: ocelot: remove the need for num_stats
initializer") added a flags field to the ocelot stats structure. The same
behavior can be achieved without this additional field taking up extra
memory.

Remove this structure element to free up RAM

Suggested-by: Vladimir Oltean <[email protected]>
Signed-off-by: Colin Foster <[email protected]>
---
include/soc/mscc/ocelot.h | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/include/soc/mscc/ocelot.h b/include/soc/mscc/ocelot.h
index 5c4f57cfa785..75739766244b 100644
--- a/include/soc/mscc/ocelot.h
+++ b/include/soc/mscc/ocelot.h
@@ -105,11 +105,9 @@
#define REG_RESERVED_ADDR 0xffffffff
#define REG_RESERVED(reg) REG(reg, REG_RESERVED_ADDR)

-#define OCELOT_STAT_FLAG_END BIT(0)
-
#define for_each_stat(ocelot, stat) \
for ((stat) = ocelot->stats_layout; \
- !((stat)->flags & OCELOT_STAT_FLAG_END); \
+ ((stat)->name[0] != '\0'); \
(stat)++)

enum ocelot_target {
@@ -542,11 +540,10 @@ enum ocelot_ptp_pins {

struct ocelot_stat_layout {
u32 offset;
- u32 flags;
char name[ETH_GSTRING_LEN];
};

-#define OCELOT_STAT_END { .flags = OCELOT_STAT_FLAG_END }
+#define OCELOT_STAT_END { .name = "" }

struct ocelot_stats_region {
struct list_head node;
--
2.25.1

2022-05-03 01:34:13

by Vladimir Oltean

[permalink] [raw]
Subject: Re: [PATCH v1 net-next 1/2] net: mscc: ocelot: remove unnecessary variable

On Sat, Apr 30, 2022 at 04:23:26PM -0700, Colin Foster wrote:
> Commit 2f187bfa6f35 ("net: ethernet: ocelot: remove the need for num_stats
> initializer") added a flags field to the ocelot stats structure. The same
> behavior can be achieved without this additional field taking up extra
> memory.
>
> Remove this structure element to free up RAM
>
> Suggested-by: Vladimir Oltean <[email protected]>
> Signed-off-by: Colin Foster <[email protected]>
> ---

Reviewed-by: Vladimir Oltean <[email protected]>
Tested-by: Vladimir Oltean <[email protected]>