lkml.org 
[lkml]   [2010]   [Oct]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: CIFS is slooow, gvfs is fast
    On Sat, 23 Oct 2010 00:46:36 +0200, "J.A. Magallón" <jamagallon@ono.com> wrote:

    > On Fri, 22 Oct 2010 16:14:46 +0530, Suresh Jayaraman <sjayaraman@suse.de> wrote:
    >
    > > (Cc linux-cifs@vger.kernel.org)
    > >
    > > On 10/22/2010 05:05 AM, J.A. Magallón wrote:
    > >
    > > > I have a very strange behaviour with windows networking.
    > > > I have an HTPC, which I access from my Linux desktop. It runs Windows 7.
    > > > Network is GigaBit, routed by a Linksys WRT320N running latest DD-WRT.
    > > > I setup an automount path under /net/htpc with CIFS filesystem.
    > > > I can also access the drives in HTPC via gvfs from Gnome DE.
    > > >
    > > > Problem: speed is _VERY_ different.
    > > > R/W through the automount point (CIFS fs), is roughly 7-8 MB/s (ridiculous
    > > > for gigabit speeds).
    > > > R/W through Gnome/gvfs (kind of fuse) goes around 35 - 40 MB/s (400 Mbits/s),
    > > > that look much better.
    > >
    > > What is the kernel version In which you are seeing the problem? I'm not
    >
    > Its just new 2.6.36 final, mandriva distro kernel.
    >
    > > seeing this on 2.6.36-rc4. Do you have a wired interface as well? Are
    >
    > Yes, boxes are all wired to the 320N router, at gigabit speeds.
    > Just to double check, I also probed with my netbook with 100Mb ehternet.
    > The effect is less obvious, but writing to the Win7 box through the
    > cifs automount path goes at 3.5-4.0 Mb/s, and with gvfs it reaches
    > 7.5 Mb/s.
    >
    > > you sure that both are using the same network path?
    > >
    >
    > If you mean hardware network path (cabling, router), yes.
    > For file paths, CIFS fs is under /net/htpc/media, and gvfs uses a mount
    > point on '~/.gvfs/media on htpc'.
    >
    > And here comes the weird part. To rule out the desktop environment factor,
    > I tried a dd in both paths. On /net, I get 16.6 MB/s, and on
    > ~/.gvfs/xxx, I just get 5.5 MB/s. I really don't understand anything...
    > things get reversed depending if you use a gui or commandline.
    >
    > Weird, really weird...
    >

    Well, to sort things out, I did some more tests (this does not mean things
    get any closer to be clear for me at least...).

    Network card state in linux side:

    werewolf:/etc/autofs# ethtool eth0
    Settings for eth0:
    Supported ports: [ TP ]
    Supported link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    Supports auto-negotiation: Yes
    Advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    Advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: pg
    Wake-on: d
    Current message level: 0x00000000 (0)
    Link detected: yes

    Raw iperf behaviour:

    lnx -> win: [ 3] 0.0-10.0 sec 988 MBytes 828 Mbits/sec
    win -> lnx: [ 4] 0.0-10.0 sec 333 MBytes 279 Mbits/sec

    Don't know why the difference, but anyways worst speed is 280 Mb/s.

    auto.master:
    /net/htpc file:/etc/autofs/auto.htpc
    auto.htpc:
    media -fstype=cifs,credentials=/etc/autofs/credentials/htpc,iocharset=utf8,uid=3001,gid=3000 ://htpc/media

    Times for gnome-ui-copy are approximate, speed is what the copy window says.

    Case A: automount via cifs.
    /proc/mounts:
    /etc/autofs/auto.htpc /net/htpc autofs rw,relatime,fd=6,pgrp=14361,timeout=300,minproto=5,maxproto=5,indirect 0 0
    //htpc/media/ /net/htpc/media cifs rw,relatime,unc=\\htpc\media,username=media,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.1.20,file_mode=0755,dir_mode=0755,serverino,rsize=130048,wsize=57344 0 0

    - dd if=~/file of=file.dd bs=1M
    292538368 bytes (293 MB) copied, 8.44771 s, 34.6 MB/s
    - time cp ~/file file.cp: real 0m7.429s
    - gnome UI copy: 39s, 7.8 MB/s

    Case B: network mount via nautilus.
    /proc/mounts:
    /etc/autofs/auto.htpc /net/htpc autofs rw,relatime,fd=6,pgrp=14361,timeout=300,minproto=5,maxproto=5,indirect 0 0
    gvfs-fuse-daemon /home/magallon/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,relatime,user_id=3001,group_id=3000 0 0

    - dd if=~/file of=file.dd bs=1M
    292538368 bytes (293 MB) copied, 50.4364 s, 5.8 MB/s
    - time cp ~/file file.cp: real 0m50.151s
    - gnome UI copy: 8s, 33.2 MB/s

    And the best of all:

    werewolf:~> time smbclient -U media%XXXXX //htpc/media -c 'put file'
    Domain=[HOME] OS=[Windows 7 Enterprise 7600] Server=[Windows 7 Enterprise 6.1]
    putting file file as \file (66345.1 kb/s) (average 66345.1 kb/s)

    real 0m4.318s
    user 0m0.466s
    sys 0m0.553s

    Can anybody tell me whats going here...??
    It looks just like gui tools behave just in reverse of cli, and that a plain
    smbclient is faster that cifs. I'm really confused...

    --
    J.A. Magallon <jamagallon()ono!com> \ Software is like sex:
    \ It's better when it's free
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2010-10-24 01:33    [W:0.027 / U:88.716 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site