These patches reduce reloads of con->out_msg by passing pointers that we already have in local variables (i.e. registers) as parameters. Access to con->out_queue is now gone completely from v1/v2 and only few references to con->out_msg remain. In the long run, I'd like to get rid of con->out_msg completely and instead send the whole con->out_queue in one kernel_sendmsg() call. This patch series helps with preparing that. Max Kellermann (3): net/ceph/messenger: ceph_con_get_out_msg() returns the message pointer net/ceph/messenger_v[12]: pass ceph_msg* instead of loading con->out_msg net/ceph/messenger: add empty check to ceph_con_get_out_msg() include/linux/ceph/messenger.h | 6 +- net/ceph/messenger.c | 12 +-- net/ceph/messenger_v1.c | 59 ++++++------ net/ceph/messenger_v2.c | 160 ++++++++++++++++----------------- 4 files changed, 119 insertions(+), 118 deletions(-) -- 2.47.2