30 Dec, 2015
1 commit
-
Use CONFIG_TOPOLOGY which selects CONFIG_SCHED_* all over the place to
reduce the random usage of the previous config options.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
18 Dec, 2015
1 commit
-
head.S on s390 contains some sanity checks if the kernel will run on a
machine or if the machine is too old, e.g. if the kernel contains
instructions not available on the machine. If so, it will emit an error
message to the console before it stops execution.Therefore head.S contains only instructions which are availanble with the
earliest machine generation (z900). In order to make sure we don't
accidently add instructions which are not available on z900, always compile
with -march=z900. This makes sure compilation will fail if wrong
instructions are used.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
14 Oct, 2015
1 commit
-
To be able to analyse problems in regard to hypervisor overhead
add a tracepoing for diagnose calls. It reports the number of
the diagnose issued, e.g.sshd-1385 [002] .... 42.701431: diagnose: nr=0x9c
-0 [001] ..s. 43.587528: diagnose: nr=0x9cSigned-off-by: Martin Schwidefsky
29 Jul, 2015
1 commit
-
The 31-bit assembler code for the early sclp console is error
prone as git commit fde24b54d976cc123506695c17db01438a11b673
"s390/sclp: clear upper register halves in _sclp_print_early"
has shown.Convert the assembler code to C.
Signed-off-by: Martin Schwidefsky
25 Mar, 2015
3 commits
-
Rename two more files which I forgot. Also remove the "asm" from the
swsusp_asm64.S file, since the ".S" suffix already makes it obvious
that this file contains assembler code.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
Rename a couple of files to get rid of the "64" suffix.
"git blame" will still work.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
Remove the 31 bit support in order to reduce maintenance cost and
effectively remove dead code. Since a couple of years there is no
distribution left that comes with a 31 bit kernel.The 31 bit kernel also has been broken since more than a year before
anybody noticed. In addition I added a removal warning to the kernel
shown at ipl for 5 minutes: a960062e5826 ("s390: add 31 bit warning
message") which let everybody know about the plan to remove 31 bit
code. We didn't get any response.Given that the last 31 bit only machine was introduced in 1999 let's
remove the code.
Anybody with 31 bit user space code can still use the compat mode.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
29 Jan, 2015
1 commit
-
Make use of gcc's hotpatch support to generate better code for ftrace
function tracing.
The generated code now contains only a six byte nop in each function
prologue instead of a 24 byte code block which will be runtime patched to
support function tracing.
With the new code generation the runtime overhead for supporting function
tracing is close to zero, while the original code did show a significant
performance impact.Acked-by: Steven Rostedt
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
09 Oct, 2014
2 commits
-
31 bit and 64 bit diverge more and more and it is rather painful
to keep both parts running.
To make things simpler just remove the 31 bit support which nobody
uses anyway.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
Move the C functions and definitions related to the idle state handling
to arch/s390/include/asm/idle.h and arch/s390/kernel/idle.c. The function
s390_get_idle_time is renamed to arch_cpu_idle_time and vtime_stop_cpu to
enabled_wait.Signed-off-by: Martin Schwidefsky
25 Sep, 2014
1 commit
-
Signed-off-by: Jan Willeke
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
09 Sep, 2014
1 commit
-
We have too many combinations for function tracing. Lets simply stick to
the most advanced option, so we don't have to care of other combinations.This means we always select DYNAMIC_FTRACE if FUNCTION_TRACER is selected.
In the s390 Makefile also remove CONFIG_FTRACE_SYSCALLS since that
functionality got moved to architecture independent code in the meantime.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
07 Mar, 2014
1 commit
-
The whole compat exec domain code doesn't make any difference.
From the registered s390_exec_domain:
- exec domain name is only displayed in /proc/execdomains
- handler is unused
- pers_low and pers_high are only used internally to find this specific
exec domain otherwise the default exec domain will be used
- all other fields match the default exec domainSo let's get rid of this.
Reported-by: Thomas Gleixner
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
16 Dec, 2013
2 commits
-
Introduce a perf PMU, "cpum_sf", to support the CPU-Measurement
Sampling Facility. You can control the sampling facility through
this perf PMU interfaces. Perf sampling events are created for
hardware samples.For details about the CPU-Measurement Sampling Facility, see
"The Load-Program-Parameter and the CPU-Measurement Facilities" (SA23-2260).Signed-off-by: Hendrik Brueckner
Signed-off-by: Martin Schwidefsky -
Provide PMU event attributes for supported counters and export their symbolic
names to the sysfs "events" directory.See the /sys/devices/cpum_cf/events/ directory for a list of available counters.
Note that you might require counter set authorizations for the LPAR to use them.Signed-off-by: Hendrik Brueckner
Signed-off-by: Martin Schwidefsky
24 Oct, 2013
1 commit
-
Just like all other architectures we should use out-of-line find bit
operations, since the inline variant bloat the size of the kernel image.
And also like all other architecures we should only supply optimized
variants of the __ffs, ffs, etc. primitives.Therefore this patch removes the inlined s390 find bit functions and uses
the generic out-of-line variants instead.The optimization of the primitives follows with the next patch.
With this patch also the functions find_first_bit_left() and
find_next_bit_left() have been reimplemented, since logically, they are
nothing else but a find_first_bit()/find_next_bit() implementation that
use an inverted __fls() instead of __ffs().
Also the restriction that these functions only work on machines which
support the "flogr" instruction is gone now.This reduces the size of the kernel image (defconfig, -march=z9-109)
by 144,482 bytes.
Alone the size of the function build_sched_domains() gets reduced from
7 KB to 3,5 KB.We also git rid of unused functions like find_first_bit_le()...
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky