lkml.org 
[lkml]   [2011]   [Aug]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Kernel 3.0: Instant kernel crash when mounting CIFS (also crashes with linux-3.1-rc2
On Thu, 18 Aug 2011 14:52:57 -0400
Jeff Layton <jlayton@samba.org> wrote:

> On Thu, 18 Aug 2011 14:18:15 -0400 (EDT)
> Justin Piszcz <jpiszcz@lucidpixels.com> wrote:
>
> >
> >
> > On Thu, 18 Aug 2011, Steve French wrote:
> >
> > > If reading files - smbclient (ftp like syntax) should be able to reach
> > > wire speeds (assuming the server disk can keep up) and for
> > > writing it should be similar (perhaps a little slower but it won't
> > > use i/o sizes as large as cifs kernel client). I would expect
> > > smbclient to/copy from Windows to be faster than Windows mount -> Samba.
> > >
> > > I reached near wirespeeds for GigE with cifs client (writing) to
> > > Winodws 2003/2008/r2
> > > and Samba - but didn't have fast enough disks to test 10GigE although I expect
> > > very good performance with that if you have fast enough server disks (and
> > > am willing to put performance patches in, if you detect additional
> > > changes that we should make for 10GigE - in particular allowing
> > > more than 50 simultaneous requests).
> > >
> > > If the registry fix for Windows 7 is in place (or if you copy to
> > > WIndows 2008, Windows 2003, WIndows 2008r2) -
> > > cifs kernel client is probably slightly faster for writes than alternatives,
> > > smbclient much faster for reads.
> > >
> > > If going the other direction (Windows client copying to/from Samba server) -
> > > Samba 3.6 (server) with SMB2 support
> > > turned on - is going to be faster than most alternatives.
> >
> > Hi,
> >
> > Downloading from an FTP Server on the windows machine:
> >
> > <--- 150 Connection accepted
> > `file' at 418873344 (24%) 145.58M/s eta:9s [Receiving data]
> > `file' at 735510528 (42%) 162.93M/s eta:6s [Receiving data]
> > `file' at 1357185024 (78%) 172.89M/s eta:2s [Receiving data]
> > <--- 226 Transfer OK
> > ---- Got EOF on data connection
> > ---- Closing data socket
> > 1719784995 bytes transferred in 9 seconds (181.65M/s)
> >
> > Same file (via CIFS): 50MB/s
> >
> > Device eth6 [10.0.1.2] (1/1):
> > ================================================================================
> > Incoming: Outgoing:
> > Curr: 49.17 MByte/s Curr: 0.58 MByte/s
> > Avg: 8.76 MByte/s Avg: 0.03 MByte/s
> > Min: 0.00 MByte/s Min: 0.00 MByte/s
> > Max: 197.68 MByte/s Max: 0.86 MByte/s
> > Ttl: 585.87 GByte Ttl: 6.97 GByte
> >
> > 0.02user 4.09system 0:33.84elapsed 12%CPU (0avgtext+0avgdata 3632maxresident)k
> >
> > The RAID's on both systems can achieve > 750MiB/s sustained without any
> > problems (benchmarked in the past) and the system has 56 PCI-e 2.0 lanes
> > and a cable between two 10GbE nics. Not sure where to start, Win7/box tweaks
> > or Linux/CIFS options?
> >
> > Again, Samba -> Linux = 500MiB/s, so FTP > 3x faster than CIFS.
> > I know NFS gets a lot of testing (never had an issue with it/performance/etc)
> >
> > However, regarding CIFS-- is there a test suite/or benchmark pack the CIFS
> > developers use to make sure everything is working in order?
> >
> > Justin.
> >
> >
>
> Like I said, read performance with cifs.ko just plain sucks currently.
>
> Don't look for cifs.ko to achieve anywhere near NFS' performance unless
> you jump through some very odd hoops (like multithreading your workload
> in userspace, etc). cifs.ko just doesn't do a good job of keeping the
> pipe "stuffed" as most calls are handled synchronously. A single task
> can only handle one call on the wire in most cases. The exception here
> is writes, but that just recently changed...
>
> Reads are done using relatively small buffers and then copied to
> pagecache. Part of what I'm working on will be to allow for much larger
> reads directly into the pagecache. That should also help performance
> significantly.
>

I just posted a patchset that should improve the performance of
buffered reads. It's rather large but should apply to current upstream
kernels. If you've had problems with cifs.ko read performance in the
past, then this would be a good time to step up and help test them.

If it makes things easier, then the patchset is also available via the
cifs-3.2 branch of my public git tree:

http://git.kernel.org/?p=linux/kernel/git/jlayton/linux.git;a=shortlog;h=refs/heads/cifs-3.2

Thanks,
--
Jeff Layton <jlayton@samba.org>


\
 
 \ /
  Last update: 2011-08-27 00:01    [W:0.059 / U:0.152 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site