> Nevada Build 65 performace vs. Debian 4.0 performace is abysmal. > > - boot up process is 30 seconds with Debian 4.0 / ~ 50 with Nevada
Yep, and it seems the 64-bit S-x86 kernel is worse than the 32-bit kernel, at least on multiprocessor (e.g. dual core) machines. The 64-bit S-x86 kernel appears to spend (waste?) 5-7 seconds inside release_bootstrap(), depending on cpu speed: http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/i86pc/os/startup.c#1961 On the amd64 platform, release_bootstrap() is quite slow. With a 2.2Ghz AMD64 X2 cpu it needs 7 seconds to release the bootstrap code... Time seems to be consumed inside a clear_boot_mappings(0, _userlimit) call, which expands to clear_boot_mappings(0, 0xfffffd7fffe00000), and clear_boot_mappings seems to walk that address range in 4k page size increments, with a cpu crosscall for each invalidated page. I've not yet experimented with it, but it seems the 64-bit x86 kernel has a VA hole / unused virtual memory between 0x00008000.00000000 and 0xFFFF8000.00000000, anyway: http://blogs.sun.com/nilsn/entry/kernel_address_space_layout_on Would it be possible to save most of that 5-7 seconds spent in release_bootstrap(), by adding some code to skip to the end of the VA hole, when we reach the VA hole base address? This message posted from opensolaris.org _______________________________________________ perf-discuss mailing list perf-discuss@opensolaris.org