"Dr. Andreas Krüger" <andreas.krue...@dv-ratio.com> writes:

>> strace should show you whether or not the server is writing any
>> data, and whether or not the writes are failing.   Is it writing any
>> data at all?
> Yes.
>
>> Are the writes failing?
>
> No!

How big are the writes?  In my test I saw things like:

write(4, " ) ) ( textdelta-chunk ( 2:c1 9:\0"..., 4096) = 4096 <0.074322>
write(4, 
"a\256\372wS|:\35\330\6\353\201\321k\27\327\360\307\325e\337\267\372\256\224\"\305\251\5\227\303Z]"...,
 98422) = 98422 <2.678038>

> (I had actually mentioned that much in an earlier mail.)
>
> Could indeed be an openvpn bug, somehow.
>
> But why would subversion keep eating CPU cycles?

Somebody (you probably) needs to debug it.  There are loops in
apr_socket_send but they should only apply if the writes are failing.
In one of your earlier mails you indicated there were a mixture of
read, write and poll calls so that seems to indicate that it's looping
in the Subversion code rather than the apr code.  If the write system
calls don't fail then svnserve will keep on going.  As I understand it
OpenVZ involves a custom kernel with it's own network drivers, perhaps
the write syscall is doing something unexpected.

-- 
Philip

Reply via email to