I wrote: > > But if the distributors are only shipping 64-bit kernels, then '-m31' > > still does not completely answer the question about 31-bit performance. > > The rest of Linux will be running 64-bit, skewing the results.
What I was trying to say is that a 31-bit program running on a 64-bit Linux kernel will have more 64-bit concerns (and may incur more overhead) than the same 31-bit program running on a 31-bit Linux kernel. IFF THAT IS CORRECT, then there continues to be value in the 31-bit kernel. Then Ivan wrote: > Not necessarily. Granted, the process will be running in z/Architecture > mode, no matter what, but the instructions used will be 31 bit only and > executing in a 31 bit addressing mode. It all depends on the cost of > executing 31 bit instructions in z/Architecture (aka s390x) vs executing > 31 bit instructions in ESA/390 mode (aka s390). There may be some difference there, true. I don't believe that was the concern of the original poster or of the intervening contributions I have read. > In 31 bit addressing mode and using 31 bit (or 32 bit) instructions > behave (almost) exactly the same whether you are running in > z/Architecture or ESA/390 mode of operations. The timing MIGHT be > different depending on the hardware implementation - but you probably > WILL see a difference between that and running a process in 64 bit > addressing mode that is executing 64 bit only instructions. Yes, this is probably correct. (I say, not having measured it.) > For example, the instruction to store multiple 32 bit registers (STM) > will behave the same whether you are running in z/Arch or ESA/390 mode > (it will take the registers and store the 32 least significant bits of > those registers (that's 1/2 of it in 64 bit and the whole thing in 32 > bit) and store them in consecutive 32 bit locations) - so for that > example, you could see a difference between -m64 and -m31 (even if your > kernel has switched to z/Architecture at IPL). Clearly, yes. > Also, it's obvious the kernel itself may use some 64 bit instructions > (and thus, on the premise that 64 bit has a different cost than 31 bit) > it will probably impact your user/sys ratio. But for mainly problem > state (aka userland) stuff, you will probably see a difference between > -m64 and -m31 (although it may only affect pointer/long movements) I believe we all concur that differences will be seen between -m64 and -m31 for the user space program. You hint that the 64-bit kernel induces more overhead, which agrees with my point. > Again, a program making heavy use of 'long long' will probably suffer a > performance impact while running in 31 bit mode. No doubt. > Finally, since hardware implementations are already geared towards 64 > bit - I'm not even sure the performance penalty is *that* severe. > However, this is a highly speculative statement ! I cannot wait for Barton and company to measure it! > I will concede however that measuring the overall impact might be > another story. > > --Ivan -- R; ---------------------------------------------------------------------- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
