I'm currently in the middle of an O/S study for the p1022 processor and have been using whetstone as one of the indicators for this. However, despite whetstone benchmarking the P1022DS at around 850MIPS in VxWorks and QNX, the same code run on Linux produces around 85MIPS - which is very worrying!
I've taken two very different approaches to building the code:
1). Using the native gcc compiler on the SDKLINUX P1022DS platform. Although it builds fine, it gives very poor results (as above). I suspect this might be due to the compiler lacking knowledge of the e500v2 FPU (-te500v2 doesn't compute).
2). Using CodeWarrior PA 10.0.2 to build the whetstone binary, then deploying on both P1022DS and P1022RDK boxes: this produces even stranger results:
- the code works, and produces a MIPS rating of over 1000 - provided:
- you don't compile with static linkage
- you don't run the loop count greater than around 300,000
Basically, it's got an incredibly tight sweet-spot where it'll work, but otherwise it defaults to producing the 85MIPS result as before.
Has anyone come across either of these before, or can offer any suggestions?