Peter Vander Woude wrote: >Yes on the zSeries machines, the separation of code can be huge. If >the data that is being updated is within 256 bytes of the instruction >that is updating it, there is a huge performance impact.
Yes, I'm certainly aware of the effects of storing into or near the instruction stream. Fortunately, this is not the problem in the scenario I was discussing with Dave: we were talking about the best placement of the literal pool, which consists solely of *read-only* data. So there is no issue of storing into it ... However, there are still conflicting effects at work here: on the one hand, when the literal pool is placed near to the code that uses it, it will tend to be on the same page, and hence already be paged in as soon as the code is executing. On the other hand, we're mixing up code and data in the same cache line and thus wasting parts of both L1 caches. This would argue for placing the literal pool apart from the code that's using it. [ Note that on older machines (pre-z900) with just one single L1 cache for both code and data, the cache aspects would also argue for placing the literal pool near to the code. ] Bye, Ulrich -- Dr. Ulrich Weigand [EMAIL PROTECTED]
