mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "J.A. Magallón" <jamagallon@ono.com>
To: Linux Kernel <linux-kernel@vger.kernel.org>, linux-cifs@vger.kernel.org
Subject: Re: CIFS is slooow, gvfs is fast
Date: Sun, 24 Oct 2010 01:30:38 +0200	[thread overview]
Message-ID: <20101024013038.057442c0@werewolf.home> (raw)
In-Reply-To: <20101023004636.1acdd81c@werewolf.home>

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

  reply	other threads:[~2010-10-23 23:30 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-21 23:35 J.A. Magallón
2010-10-22 10:44 ` Suresh Jayaraman
2010-10-22 16:06   ` Steve French
2010-10-22 22:46   ` J.A. Magallón
2010-10-23 23:30     ` J.A. Magallón [this message]
2010-10-25 10:14       ` Suresh Jayaraman
2010-10-29 22:33         ` J.A. Magallón
2010-10-30  0:54           ` Steve French

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101024013038.057442c0@werewolf.home \
    --to=jamagallon@ono.com \
    --cc=linux-cifs@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®