Ok, here are (finally, I've been debugging this so much purely to see these things) some lmbench numbers with Hugh's base patch on sparc64.
Ignore my previous comments about shell performance getting worse, it's some difference that makes things run more slowly in single user mode compared to a fully brought up system. First, for 32-bit tasks. BEFORE Process fork+exit: 171.4483 microseconds Process fork+exit: 171.9688 microseconds Process fork+exit: 169.2727 microseconds Process fork+exit: 169.0333 microseconds Process fork+exit: 165.8065 microseconds Process fork+execve: 555.7000 microseconds Process fork+execve: 556.6000 microseconds Process fork+execve: 552.6000 microseconds Process fork+execve: 557.1000 microseconds Process fork+execve: 552.3333 microseconds Process fork+/bin/sh -c: 2207.3333 microseconds Process fork+/bin/sh -c: 2183.0000 microseconds Process fork+/bin/sh -c: 2179.6667 microseconds Process fork+/bin/sh -c: 2190.0000 microseconds Process fork+/bin/sh -c: 2197.6667 microseconds AFTER Process fork+exit: 142.9487 microseconds Process fork+exit: 147.8649 microseconds Process fork+exit: 139.0250 microseconds Process fork+exit: 138.9250 microseconds Process fork+exit: 136.9268 microseconds Process fork+execve: 478.3333 microseconds Process fork+execve: 479.1667 microseconds Process fork+execve: 479.9091 microseconds Process fork+execve: 480.1667 microseconds Process fork+execve: 479.9091 microseconds Process fork+/bin/sh -c: 2026.0000 microseconds Process fork+/bin/sh -c: 2029.6667 microseconds Process fork+/bin/sh -c: 2044.6667 microseconds Process fork+/bin/sh -c: 2037.6667 microseconds Process fork+/bin/sh -c: 2028.6667 microseconds Pretty good, now for 64-bit processes. BEFORE Process fork+exit: 226.5200 microseconds Process fork+exit: 230.0417 microseconds Process fork+exit: 223.8800 microseconds Process fork+exit: 226.4091 microseconds Process fork+exit: 219.3043 microseconds Process fork+execve: 799.8571 microseconds Process fork+execve: 806.1429 microseconds Process fork+execve: 799.5714 microseconds Process fork+execve: 800.8571 microseconds Process fork+execve: 788.7143 microseconds Process fork+/bin/sh -c: 2655.0000 microseconds Process fork+/bin/sh -c: 2668.5000 microseconds Process fork+/bin/sh -c: 2649.0000 microseconds Process fork+/bin/sh -c: 2662.5000 microseconds Process fork+/bin/sh -c: 2642.0000 microseconds AFTER Process fork+exit: 165.1212 microseconds Process fork+exit: 159.4571 microseconds Process fork+exit: 160.3714 microseconds Process fork+exit: 158.9091 microseconds Process fork+exit: 157.2188 microseconds Process fork+execve: 536.4545 microseconds Process fork+execve: 542.0909 microseconds Process fork+execve: 536.3000 microseconds Process fork+execve: 540.6364 microseconds Process fork+execve: 537.1818 microseconds Process fork+/bin/sh -c: 2275.0000 microseconds Process fork+/bin/sh -c: 2272.0000 microseconds Process fork+/bin/sh -c: 2275.6667 microseconds Process fork+/bin/sh -c: 2270.3333 microseconds Process fork+/bin/sh -c: 2284.0000 microseconds Quite nice. It makes the 64-bit numbers on par with the 32-bit numbers. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/