On Sat, 19 Jan 2008, Linus Torvalds wrote:Btw, the easiest way to do this on Linux isn't totally obvious, because you cannot do a simple breakpoint on "lstat()", since GNU libc internally uses other names. So if anybody wants to work on this and runs Linux, the way to do this trivially (once you know how) is to do gdb git .. .. run the startup to wait for the libraries to be loaded .. (gdb) b main (gdb) run commit .. .. modern glibc low-level lstat() call is __lxstat64 .. at least on x86-64 .. (gdb) b __lxstat64 .. .. Ignore the first few ones (we have 23000+ files in the index, .. so don't worry about getting the *first* one) .. (gdb) ignore 2 1000 (gdb) c .. .. Ok, look at that backtrace, then go to the next one by .. just knowing that we'll be doing 23,000+ for each iteration .. over the index. .. .. Rinse and repeat this as required: .. (gdb) where (gdb) ignore 2 24000 (gdb) c which gets you the backtraces I showed you, without having to think too much about all the odd lstat() calls we do for resolving refs etc. Linus - 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 |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| Jeff Garzik | Re: fallocate-implementation-on-i86-x86_64-and-powerpc.patch |
git: | |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Arjan van de Ven | Re: [GIT]: Networking |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Natalie Protasevich | [BUG] New Kernel Bugs |
