linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andreas Gruenbacher <agruen@suse.de>
To: "Jörn Engel" <joern@lazybastard.org>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [RFC] Pack the vfsmount and dentry in nameidata into a struct path
Date: Sun, 4 Feb 2007 04:00:51 -0800	[thread overview]
Message-ID: <200702040400.51958.agruen@suse.de> (raw)
In-Reply-To: <20070204041653.GA3672@lazybastard.org>

On Saturday 03 February 2007 20:16, Jörn Engel wrote:
> On its own, I don't like this patch too much.  It is just a form of
> mental masturbation that complicates the source.

Thanks for pointing out the masturbation thing. I was actually polling for 
comments; this single patch in itself wasn't meant to be the ultimate hot 
stuff.

> > -	inode = nd.dentry->d_inode;
> > +	inode = nd.path.dentry->d_inode;
>
> However, once we start passing struct path by reference, it should
> result in a smaller binary.

There are several components to it. Storing the dentry and vfsmount in a 
struct path allows to pass them somewhere where a struct path is expected 
without having to construct a temporary struct path object. Also, two 
parameters would become one; I believe that this could lead to somewhat 
cleaner code in some places.

The other question is whether we would want to pass such struct paths by value 
or by reference: by value would lead to roughly the same code that we have 
right now. By reference would reduce the function call overhead, but would 
blow up the code that accesses the struct path elements by about the same 
amount: getting to the dentry or vfsmount from a struct path pointer requires 
a pointer dereference.

It's hard to tell whether the code size would decrease overall with 
by-reference passing. The experiments I did didn't, but I also didn't try to 
optimize the by-reference code.

Thanks,
Andreas
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2007-02-04 12:01 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-03 22:25 [RFC] Pack the vfsmount and dentry in nameidata into a struct path Andreas Gruenbacher
2007-02-04  4:16 ` Jörn Engel
2007-02-04 12:00   ` Andreas Gruenbacher [this message]
2007-02-04 17:45     ` Jörn Engel

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=200702040400.51958.agruen@suse.de \
    --to=agruen@suse.de \
    --cc=joern@lazybastard.org \
    --cc=linux-fsdevel@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;
as well as URLs for NNTP newsgroup(s).