Re: [PATCH COW] sys_copyfile

From: Jörn Engel (joern_at_wohnheim.fh-wedel.de)
Date: 04/27/04

  • Next message: Tigran Aivazian: "Re: [PATCH] Blacklist binary-only modules lying about their license"
    Date:	Tue, 27 Apr 2004 21:55:03 +0200
    To: Steve French <smfltc@us.ibm.com>
    
    

    On Tue, 27 April 2004 14:46:19 -0500, Steve French wrote:
    > On Tue, 2004-04-27 at 11:42, Jörn Engel wrote:
    >
    > > Shouldn't it be rather
    > >
    > > if (old_nd->dentry->d_inode->i_op->copy)
    > > return old_nd->dentry->d_inode->i_op->copy(old_nd->dentry,
    > > mode, new_dentry);
    > >
    > > or something similar? The copy() effectively replaces the complete
    > > create/sendfile/possibly-unlink series.
    >
    > In some network protocols the client does not know whether the server
    > wants to support copy operation or not (perhaps if the files were on
    > different server partitions the server might return an error e.g), in
    > those cases the filesystem client could return error not supported or
    > equivalent and the remainder of your function is executed doing the copy
    > the harder way (open/read/close create/write/close) but still faster a
    > few percent faster than before your patch.

    Makes sense. Then something like

            if (old_nd->dentry->d_inode->i_op->copy) {
                    ret = old_nd->dentry->d_inode->i_op->copy(old_nd->dentry,
                                    mode, new_dentry);
                    if (ret != -ENOSYS)
                            return ret;
            }

    Also, would it be possible to do essentially the same with sendfile()?
    That should bring roughly the same speedup for disk based filesystems,
    and would be a bit more general.

    Jörn

    -- 
    Don't patch bad code, rewrite it.
    -- Kernigham and Pike, according to Rusty
    -
    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/
    

  • Next message: Tigran Aivazian: "Re: [PATCH] Blacklist binary-only modules lying about their license"

    Relevant Pages

    • Re: problems with KB951746
      ... Then, if you are CONFIDENT that you are okay there and the speed issue remains, reconfigure SBS and point it to another DNS server that is known to be patched and working. ... Wien the server-side DNS-vulnerability patch is installed, all my SBS2K3 systems are exhibiting the same problem: extremely show internet access when the system is under load, meaning when three or more clients are trying to access the internet at once. ... My indecision stems from the fact that no symptoms show if there is no load, so if I call CSS after hours I can't show them any symptoms, and I don't want to load the patch during a work day because access is so slow that client work slows to a virtual standstill, the remote branches connections to Exchange server stop responding, and local clients can't do any work that involves the internet. ...
      (microsoft.public.windows.server.sbs)
    • Re: 8.0-RC1 NFS client timeout issue
      ... client shouldn't send anything any more either. ... Here is what I am seeing without and with the patch. ... pretty recent FreeBSD-CURRENT (nfsv4-test) and the server Solaris10 ...
      (freebsd-current)
    • Re: 8.0-RC1 NFS client timeout issue
      ... client shouldn't send anything any more either. ... Here is what I am seeing without and with the patch. ... pretty recent FreeBSD-CURRENT (nfsv4-test) and the server Solaris10 ...
      (freebsd-stable)
    • Re: 2.6.11 oops in skb_drop_fraglist
      ... i had implemented a patch to cause the RPC client to reuse the port ... number when reconnecting to the server after the server drops the ... i suspect it was that patch that was causing the trouble. ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)
    • RE: kernel performance update - 2.6.14
      ... Volanomark server broadcasts ... short message from each client to the other ... to send TCP ACK without delay, we can reduce the system idle to 0% ... send the line "unsubscribe linux-kernel" in ...
      (Linux-Kernel)

    Loading