linux-hardened/arch/s390/kernel
Heiko Carstens 881730ad36 s390/cache: expose cpu cache topology via sysfs
Expose cpu cache topology via sysfs.
The created sysfs directory structure is compatible to what x86, ia64
and powerpc have.
On s390 we expose only information about cpu caches which are private
to a cpu via sysfs . Caches which are shared between cpus do not have
a sysfs representation.
The reason for that is that the file "shared_cpu_map" is mandatory
and only if running under LPAR it is possible to tell which cpus
share which cache. Second level hypervisors however do not and cannot
expose that information to guests.
In order to have a consistent view we made the choice to always only
expose information about private cpu caches via sysfs.

Example for a z196 cpu (cpu1 in /sys/devices/cpu):

cpu1/cache/index0/size -- 64K
cpu1/cache/index0/type -- Data
cpu1/cache/index0/level -- 1
cpu1/cache/index0/number_of_sets -- 64
cpu1/cache/index0/shared_cpu_map -- 00000000,00000002
cpu1/cache/index0/shared_cpu_list -- 1
cpu1/cache/index0/coherency_line_size -- 256
cpu1/cache/index0/ways_of_associativity -- 4
cpu1/cache/index1/size -- 128K
cpu1/cache/index1/type -- Instruction
cpu1/cache/index1/level -- 1
cpu1/cache/index1/number_of_sets -- 64
cpu1/cache/index1/shared_cpu_map -- 00000000,00000002
cpu1/cache/index1/shared_cpu_list -- 1
cpu1/cache/index1/coherency_line_size -- 256
cpu1/cache/index1/ways_of_associativity -- 8
cpu1/cache/index2/size -- 1536K
cpu1/cache/index2/type -- Unified
cpu1/cache/index2/level -- 2
cpu1/cache/index2/number_of_sets -- 512
cpu1/cache/index2/shared_cpu_map -- 00000000,00000002
cpu1/cache/index2/shared_cpu_list -- 1
cpu1/cache/index2/coherency_line_size -- 256
cpu1/cache/index2/ways_of_associativity -- 12

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2012-09-26 15:44:51 +02:00
..
vdso32 s390: add various .gitignore files. 2012-05-16 14:42:41 +02:00
vdso64 s390: add various .gitignore files. 2012-05-16 14:42:41 +02:00
.gitignore s390: add various .gitignore files. 2012-05-16 14:42:41 +02:00
asm-offsets.c s390/vtimer: rework virtual timer interface 2012-07-20 11:15:08 +02:00
audit.c [S390] Get rid of a bunch of sparse warnings again. 2007-10-12 16:13:06 +02:00
audit.h [S390] Get rid of a bunch of sparse warnings again. 2007-10-12 16:13:06 +02:00
base.S s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
bitmap.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
cache.c s390/cache: expose cpu cache topology via sysfs 2012-09-26 15:44:51 +02:00
compat_audit.c [S390] Get rid of a bunch of sparse warnings again. 2007-10-12 16:13:06 +02:00
compat_exec_domain.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
compat_linux.c s390/compat: fix mmap compat system calls 2012-08-08 07:32:57 -07:00
compat_linux.h Mark arguments to certain syscalls as being const 2010-08-13 16:53:13 -07:00
compat_ptrace.h [S390] ptrace cleanup 2011-01-05 12:47:31 +01:00
compat_signal.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
compat_wrapper.S s390/compat: fix compat wrappers for process_vm system calls 2012-08-08 07:32:57 -07:00
cpcmd.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
crash.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
crash_dump.c [S390] kernel: Add OS info memory interface 2012-03-11 11:59:29 -04:00
debug.c s390/debug: remove module_exit function / move EXPORT_SYMBOLs 2012-07-26 10:07:25 +02:00
diag.c [S390] replace diag10() with diag10_range() function 2011-05-10 17:13:43 +02:00
dis.c s390/bpf,jit: BPF Just In Time compiler for s390 2012-09-26 15:44:49 +02:00
early.c s390: enable large page support with CONFIG_DEBUG_PAGEALLOC 2012-09-26 15:44:50 +02:00
ebcdic.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
entry.h s390/vtimer: rework virtual timer interface 2012-07-20 11:15:08 +02:00
entry.S s390/vtimer: rework virtual timer interface 2012-07-20 11:15:08 +02:00
entry64.S s390/vtimer: rework virtual timer interface 2012-07-20 11:15:08 +02:00
ftrace.c [S390] cleanup ftrace backend functions 2011-01-05 12:47:31 +01:00
head.S s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
head31.S s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
head64.S s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
head_kdump.S s390/sigp: use sigp order code defines in assembly code 2012-06-05 13:23:36 +02:00
ipl.c s390/ipl: Use diagnose 8 command separation 2012-07-26 10:07:26 +02:00
irq.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
jump_label.c s390/jump-label: add arch_jump_label_transform_static() 2011-10-25 11:54:37 -07:00
kprobes.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
lgr.c s390/lgr: Add init check to lgr_info_log() 2012-07-20 11:15:01 +02:00
machine_kexec.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
Makefile s390/cache: expose cpu cache topology via sysfs 2012-09-26 15:44:51 +02:00
mcount.S s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
mcount64.S s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
mem_detect.c [S390] Rework create_mem_hole() function 2011-12-27 11:27:09 +01:00
module.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
nmi.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
os_info.c s390/smp: make absolute lowcore / cpu restart parameter accesses more robust 2012-06-14 09:09:02 +02:00
perf_cpum_cf.c s390/irq: split irq stats for cpu-measurement alert facilities 2012-05-23 17:06:52 +02:00
perf_event.c [S390] Fix build errors (fallout from system.h disintegration) 2012-03-30 09:41:12 +02:00
process.c s390/vtimer: rework virtual timer interface 2012-07-20 11:15:08 +02:00
processor.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
ptrace.c s390/seccomp: add support for system call filtering using BPF 2012-08-08 07:32:56 -07:00
reipl.S s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
reipl64.S s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
relocate_kernel.S s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
relocate_kernel64.S s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
s390_ksyms.c s390/string: provide asm lib functions for memcpy and memcmp 2012-09-26 15:44:50 +02:00
sclp.S s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
setup.c s390/hwcaps: do not report high gprs for 31 bit kernel 2012-09-10 09:53:52 +02:00
signal.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
smp.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2012-07-24 09:49:09 -07:00
stacktrace.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
suspend.c Disintegrate asm/system.h for S390 2012-03-28 18:30:02 +01:00
swsusp_asm64.S s390/sigp: use sigp order code defines in assembly code 2012-06-05 13:23:36 +02:00
sys_s390.c s390: do not clobber personality flags in sys_32_personality() 2012-08-08 07:32:56 -07:00
syscalls.S [S390] wire up process_vm syscalls 2011-11-14 11:19:08 +01:00
sysinfo.c s390/cpu: remove cpu "capabilities" sysfs attribute 2012-05-30 09:07:30 +02:00
time.c s390/vtimer: rework virtual timer interface 2012-07-20 11:15:08 +02:00
topology.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
traps.c s390: make use of user_mode() macro where possible 2012-07-30 11:03:12 +02:00
vdso.c s390/mm: rename user_mode variable to addressing_mode 2012-07-30 11:03:11 +02:00
vmlinux.lds.S s390/linker script: use RO_DATA_SECTION 2012-07-26 10:07:25 +02:00
vtime.c s390/vtimer: rework virtual timer interface 2012-07-20 11:15:08 +02:00