[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <10879096.BaYr0rKQ5T@steina-w>
Date: Fri, 06 Jan 2023 08:30:23 +0100
From: Alexander Stein <alexander.stein@...tq-group.com>
To: Dafna Hirschfeld <dafna@...tmail.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Heiko Stuebner <heiko@...ech.de>, linux-media@...r.kernel.org,
linux-rockchip@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org,
Colin Ian King <colin.i.king@...il.com>
Cc: kernel-janitors@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH][next] media: rkisp1: make a few const arrays static
Hi Ian,
Am Donnerstag, 5. Januar 2023, 19:44:03 CET schrieb Colin Ian King:
> Don't populate the const arrays on the stack, instead make them
> static. Also makes the object code smaller.
While I don't dislike this change itself, are you sure about the size change?
bloat-o-meter shows an overall increase:
> ./scripts/bloat-o-meter /tmp/rkisp1-capture_old.o
> /tmp/rkisp1-capture_new.o
> add/remove: 3/0 grow/shrink: 1/2 up/down: 256/-116 (140)
> Function old new delta
> rkisp1_try_fmt_vid_cap_mplane 56 280 +224
> dev_names - 16 +16
> max_widths - 8 +8
> max_heights - 8 +8
> rkisp1_try_fmt 356 304 -52
> rkisp1_register_capture 548 484 -64
> Total: Before=12333, After=12473, chg +1.14%
To be honest I don't know why GCC now inlines rkisp1_try_fmt() in
rkisp1_try_fmt_vid_cap_mplane.
Best regards,
Alexander
> Signed-off-by: Colin Ian King <colin.i.king@...il.com>
> ---
> .../platform/rockchip/rkisp1/rkisp1-capture.c | 15 +++++++++------
> 1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c
> b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c index
> d4540684ea9a..d1d1fdce03e3 100644
> --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c
> +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c
> @@ -1131,10 +1131,12 @@ static void rkisp1_try_fmt(const struct
> rkisp1_capture *cap, const struct rkisp1_capture_config *config =
> cap->config;
> const struct rkisp1_capture_fmt_cfg *fmt;
> const struct v4l2_format_info *info;
> - const unsigned int max_widths[] = { RKISP1_RSZ_MP_SRC_MAX_WIDTH,
> -
RKISP1_RSZ_SP_SRC_MAX_WIDTH };
> - const unsigned int max_heights[] = { RKISP1_RSZ_MP_SRC_MAX_HEIGHT,
> -
RKISP1_RSZ_SP_SRC_MAX_HEIGHT};
> + static const unsigned int max_widths[] = {
> + RKISP1_RSZ_MP_SRC_MAX_WIDTH, RKISP1_RSZ_SP_SRC_MAX_WIDTH
> + };
> + static const unsigned int max_heights[] = {
> + RKISP1_RSZ_MP_SRC_MAX_HEIGHT, RKISP1_RSZ_SP_SRC_MAX_HEIGHT
> + };
>
> fmt = rkisp1_find_fmt_cfg(cap, pixm->pixelformat);
> if (!fmt) {
> @@ -1336,8 +1338,9 @@ void rkisp1_capture_devs_unregister(struct
> rkisp1_device *rkisp1)
>
> static int rkisp1_register_capture(struct rkisp1_capture *cap)
> {
> - const char * const dev_names[] = {RKISP1_MP_DEV_NAME,
> - RKISP1_SP_DEV_NAME};
> + static const char * const dev_names[] = {
> + RKISP1_MP_DEV_NAME, RKISP1_SP_DEV_NAME
> + };
> struct v4l2_device *v4l2_dev = &cap->rkisp1->v4l2_dev;
> struct video_device *vdev = &cap->vnode.vdev;
> struct rkisp1_vdev_node *node;
Powered by blists - more mailing lists