Hi Joel, The patches do two things to improve the simulation speed. First, they calculate what loopsperjiffy would be given the processor frequency and write that value into the global variable. You can get around this by just passing the lpj=XXXXXX boot argument to the kernel, so this change isn't particularly needed anymore. The other thing they do is re-write the __delay to use an pseudo instruction (a made up opcode that does simulator specific functionality) that encodes how long the processor should sleep for. Thus when udelay() and nsdelay() are used in the kernel, the cpu model can just jump to the right time (either the end of the delay or an interrupt).
The various other patches provide additional pseudo instructions, but none of them relate to performance. Ali On Jun 9, 2010, at 4:09 PM, Joel Hestness wrote: > Hi everyone, > I am interested in helping develop X86_FS boot up and testing. > Under X86_FS, I have been able to boot a couple different versions of the > Linux kernel (v2.6.22.9 and v2.6.28.4), but the bring up requires more than > 12 hours of simulation time. I am hoping to reduce the boot time to make it > more usable. > I recall that the M5 patches for alpha-linux play some tricks to speed > bootup, so I tried building an x86 kernel v2.6.27 with the patches. It looks > like many of the patches are specific to ALPHA, so (maybe unsurprisingly) I > encountered errors quickly in the build. > I am wondering if anyone is currently working on this, or if I could get > some pointers on where to dig in. > Thank you, > Joel > > > -- > Joel Hestness > PhD Student, Computer Architecture > Dept. of Computer Science, University of Texas - Austin > http://www.cs.utexas.edu/~hestness > _______________________________________________ > m5-dev mailing list > [email protected] > http://m5sim.org/mailman/listinfo/m5-dev _______________________________________________ m5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/m5-dev
