Re: [PATCH 1/3] net/ceph/messenger: ceph_con_get_out_msg() returns the message pointer

From: Viacheslav Dubeyko
Date: Fri Aug 08 2025 - 13:41:09 EST


On Wed, 2025-08-06 at 11:48 +0200, Max Kellermann wrote:
> The caller in messenger_v1.c loads it anyway, so let's keep the
> pointer in the register instead of reloading it from memory. This
> eliminates a tiny bit of unnecessary overhead.
>
> Signed-off-by: Max Kellermann <max.kellermann@xxxxxxxxx>

Looks good.

Reviewed-by: Viacheslav Dubeyko <Slava.Dubeyko@xxxxxxx>

Thanks,
Slava.

> ---
> include/linux/ceph/messenger.h | 2 +-
> net/ceph/messenger.c | 4 ++--
> net/ceph/messenger_v1.c | 3 +--
> 3 files changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/include/linux/ceph/messenger.h b/include/linux/ceph/messenger.h
> index 1717cc57cdac..57fa70c6edfb 100644
> --- a/include/linux/ceph/messenger.h
> +++ b/include/linux/ceph/messenger.h
> @@ -548,7 +548,7 @@ void ceph_addr_set_port(struct ceph_entity_addr *addr, int p);
> void ceph_con_process_message(struct ceph_connection *con);
> int ceph_con_in_msg_alloc(struct ceph_connection *con,
> struct ceph_msg_header *hdr, int *skip);
> -void ceph_con_get_out_msg(struct ceph_connection *con);
> +struct ceph_msg *ceph_con_get_out_msg(struct ceph_connection *con);
>
> /* messenger_v1.c */
> int ceph_con_v1_try_read(struct ceph_connection *con);
> diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
> index d1b5705dc0c6..7ab2176b977e 100644
> --- a/net/ceph/messenger.c
> +++ b/net/ceph/messenger.c
> @@ -2109,7 +2109,7 @@ int ceph_con_in_msg_alloc(struct ceph_connection *con,
> return ret;
> }
>
> -void ceph_con_get_out_msg(struct ceph_connection *con)
> +struct ceph_msg *ceph_con_get_out_msg(struct ceph_connection *con)
> {
> struct ceph_msg *msg;
>
> @@ -2140,7 +2140,7 @@ void ceph_con_get_out_msg(struct ceph_connection *con)
> * message or in case of a fault.
> */
> WARN_ON(con->out_msg);
> - con->out_msg = ceph_msg_get(msg);
> + return con->out_msg = ceph_msg_get(msg);
> }
>
> /*
> diff --git a/net/ceph/messenger_v1.c b/net/ceph/messenger_v1.c
> index 0cb61c76b9b8..eebe4e19d75a 100644
> --- a/net/ceph/messenger_v1.c
> +++ b/net/ceph/messenger_v1.c
> @@ -210,8 +210,7 @@ static void prepare_write_message(struct ceph_connection *con)
> &con->v1.out_temp_ack);
> }
>
> - ceph_con_get_out_msg(con);
> - m = con->out_msg;
> + m = ceph_con_get_out_msg(con);
>
> dout("prepare_write_message %p seq %lld type %d len %d+%d+%zd\n",
> m, con->out_seq, le16_to_cpu(m->hdr.type),

--
Viacheslav Dubeyko <Slava.Dubeyko@xxxxxxx>