[Bugs] [Bug 1467614] Gluster read/write performance improvements on NVMe backend

bugzilla at redhat.com bugzilla at redhat.com
Tue Nov 28 13:02:37 UTC 2017


https://bugzilla.redhat.com/show_bug.cgi?id=1467614



--- Comment #49 from Worker Ant <bugzilla-bot at gluster.org> ---
COMMIT: https://review.gluster.org/17958 committed in master by \"Krutika
Dhananjay\" <kdhananj at redhat.com> with a commit message- rpc: Eliminate
conn->lock contention by using more granular locks

rpc_clnt_submit() acquires conn->lock  before call to
rpc_transport_submit_request() and subsequent queuing of frame into
saved_frames list. However, as part of handling RPC_TRANSPORT_MSG_RECEIVED
and RPC_TRANSPORT_MSG_SENT notifications in rpc_clnt_notify(), conn->lock
is again used to atomically update conn->last_received and conn->last_sent
event timestamps.

So when conn->lock is acquired as part of submitting a request,
a parallel POLLIN notification gets blocked at rpc layer until the request
submission completes and the lock is released.

To get around this, this patch call clock_gettime (instead to call
gettimeofday)
to update event timestamps in conn->last_received and conn->last_sent and to
call clock_gettime don't need to call mutex_lock because it (clock_gettime)
is thread safe call.

Note: Run fio on vm after apply the patch, iops is improved after apply
      the patch.

Change-Id: I347b5031d61c426b276bc5e07136a7172645d763
BUG: 1467614
Signed-off-by: Krutika Dhananjay <kdhananj at redhat.com>

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=gN0iqsynem&a=cc_unsubscribe


More information about the Bugs mailing list