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

Reply via email to