On Fri, 18 Jan 2008, Junio C Hamano wrote:Acked-by: Linus Torvalds <torvalds@linux-foundation.org> Sadly, doing a simple "git commit" without anything else, will still apparently get us 69230 lstat() calls, with or without this patch. So we get 3 lstat() calls per path. The call trace for the first one is - builtin-commit.c: line 786 prepare_index refresh_index refresh_cache_ent lstat while the second one is - builtin-commit.c: line 793 prepare_log_message run_status wt_status_print wt_status_print_changed run_diff_files lstat and the third one is - builtin-commit.c: line 795 run_status wt_status_print wt_status_print_changed run_diff_files lstat and the reason is that - "run_diff_files()" doesn't honor ce_uptodate - ..but even if it did, wt_status_print_changed() does a wt_read_cache() which will invalidate and re-read the index! The first problem is trivially fixed (appended), the second one is notas trivial. Linus --- diff-lib.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/diff-lib.c b/diff-lib.c index 4a05b02..5d5a950 100644 --- a/diff-lib.c +++ b/diff-lib.c @@ -435,6 +435,8 @@ int run_diff_files(struct rev_info *revs, unsigned int option) continue; } + if (ce_uptodate(ce)) + continue; if (lstat(ce->name, &st) < 0) { if (errno != ENOENT && errno != ENOTDIR) { perror(ce->name); - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Srivatsa Vaddagiri | containers (was Re: -mm merge plans for 2.6.23) |
| Benjamin Herrenschmidt | Re: [linux-pm] [PATCH] Remove process freezer from suspend to RAM pathway |
git: | |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Patrick McHardy | Re: [GIT]: Networking |
| Gerrit Renker | [PATCH 6/7] [CCID-2/3]: Fix sparse warnings |
