<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/s390/kernel, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-01-18T18:44:02Z</updated>
<entry>
<title>s390 specific system call wrappers</title>
<updated>2009-01-18T18:44:02Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2009-01-14T13:14:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4f4463d0866933a99afe57a06f3effc33b9922c6'/>
<id>urn:sha1:4f4463d0866933a99afe57a06f3effc33b9922c6</id>
<content type='text'>
commit 26689452f5ca201add63b1b1ff0dbcf82d6885e7 upstream.

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>Remove __attribute__((weak)) from sys_pipe/sys_pipe2</title>
<updated>2009-01-18T18:43:51Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2009-01-14T13:13:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=085edf4999da237c254869130ec6c60f5417f9e0'/>
<id>urn:sha1:085edf4999da237c254869130ec6c60f5417f9e0</id>
<content type='text'>
commit 1134723e96f6e2abcf8bfd7a2d1c96fcc323ef35 upstream.

Remove __attribute__((weak)) from common code sys_pipe implemantation.
IA64, ALPHA, SUPERH (32bit) and SPARC (32bit) have own implemantations
with the same name. Just rename them.
For sys_pipe2 there is no architecture specific implementation.

Cc: Richard Henderson &lt;rth@twiddle.net&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Cc: Paul Mundt &lt;lethal@linux-sh.org&gt;
Cc: Tony Luck &lt;tony.luck@intel.com&gt;
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>[S390] Fix alignment of initial kernel stack.</title>
<updated>2008-11-27T10:06:58Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2008-11-27T10:05:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0778dc3a624b48cf80072b04405cacd1ad4079be'/>
<id>urn:sha1:0778dc3a624b48cf80072b04405cacd1ad4079be</id>
<content type='text'>
We need an alignment of 16384 bytes for the initial kernel stack if
the kernel is configured for 16384 bytes stacks but the linker script
currently guarantees only an alignment of 8192 bytes.

So fix this and simply use THREAD_SIZE as alignment value which will
always do the right thing.

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] fix/cleanup sched_clock</title>
<updated>2008-11-27T10:06:57Z</updated>
<author>
<name>Christian Borntraeger</name>
</author>
<published>2008-11-27T10:05:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8107d8296baff899db89c1716fe8af69a5b19d18'/>
<id>urn:sha1:8107d8296baff899db89c1716fe8af69a5b19d18</id>
<content type='text'>
CONFIG_PRINTK_TIME reveals that sched_clock has a wrong offset during boot:
..
[    0.000000]   Movable zone: 0 pages used for memmap
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 775679
[    0.000000] Kernel command line: dasd=4b6c root=/dev/dasda1 ro noinitrd
[    0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes)
[6920575.975232] console [ttyS0] enabled
[6920575.987586] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
[6920575.991404] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
..

The s390 implementation of sched_clock uses the store clock instruction and
subtracts jiffies_timer_cc.
jiffies_timer_cc is a local variable in arch/s390/kernel/time.c and only used
for sched_clock and monotonic clock. For historical reasons there is an offset
on that value. With todays code this offset is unnecessary. By removing that
offset we can get a sched_clock which returns the nanoseconds after time_init.
This improves CONFIG_PRINTK_TIME.

Since sched_clock is the only user, I have also renamed jiffies_timer_cc to
sched_clock_base_cc. In addition, the local variable init_timer_cc is redundant
and can be romved as well.

Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] fix system call parameter functions.</title>
<updated>2008-11-27T10:06:56Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2008-11-27T10:05:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=59da21398e680e8100625d689c8bebee6a139e93'/>
<id>urn:sha1:59da21398e680e8100625d689c8bebee6a139e93</id>
<content type='text'>
syscall_get_nr() currently returns a valid result only if the call
chain of the traced process includes do_syscall_trace_enter(). But
collect_syscall() can be called for any sleeping task, the result of
syscall_get_nr() in general is completely bogus.

To make syscall_get_nr() work for any sleeping task the traps field
in pt_regs is replace with svcnr - the system call number the process
is executing. If svcnr == 0 the process is not on a system call path.

The syscall_get_arguments and syscall_set_arguments use regs-&gt;gprs[2]
for the first system call parameter. This is incorrect since gprs[2]
may have been overwritten with the system call number if the call
chain includes do_syscall_trace_enter. Use regs-&gt;orig_gprs2 instead.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] fix s390x_newuname</title>
<updated>2008-11-14T17:18:55Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2008-11-14T17:18:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d2f019fe40e8fecd822f87bc759f74925a5c31d6'/>
<id>urn:sha1:d2f019fe40e8fecd822f87bc759f74925a5c31d6</id>
<content type='text'>
The uname system call for 64 bit compares current-&gt;personality without
masking the upper 16 bits. If e.g. READ_IMPLIES_EXEC is set the result
of a uname system call will always be s390x even if the process uses
the s390 personality.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] cpu topology: fix locking</title>
<updated>2008-11-14T17:18:54Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2008-11-14T17:18:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=74af283102b358b0da545460d0d176f473e110f6'/>
<id>urn:sha1:74af283102b358b0da545460d0d176f473e110f6</id>
<content type='text'>
cpu_coregroup_map used to grab a mutex on s390 since it was only
called from process context.
Since c7c22e4d5c1fdebfac4dba76de7d0338c2b0d832 "block: add support
for IO CPU affinity" this is not true anymore.
It now also gets called from softirq context.

To prevent possible deadlocks change this in architecture code and
use a spinlock instead of a mutex.

Cc: stable@kernel.org
Cc: Jens Axboe &lt;jens.axboe@oracle.com&gt;
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] ftrace: fix kernel stack backchain walking</title>
<updated>2008-11-14T17:18:53Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2008-11-14T17:18:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=50bec4ce5d36ebf96189dcc54e20c7fce4bf61bf'/>
<id>urn:sha1:50bec4ce5d36ebf96189dcc54e20c7fce4bf61bf</id>
<content type='text'>
With CONFIG_IRQSOFF_TRACER the trace_hardirqs_off() function includes
a call to __builtin_return_address(1). But we calltrace_hardirqs_off()
from early entry code. There we have just a single stack frame.
So this results in a kernel stack backchain walk that would walk beyond
the kernel stack. Following the NULL terminated backchain this results
in a lowcore read access.

To fix this we simply call trace_hardirqs_off_caller() and pass the
current instruction pointer.

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] ftrace: disable tracing on idle psw</title>
<updated>2008-11-14T17:18:53Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2008-11-14T17:18:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=632448f65001c4935ed0d3bb362017d773da2eca'/>
<id>urn:sha1:632448f65001c4935ed0d3bb362017d773da2eca</id>
<content type='text'>
Disable tracing on idle psw. Otherwise it would give us huge
preempt off times for idle. Which is rather pointless.

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] lockdep: fix compile bug</title>
<updated>2008-11-14T17:18:53Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2008-11-14T17:18:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=af4c68740e848019d8d14c52704ed8eacceddac6'/>
<id>urn:sha1:af4c68740e848019d8d14c52704ed8eacceddac6</id>
<content type='text'>
arch/s390/kernel/built-in.o: In function `cleanup_io_leave_insn':
mem_detect.c:(.text+0x10592): undefined reference to `lockdep_sys_exit'

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>
</feed>
