From cea8b702506ff914deadd056f4b7dd20a3ca7670 Mon Sep 17 00:00:00 2001 From: Raghavendra G Date: Fri, 5 May 2017 15:21:30 +0530 Subject: event/epoll: Add back socket for polling of events immediately after reading the entire rpc message from the wire Currently socket is added back for future events after higher layers (rpc, xlators etc) have processed the message. If message processing involves signficant delay (as in writev replies processed by Erasure Coding), performance takes hit. Hence this patch modifies transport/socket to add back the socket for polling of events immediately after reading the entire rpc message, but before notification to higher layers. credits: Thanks to "Kotresh Hiremath Ravishankar" for assitance in fixing a regression in bitrot caused by this patch. Change-Id: I04b6b9d0b51a1cfb86ecac3c3d87a5f388cf5800 BUG: 1448364 Signed-off-by: Raghavendra G Reviewed-on: https://review.gluster.org/15036 CentOS-regression: Gluster Build System NetBSD-regression: NetBSD Build System Smoke: Gluster Build System Reviewed-by: Amar Tumballi --- libglusterfs/src/glusterfs.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libglusterfs/src/glusterfs.h') diff --git a/libglusterfs/src/glusterfs.h b/libglusterfs/src/glusterfs.h index 839a1d47d2a..2e709b9d703 100644 --- a/libglusterfs/src/glusterfs.h +++ b/libglusterfs/src/glusterfs.h @@ -520,6 +520,8 @@ struct _glusterfs_ctx { int notifying; struct gf_ctx_tw *tw; /* refcounted timer_wheel */ + + gf_lock_t volfile_lock; }; typedef struct _glusterfs_ctx glusterfs_ctx_t; -- cgit