1. Feature Overview: Feature Id: [78993] a. Name of Feature: [RHEL 5.9 FEAT] Kernel VDSO support - glibc part b. Feature Description Add vdso support to speed up gettimeofday, clock_getres and clock_gettime. The gettimeofday system call needs two things to come up with the correct time: 1) the content of the TOD clock and 2) the current system time offset. The store clock (STCK) instruction can be used in a user space application but the current system time offset is only known to the kernel. The vdso shared object is a kernel provided shared library that contains the system time offset and the code to do the gettimeofday calculation in user space. The same holds true for the clock_getres and the clock_gettime calls. 2. Feature Details: Sponsor: LTC zSeries BOE Architectures: zSeries - 64 native, Arch Specificity: both Affects Kernel Modules: No Delivery Mechanism: Backport Category: other Request Type: Toolchain - Enhancement from IBM d. Upstream Acceptance: Accepted Sponsor Priority P2 f. Severity: high IBM Confidential: No Code Contribution: IBM code g. Component Version Target: --- 3. Business Case Some user space application, for example the Java virtual machine, tend to call gettimeofday very often. By use of a vdso this operation can be accelerated by an factor of 4 thereby increasing the performance of the user space application. 4. Primary contact at Red Hat: John Jarvis, jjarvis 5. Primary contacts at Partner: Project Management Contact: Hans-Georg Markgraf, mgrf.com Technical contact(s): Hans-Georg Markgraf, mgrf.com
------- Comment From mgrf.com 2012-02-22 04:57 EDT------- This feature has a related/required request for the kernel 78992 ??-??RHBZ 795895 [5.9 FEAT] Kernel VDSO support
IBM is signed up to test and provide feedback, setting OtherQA.
Given this is s390, I would be a lot more comfortable if IBM could step up and identify what, if anything, beyond these two patches is necessary from the glibc side: commit 19df733e643ea2a0ea95385957163d0e3d5b2d1c Author: Andreas Krebbel <Andreas.Krebbel.com> Date: Tue Jul 19 20:29:27 2011 -0400 S/390: Don't use r11 in INTERNAL_VSYSCALL_NCS macro commit 0480c901736591179cdf675697df7ea476720b90 Author: Ulrich Drepper <drepper> Date: Thu Jan 8 00:28:23 2009 +0000 * sysdeps/unix/sysv/linux/s390/bits/libc-vdso.h: New file. * sysdeps/unix/sysv/linux/s390/gettimeofday.c: New file. * sysdeps/unix/sysv/linux/s390/init-first.c: New file. * sysdeps/unix/sysv/linux/s390/Makefile (sysdep_routines): Add dl-vdso for elf subdir. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (INLINE_VSYSCALL, INTERNAL_VSYSCALL, INTERNAL_VSYSCALL_NO_SYSCALL_FALLBACK, INTERNAL_SYSCALL_NCS, HAVE_CLOCK_GETRES_VSYSCALL and HAVE_CLOCK_GETTIME_VSYSCALL: Define. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/s390/Versions: New file.
78992 ?-?RHBZ 795895 [5.9 FEAT] Kernel VDSO support
Created attachment 580461 [details] glibc-s390-vdso.patch ------- Comment (attachment only) From brueckner.com 2012-04-26 12:37 EDT-------
This enhancement request was evaluated by the full Red Hat Enterprise Linux team for inclusion in a Red Hat Enterprise Linux minor release. As a result of this evaluation, Red Hat has tentatively approved inclusion of this feature in the next Red Hat Enterprise Linux Update minor release. While it is a goal to include this enhancement in the next minor release of Red Hat Enterprise Linux, the enhancement is not yet committed for inclusion in the next minor release pending the next phase of actual code integration and successful Red Hat and partner testing.
------- Comment From mgrf.com 2012-06-11 10:16 EDT------- For the record: The code for this feature passed testing on a special RHEL 5.9 build plus the feature code
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: A Virtual Dynamic Shared Object (VDSO) allows an application in user space to perform some kernel actions without as much overhead as a system call. The VDSO is often used to provide fast access to the gettimeofday system call data. Support for VDSOs on the IBM Z series platform has been added to glibc.
------- Comment From mgrf.com 2012-10-18 06:07 EDT------- This feature is verified on R 5.9 snapshots - set to verified on IBM site
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2013-0022.html