[OpenAFS-devel] rx_Listener receiver thread

Rainer Toebbicke rtb@pclella.cern.ch
Thu, 24 Jan 2008 13:13:40 +0100


Continuing on the subject of scaling...

the next problem we run into is that a single fileserver thread runs 
100% CPU flat, and its the rx_Listener.

The first puzzle is that I thought the Listener could trade place with 
another thread which somehow does not happen.

Worse, though, we're not able to drive the box at 100% (CPU || network 
|| disk) despite plenty of test streams, hence the suspicion that the 
single "packet receiver" thread is the next bottleneck.

Looks tempting to start two of those and see whether all goes up in 
smoke, but perhaps somebody's already got an idea what to watch out 
for (I haven't looked up for example whether recvmsg() is 
thread-safe). Also if the packet dispatching then requires some high 
level lock, it would not add much concurrency.

Comments / thoughts welcome.

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Rainer Toebbicke
European Laboratory for Particle Physics(CERN) - Geneva, Switzerland
Phone: +41 22 767 8985       Fax: +41 22 767 7155