Bug 474321 - [Intel 5.4 FEAT] Multiple outstanding ptc.g instructions support on Intel IPF platform (Boxboro-MC)
[Intel 5.4 FEAT] Multiple outstanding ptc.g instructions support on Intel IPF...
Status: CLOSED DUPLICATE of bug 451593
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel (Show other bugs)
ia64 Linux
low Severity medium
: rc
: ---
Assigned To: Red Hat Kernel Manager
Martin Jenner
Depends On:
Blocks: 452016
  Show dependency treegraph
Reported: 2008-12-03 05:37 EST by Jane Lv
Modified: 2009-02-01 00:15 EST (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-02-01 00:15:37 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Jane Lv 2008-12-03 05:37:50 EST
1.  Feature Overview:
     a. Name of feature:
        Multiple outstanding ptc.g instructions support on IPF

     b. Feature Description
According to SDM2.2, Itanium supports multiple outstanding ptc.g instructions.
But current kernel function ia64_global_tlb_purge() uses a spinlock to
ptc.g instructions issued by multiple processors. This serialization might have
scalability issue on a big SMP machine where many processors could purge TLB
in parallel.

The patch fixes this problem by issuing multiple ptc.g instructions in
ia64_global_tlb_purge(). It queries PALO table to get max number of outstanding
ptc.g instructions. PALO specification can be found at: 

The original patch and its updated ones are in git tree now. The original patch
is: http://www.gelato.unsw.edu.au/archives/linux-ia64/0801/21684.html

To test the patch:

1. On non Tukwila, there is no running difference between the patched kernel
and previous kernel.
        - In dmesg, check "PALO not found." String. This means platform or BIOS
doesn't support PALO table and multiple outstanding ptc.g instructions.
        - To test the kernel, just run some mmap intensive workload to make
sure the kernel is stable on old processors;
2. On Tukwila platform (we currently only have Crater Lake SDV for Tukwila).
        - In dmesg, check "PALO=0xxxxxx" string. This means PALO table is
supported on the platform and BIOS.
        - In cat /proc/pal/cpu##/vm_info, check "Max Purges" which is 1 for
non-Tukwila processor and could be more than 1 on non-Tukwila processor. Max
purges is 10 on Crater Lake/Tukwila system.
        - Run mmap intensive workload to stress multiple ptc.g instructions on
the platform.
        - You might want to see if multiple outstanding ptc.g instructions are
really issued on the platform during workload run time. You can refer to the
sysfs statistical interface in patch:
Please see the sysfs part in tlb.c. This part is not release to outside; it's
only for internal test purpose.
        - Since the patch is for improving performance. You might check
performance change with the patch. SpecJbb or other mmap intensive benchmarks
are good candidate for performance measurement.

2.  Feature Details:
     a. Architectures:

     b. Bugzilla Dependencies:

     c. Drivers or hardware dependencies:
        Intel IPF server, Boxboro-MC

     d. Upstream acceptance information:
        Code is upstream now.

     e. External links:

     f. Severity (U,H,M,L):

     g. Target Release Date:

3. Business Justification:
     a. Why is this feature needed?
        Performance improving.

     b. What hardware does this enable?
        Intel IPF servers.

     c. Forecast, impact on revenue?

     d. Any configuration info?

     e. Are there other dependencies (drivers).

4. Primary contact at Red Hat, email, phone (chat)
     John Villalovos

5. Primary contact at Partner, email, phone (chat)
     Gabbert, Keve A, +1 503 264 7597
Comment 1 Luming Yu 2009-01-20 21:31:52 EST
The feature has been released in RHEL5.3.
This request is same as BZ# 451593
We should close this as duplicate of it.
Comment 2 Luming Yu 2009-02-01 00:15:37 EST

*** This bug has been marked as a duplicate of bug 451593 ***

Note You need to log in before you can comment on or make changes to this bug.