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 5. Primary contact at Partner, email, phone (chat) Gabbert, Keve A, +1 503 264 7597 keve.a.gabbert
The feature has been released in RHEL5.3. This request is same as BZ# 451593 We should close this as duplicate of it.
*** This bug has been marked as a duplicate of bug 451593 ***