From: Mike Hommey Date: Wed, 18 Jun 2008 09:05:27 GMT Subject: Re: 'setup_work_tree()' considered harmful Message-ID: <20080618090527.GA24254@glandium.org> In-Reply-To: On Mon, Jun 16, 2008 at 05:45:25PM -0700, Linus Torvalds wrote: > ie note how it does one unnecessary "open()" less, but more importantly, > notice the difference between "/home/torvalds/kernel/.git/*" and ".git/*", > and realize that that second difference was the much more noticeable one. > > And no, obviously the right fix is not to just comment out all of > "setup_work_tree()" (it will break stuff that depends on GIT_WORKTREE), > but I did that as a minimal example of showing what the bad effect of that > function is. > > In general, I think we've gone in the wrong direction with a lot of the > "make_absolute_path" stuff. See above. 5% performance loss is not good. Maybe using openat, fstatat, etc. when they are available, could be a good thing, already, though it wouldn't help for other platforms. Mike