On 10 Sep 2006 12:10:07 -0400, linux@xxxxxxxxxxx <linux@xxxxxxxxxxx> wrote:
Actually, Linux has one of the fastest forks around, 100-200 us on modern x86. For large executables, the shared page tables patch (is it merged yet?) might help.
Here is the opfile of the kernel 3467889 18.9893 copy_page_range 2190416 11.9941 unmap_vmas 1156011 6.3300 page_fault 887794 4.8613 release_pages 860853 4.7138 page_remove_rmap 633243 3.4675 get_page_from_freelist 398773 2.1836 do_wp_page 344422 1.8860 __mutex_lock_slowpath 280070 1.5336 __handle_mm_fault 241713 1.3236 do_page_fault 238398 1.3054 __d_lookup 236654 1.2959 vm_normal_page At the time this was measured parsecvs was executing millions of git command using system(command). 40% of the CPU was in the kernel, it stayed that way for hours. 18262372 41.0441 /home/good/vmlinux 5465741 12.2841 /usr/bin/cvs 4374336 9.8312 /lib/libc-2.4.so 3627709 8.1532 /lib/libcrypto.so.0.9.8a 2494610 5.6066 /usr/bin/oprofiled 2471238 5.5540 /usr/lib/libz.so.1.2.3 945349 2.1246 /usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE/libperl.so 933646 2.0983 /usr/local/bin/git-read-tree 758776 1.7053 /usr/local/bin/git-write-tree 642502 1.4440 /lib/ld-2.4.so 472903 1.0628 /nvidia 379254 0.8524 /usr/local/bin/git-pack-objects Maybe we are looking at the wrong thing, it may be fast to fork a process, is it fast for the process to exit? -- Jon Smirl jonsmirl@xxxxxxxxx - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html