Hi all !
I'm trying to tune some settings on a Samba server, but it's turning out to be
a bit of a problem.
Status: netperf gives me 80+ Mbit/s, but Samba cannot do more than 40 Mbit/s.
When Samba runs, the CPU idle time is 0%, and 97% of the time is spent in the
kernel, and as far as I can see (with kernel profiling) the time is spent in
csum_partial_copy_generic().
When netperf runs with default settings (only -H other_host) this is completely
different; the system has 80% idle-time, and the bandwith is reasonable.
Now here's the catch: If I run a netperf with the options to set the send and
receive socket buffers to some specific size (other than the kernel default) it
changes virtually nothing. But the moment I set the send size (eg. the number
of bytes sent in each send()) to eg. 2k, netperf will behave just like Samba.
Is there any rational explanation to why send(2k buffer) makes the kernel spend
a huge amount of time in csum_partial_copy(), when the send() with a buffer
sized after the default kernel send/receive buffer size doesn't ?
I have no idea what to try from here on. Ideally I would make Samba do send()s
with the default socket buffer size, which by the way I'm unable to find out
what is (I would guess 64k, but netperf with 64k send size still makes the
kernel consume all available CPU).
Can someone help me ? I'd appreciate any suggestions, and if someone comes up
with a kernel patch (or Samba patch) I'd be happy to try that out as well and
report back.
Oh btw: It's 2.2.13ac2 on a classic pentium with fast ethernet.
Thank you very much,
--
................................................................
: [EMAIL PROTECTED] : And I see the elder races, :
:.........................: putrid forms of man :
: Jakob �stergaard : See him rise and claim the earth, :
: OZ9ABN : his downfall is at hand. :
:.........................:............{Konkhra}...............:
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]