<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/s390/lib, branch linux-2.6.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2006-10-01T07:39:22Z</updated>
<entry>
<title>[PATCH] Directed yield: direct yield of spinlocks for s390.</title>
<updated>2006-10-01T07:39:22Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2006-10-01T06:27:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3c1fcfe229e99752c74efb945a4a3f560be04204'/>
<id>urn:sha1:3c1fcfe229e99752c74efb945a4a3f560be04204</id>
<content type='text'>
Use the new diagnose 0x9c in the spinlock implementation for s390.  It
yields the remaining timeslice of the virtual cpu that tries to acquire a
lock to the virtual cpu that is the current holder of the lock.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[S390] Inline assembly cleanup.</title>
<updated>2006-09-28T14:56:43Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2006-09-28T14:56:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=94c12cc7d196bab34aaa98d38521549fa1e5ef76'/>
<id>urn:sha1:94c12cc7d196bab34aaa98d38521549fa1e5ef76</id>
<content type='text'>
Major cleanup of all s390 inline assemblies. They now have a common
coding style. Quite a few have been shortened, mainly by using register
asm variables. Use of the EX_TABLE macro helps  as well. The atomic ops,
bit ops and locking inlines new use the Q-constraint if a newer gcc
is used.  That results in slightly better code.

Thanks to Christian Borntraeger for proof reading the changes.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] user readable uninitialised kernel memory.</title>
<updated>2006-09-28T14:56:03Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2006-09-28T14:56:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=52149ba6b0ddf3e9d965257cc0513193650b3ea8'/>
<id>urn:sha1:52149ba6b0ddf3e9d965257cc0513193650b3ea8</id>
<content type='text'>
A user space program can read uninitialised kernel memory
by appending to a file from a bad address and then reading
the result back. The cause is the copy_from_user function
that does not clear the remaining bytes of the kernel
buffer after it got a fault on the user space address.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] __div64_32 for 31 bit.</title>
<updated>2006-09-28T14:55:39Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2006-09-28T14:55:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d9f7a745d55527d0d41684b22506a86c4381f7f1'/>
<id>urn:sha1:d9f7a745d55527d0d41684b22506a86c4381f7f1</id>
<content type='text'>
The clocksource infrastructure introduced with commit
ad596171ed635c51a9eef829187af100cbf8dcf7 broke 31 bit s390.
The reason is that the do_div() primitive for 31 bit always
had a restriction: it could only divide an unsigned 64 bit
integer by an unsigned 31 bit integer. The clocksource code
now uses do_div() with a base value that has the most
significant bit set. The result is that clock-&gt;cycle_interval
has a funny value which causes the linux time to jump around
like mad.
The solution is "obvious": implement a proper __div64_32
function for 31 bit s390.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] Use alternative user-copy operations for new hardware.</title>
<updated>2006-09-20T13:59:44Z</updated>
<author>
<name>Gerald Schaefer</name>
</author>
<published>2006-09-20T13:59:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6c2a9e6df60478e712f3c3d98b5047778a82a3d7'/>
<id>urn:sha1:6c2a9e6df60478e712f3c3d98b5047778a82a3d7</id>
<content type='text'>
This introduces new user-copy operations which are optimized for
copying more than 256 Bytes on new hardware.

Signed-off-by: Gerald Schaefer &lt;geraldsc@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] Make user-copy operations run-time configurable.</title>
<updated>2006-09-20T13:59:42Z</updated>
<author>
<name>Gerald Schaefer</name>
</author>
<published>2006-09-20T13:59:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d02765d1af743567398eb6d523dea0ba5e5e7e8e'/>
<id>urn:sha1:d02765d1af743567398eb6d523dea0ba5e5e7e8e</id>
<content type='text'>
Introduces a struct uaccess_ops which allows setting user-copy
operations at run-time.

Signed-off-by: Gerald Schaefer &lt;geraldsc@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] broken copy_in_user function.</title>
<updated>2006-08-30T12:33:30Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2006-08-30T12:33:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=af313e5a4f56b248767d667c3c2436dda767df77'/>
<id>urn:sha1:af313e5a4f56b248767d667c3c2436dda767df77</id>
<content type='text'>
The copy_in_user primitive does not work as advertised. If the source
and target area are available copy_in_user copies one byte too much.
If one of the memory areas is not available it does not copy as much
data as it can, but up to 257 bytes less.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] Fix sparse warnings.</title>
<updated>2006-07-12T14:41:55Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2006-07-12T14:41:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d2c993d845781d160a7ef759a3e65c6892c4a270'/>
<id>urn:sha1:d2c993d845781d160a7ef759a3e65c6892c4a270</id>
<content type='text'>
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>Remove obsolete #include &lt;linux/config.h&gt;</title>
<updated>2006-06-30T17:25:36Z</updated>
<author>
<name>Jörn Engel</name>
</author>
<published>2006-06-30T17:25:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6ab3d5624e172c553004ecc862bfeac16d9d68b7'/>
<id>urn:sha1:6ab3d5624e172c553004ecc862bfeac16d9d68b7</id>
<content type='text'>
Signed-off-by: Jörn Engel &lt;joern@wohnheim.fh-wedel.de&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] s390: Increase spinlock retry code performance</title>
<updated>2006-03-10T03:47:38Z</updated>
<author>
<name>Christian Ehrhardt</name>
</author>
<published>2006-03-10T01:33:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=96567161de0ceed45cd2eb0e5380e3c797f5c0f4'/>
<id>urn:sha1:96567161de0ceed45cd2eb0e5380e3c797f5c0f4</id>
<content type='text'>
Currently the code tries up to spin_retry times to grab a lock using the cs
instruction.  The cs instruction has exclusive access to a memory region
and therefore invalidates the appropiate cache line of all other cpus.  If
there is contention on a lock this leads to cache line trashing.  This can
be avoided if we first check wether a cs instruction is likely to succeed
before the instruction gets actually executed.

Signed-off-by: Christian Ehrhardt &lt;ehrhardt@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
