<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/s390/kernel/vdso64, branch linux-4.6.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.6.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.6.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-01-11T12:01:24Z</updated>
<entry>
<title>s390/vdso: optimize getcpu system call</title>
<updated>2016-01-11T12:01:24Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2016-01-05T12:29:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=249c543b97e1409b13fb9539b2f880e58ddd87cf'/>
<id>urn:sha1:249c543b97e1409b13fb9539b2f880e58ddd87cf</id>
<content type='text'>
Add the CPU number to the per-cpu vdso data page and add the
__kernel_getcpu function to the vdso object to retrieve the
CPU number in user space.

Suggested-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Reviewed-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/vdso: emit a GNU hash</title>
<updated>2015-08-07T07:57:39Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2015-08-07T06:55:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aad1b688c996b4a247c4a8fd1bd6c5c563963ddb'/>
<id>urn:sha1:aad1b688c996b4a247c4a8fd1bd6c5c563963ddb</id>
<content type='text'>
As proposed by Andy Lutomirski create the SysV and the GNU hash
for the vdso objects. This may make some dynamic loaders a bit
faster.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/vdso: fix clock_gettime for CLOCK_THREAD_CPUTIME_ID, -2 and -3</title>
<updated>2015-02-12T08:37:21Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2015-01-27T14:15:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=49253925c0be02ed4eb7d94a426731107dd8059d'/>
<id>urn:sha1:49253925c0be02ed4eb7d94a426731107dd8059d</id>
<content type='text'>
Git commit 8d8f2e18a6dbd3d09dd918788422e6ac8c878e96
"s390/vdso: ectg gettime support for CLOCK_THREAD_CPUTIME_ID"
broke clock_gettime for CLOCK_THREAD_CPUTIME_ID.

Git commit c742b31c03f37c5c499178f09f57381aa6c70131
"fast vdso implementation for CLOCK_THREAD_CPUTIME_ID"
introduced the ECTG for clock id -2. Correct would have been
clock id -3.

Fix the whole mess, CLOCK_THREAD_CPUTIME_ID is based on
CPUCLOCK_SCHED and can not be speed up by the vdso. A speedup
is only available for clock id -3 which is CPUCLOCK_VIRT for
the task currently running on the CPU.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/vdso: fix stack corruption</title>
<updated>2014-10-27T12:27:02Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2014-10-27T07:28:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9b2efe035eafb1a29ff3dfe21ed0e755aac09130'/>
<id>urn:sha1:9b2efe035eafb1a29ff3dfe21ed0e755aac09130</id>
<content type='text'>
The kernel provided vdso functions do not get a stack frame from the
calling function and therefore may not change the stack contents, unless
they allocate space on their own.

This problem was exposed with 070b7be633dc "s390/vdso: replace stck with
stcke" which writes 16 bytes instead of 8 bytes into the stack frame. These
additional 8 bytes however were indeed used by the caller (glibc) to save
data and therefore this data was corrupted by the vdso code.

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/vdso: add vdso support for coarse clocks</title>
<updated>2014-09-09T06:53:27Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2014-08-29T10:31:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b7eacb59cd7fb5e98852186e485c0c865f862645'/>
<id>urn:sha1:b7eacb59cd7fb5e98852186e485c0c865f862645</id>
<content type='text'>
Add CLOCK_REALTIME_COARSE and CLOCK_MONOTONIC_COARSE optimization to
the 64-bit and 31-bit vdso.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/vdso: replace stck with stcke</title>
<updated>2014-09-09T06:53:27Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2014-08-29T10:44:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=070b7be633dc33c0899e8c934b4d5fad046b06e8'/>
<id>urn:sha1:070b7be633dc33c0899e8c934b4d5fad046b06e8</id>
<content type='text'>
If gettimeofday / clock_gettime are called multiple times in a row
the STCK instruction will stall until a difference in the result is
visible. This unnecessarily slows down the vdso calls, use stcke
instead of stck to get rid of the stall.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/vdso: remove NULL pointer check from clock_gettime</title>
<updated>2014-09-01T07:56:29Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2014-08-29T08:16:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5da76157a4b7d5f595c846cf5e95f6d085b350e2'/>
<id>urn:sha1:5da76157a4b7d5f595c846cf5e95f6d085b350e2</id>
<content type='text'>
The explicit NULL pointer check on the timespec argument is only
required for clock_getres but not for clock_gettime.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/time,vdso: fix clock_gettime for CLOCK_MONOTONIC</title>
<updated>2013-12-02T17:15:25Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2013-12-02T17:00:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ca5de58ba746b08c920b2024aaf01aa1500b110d'/>
<id>urn:sha1:ca5de58ba746b08c920b2024aaf01aa1500b110d</id>
<content type='text'>
With git commit 79c74ecbebf76732f91b82a62ce7fc8a88326962
"s390/time,vdso: convert to the new update_vsyscall interface"
the new update_vsyscall function already does the sum of xtime
and wall_to_monotonic. The old update_vsyscall function only
copied the wall_to_monotonic offset. The vdso code needs to be
modified to take this into consideration.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/vdso: ectg gettime support for CLOCK_THREAD_CPUTIME_ID</title>
<updated>2013-12-02T14:31:10Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2013-12-02T13:54:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b5e64b3de7fdd1db0a12871f7114fc1da899df8e'/>
<id>urn:sha1:b5e64b3de7fdd1db0a12871f7114fc1da899df8e</id>
<content type='text'>
The code to use the ECTG instruction to calculate the cputime for the
current thread is currently used only for the per-thread CPU-clock
with the clockid -2 (PID=0, VIRT=1). Use the same code for the clockid
CLOCK_THREAD_CPUTIME_ID to speed up the more common clockid as well.

Reported-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>s390/time,vdso: convert to the new update_vsyscall interface</title>
<updated>2013-11-25T08:15:39Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2013-11-22T09:04:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=79c74ecbebf76732f91b82a62ce7fc8a88326962'/>
<id>urn:sha1:79c74ecbebf76732f91b82a62ce7fc8a88326962</id>
<content type='text'>
Switch to the improved update_vsyscall interface that provides
sub-nanosecond precision for gettimeofday and clock_gettime.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
</feed>
