]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
msgr: enable fast_dispatch on local connections
authorGreg Farnum <greg@inktank.com>
Fri, 4 Apr 2014 20:55:54 +0000 (13:55 -0700)
committerGreg Farnum <greg@inktank.com>
Mon, 5 May 2014 22:29:15 +0000 (15:29 -0700)
commit69fc6b2b66a45c13c3ce4b65cf4ba2eecfdcf668
treec798a19254cbea24bdbf15acd8bdced70f33ef97
parent4e20ce19619bc90353e8206c558c24d229c6abf2
msgr: enable fast_dispatch on local connections

We do two things:
1) Call ms_handle_fast_connect() when setting up the local connection, so
the Dispatcher can set up any state it needs
2)Move local_delivery into a separate thread from the sender's. fast_dispatch
makes this entirely necessary since otherwise we're dipping back in to the
Dispatcher while holding whatever locks it held when it sent the Message.

Implementation starts with a thread and a list of messages to process and
proceeds as you'd expect from that.

Signed-off-by: Greg Farnum <greg@inktank.com>
src/msg/DispatchQueue.cc
src/msg/DispatchQueue.h
src/msg/SimpleMessenger.cc