Project

General

Profile

Fix #6965

messenger: Pipe should not hold pipe lock while doing message encode and auth

Added by Greg Farnum over 5 years ago. Updated 6 months ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
12/10/2013
Due date:
% Done:

0%

Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

Description

Right now we hold the pipe lock while running the message encode and cephx steps in Pipe::writer. We don't need to, and holding that lock prevents other threads from adding messages into the Pipe's out_q for the duration of that step (which Yehuda has found to be several hundred microseconds per message). This could slow progress in the main ms_dispatch() loop if all the Pipes are full of messages to send! Move the pipe_lock.Unlock() call up above those steps, see if it makes a difference, and add to mainline if so.

History

#1 Updated by Greg Farnum 6 months ago

  • Project changed from Ceph to Messengers
  • Category deleted (msgr)

Also available in: Atom PDF