[linux-cifs-client] Re: sendmsg blocking with sendtimeout vs.
non-blocking
Steve French
smfrench at gmail.com
Fri Oct 24 16:18:49 GMT 2008
A few comments - you need a warmup longer than 1 second, and a test run
longer than 5 seconds. A 100 second test run is probably ok - we need the
"before and after" comparison (ie compare the performance with the patch and
umount and compare the performance with noautotune turned on (old
behavior). But in any case something looks wrong - a performance of
1.40MB/sec
to Samba is worse than I would expect. Also please try it with more
simulated clients (e.g. 50)
With dbench 3.04 I am getting more than double what you got with 1 client,
although my system could be a bit faster.
Also can you make sure that you are running current code. I had hoped that
the
/bin/rm: cannot remove directory
`/mnt/smb_r/clients/client0/~
>
> dmtmp/PARADOX': Directory not empty
error would go away with the fixes Jeff and I did to delete on close (it may
be that this version of dbench keeps files open when it tries to delete them
and then does not close them before the directory is removed thus delete on
close doesn't help).
You should probably be running dbench 4 instead
On Fri, Oct 24, 2008 at 10:02 AM, Shirish Pargaonkar <
shirishpargaonkar at gmail.com> wrote:
> Steve,
>
> Here is a run against a samba share
>
> usr/src/dbench/dbench-3.04 # ./dbench -s -S -t 5s -D /mnt/smb_n -c
> client.txt 1
> dbench version 3.04 - Copyright Andrew Tridgell 1999-2004
>
> Running for 5 seconds with load 'client.txt' and minimum warmup 1 secs
> 1 clients started
> 1 12 0.00 MB/sec warmup 1 sec
> 1 12 0.00 MB/sec warmup 24 sec
> 1 102 2.82 MB/sec execute 1 sec
> 1 232 0.37 MB/sec cleanup 19 sec
> /bin/rm: cannot remove directory
> `/mnt/smb_n/clients/client0/~dmtmp/COREL': Directory not empty
> 1 232 0.35 MB/sec cleanup 20 sec
>
> Throughput 1.39629 MB/sec (sync open) (sync dirs) 1 procs
>
>
> And here is against a Windows XP share
>
> :/usr/src/dbench/dbench-3.04 # ./dbench -s -S -t 5s -D /mnt/smb_r -c
> client.txt 1
> dbench version 3.04 - Copyright Andrew Tridgell 1999-2004
>
> Running for 5 seconds with load 'client.txt' and minimum warmup 1 secs
> 1 clients started
> 1 132 3.01 MB/sec execute 1 sec
> 1 207 2.68 MB/sec execute 2 sec
> 1 284 2.61 MB/sec execute 3 sec
> 1 357 2.51 MB/sec execute 4 sec
> 1 418 2.40 MB/sec cleanup 5 sec
> 1 418 2.01 MB/sec cleanup 6 sec
> 1 418 1.72 MB/sec cleanup 7 sec
> 1 418 1.51 MB/sec cleanup 8 sec
> 1 418 1.34 MB/sec cleanup 9 sec
> 1 418 1.20 MB/sec cleanup 10 sec
> 1 418 1.10 MB/sec cleanup 11 sec
> 1 418 1.00 MB/sec cleanup 12 sec
> 1 418 0.93 MB/sec cleanup 13 sec
> 1 418 0.86 MB/sec cleanup 14 sec
> 1 418 0.80 MB/sec cleanup 15 sec
> 1 418 0.75 MB/sec cleanup 16 sec
> 1 418 0.71 MB/sec cleanup 17 sec
> 1 418 0.67 MB/sec cleanup 18 sec
> 1 418 0.63 MB/sec cleanup 19 sec
> 1 418 0.60 MB/sec cleanup 20 sec
> 1 418 0.57 MB/sec cleanup 21 sec
> 1 418 0.55 MB/sec cleanup 22 sec
> 1 418 0.52 MB/sec cleanup 23 sec
> 1 418 0.50 MB/sec cleanup 24 sec
> /bin/rm: cannot remove directory
> `/mnt/smb_r/clients/client0/~dmtmp/PARADOX': Directory not empty
> 1 418 0.49 MB/sec cleanup 24 sec
>
> Throughput 2.40957 MB/sec (sync open) (sync dirs) 1 procs
>
>
> And the testrun still running with your patch.
>
> Regards,
>
> Shirish
>
> On Fri, Oct 24, 2008 at 9:23 AM, Steve French <smfrench at gmail.com> wrote:
> >
> >
> > On Fri, Oct 24, 2008 at 7:53 AM, Neil Horman <nhorman at redhat.com> wrote:
> >>
> >> The correct solution is to read data out of the socket into a temporary
> >> buffer that you allocate in the cifs code, and loop repetatively calling
> >> recv[msg|from] until such time as the entire message has been read.
> >>
> >>
> > That is what the cifs code does in cifs_demultiplex_thread.
> >
> > Shirish,
> > If we can verify that performance does not appear to be impacted (e.g.
> some
> > dbench runs against remote server and also against localhost/samba) when
> > removing the few lines of code in (cifs's) ipv4_connect in which cifs
> sets
> > sndbuf/rcvbuf (we never set them in the case fortunately) - then I will
> > remove those lines immediately (and I am ok with not having a mount
> option
> > to turn off the autotuning ie revert to old behavior)
> >
> >
> >
> > --
> > Thanks,
> >
> > Steve
> >
>
--
Thanks,
Steve
-------------- next part --------------
HTML attachment scrubbed and removed
More information about the linux-cifs-client
mailing list