Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 474321

Summary: [Intel 5.4 FEAT] Multiple outstanding ptc.g instructions support on Intel IPF platform (Boxboro-MC)
Product: Red Hat Enterprise Linux 5 Reporter: Jane Lv <jane.lv>
Component: kernelAssignee: Red Hat Kernel Manager <kernel-mgr>
Status: CLOSED DUPLICATE QA Contact: Martin Jenner <mjenner>
Severity: medium Docs Contact:
Priority: low    
Version: 5.4CC: jane.lv, jvillalo, keve.a.gabbert, luyu, youquan.song
Target Milestone: rc   
Target Release: ---   
Hardware: ia64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-02-01 05:15:37 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Jane Lv 2008-12-03 10:37:50 UTC
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
serialize
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: 
http://www.dig64.org/home/DIG64_PALO_R1_0.pdf

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:
http://linux-os.sc.intel.com/~fyu/projects/cv/tkw/rhel5.1/ptcg_rhel51.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:
        IA64

     b. Bugzilla Dependencies:
        None

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

     d. Upstream acceptance information:
        Code is upstream now.

     e. External links:
        None.

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

     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?
        None

     d. Any configuration info?
        None

     e. Are there other dependencies (drivers).
        None

4. Primary contact at Red Hat, email, phone (chat)
     John Villalovos
     jvillalo@redhat.com

5. Primary contact at Partner, email, phone (chat)
     Gabbert, Keve A, +1 503 264 7597
     keve.a.gabbert@intel.com

Comment 1 Luming Yu 2009-01-21 02:31:52 UTC
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 05:15:37 UTC

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