08 Jan, 2013

1 commit


23 Nov, 2012

1 commit

  • Mainly merge all different per-cpu arrays into a single array which
    holds all topology information per logical cpu.
    Also fix the broken core vs socket variable naming and simplify the
    locking a bit.
    When running in environments without topology information also
    invent book, socket and core ids, so that not all ids are zero.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     

12 Nov, 2012

1 commit

  • The current topology code confuses core id vs physical package id.

    In other words /sys/devices/system/cpu/cpuX/topology/core_id
    displays the physical_package_id (aka socket id) instead of the
    core id.
    The physical_package_id sysfs attribute always displays "-1"
    instead of the socket id.

    Fix this mix-up with a small patch which defines and initializes
    topology_physical_package_id correctly and fixes the broken
    core id handling.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     

26 Sep, 2012

4 commits


20 Jul, 2012

1 commit

  • Remove the file name from the comment at top of many files. In most
    cases the file name was wrong anyway, so it's rather pointless.

    Also unify the IBM copyright statement. We did have a lot of sightly
    different statements and wanted to change them one after another
    whenever a file gets touched. However that never happened. Instead
    people start to take the old/"wrong" statements to use as a template
    for new files.
    So unify all of them in one go.

    Signed-off-by: Heiko Carstens

    Heiko Carstens
     

11 Mar, 2012

1 commit

  • Define struct pcpu and merge some of the NR_CPUS arrays into it, including
    __cpu_logical_map, current_set and smp_cpu_state. Split smp related
    functions to those operating on physical cpus and the functions operating
    on a logical cpu number. Make the functions for physical cpus use a
    pointer to a struct pcpu. This hides the knowledge about cpu addresses in
    smp.c, entry[64].S and swsusp_asm64.S, thus remove the sigp.h header.

    The PSW restart mechanism is used to start secondary cpus, calling a
    function on an online cpu, calling a function on the ipl cpu, and for
    the nmi signal. Replace the different assembler functions with a
    single function restart_int_handler. The new entry point calls a function
    whose pointer is stored in the lowcore of the target cpu and it can wait
    for the source cpu to stop. This covers all existing use cases.

    Overall the code is now simpler and there are ~380 lines less code.

    Reviewed-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     

10 Jan, 2012

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (31 commits)
    [S390] disassembler: mark exception causing instructions
    [S390] Enable exception traces by default
    [S390] return address of compat signals
    [S390] sysctl: get rid of dead declaration
    [S390] dasd: fix fixpoint divide exception in define_extent
    [S390] dasd: add sanity check to detect path connection error
    [S390] qdio: fix kernel panic for zfcp 31-bit
    [S390] Add s390x description to Documentation/kdump/kdump.txt
    [S390] Add VMCOREINFO_SYMBOL(high_memory) to vmcoreinfo
    [S390] dasd: fix expiration handling for recovery requests
    [S390] outstanding interrupts vs. smp_send_stop
    [S390] ipc: call generic sys_ipc demultiplexer
    [S390] zcrypt: Fix error return codes.
    [S390] zcrypt: Rework length parameter checking.
    [S390] cleanup trap handling
    [S390] Remove Kerntypes leftovers
    [S390] topology: increase poll frequency if change is anticipated
    [S390] entry[64].S improvements
    [S390] make arch/s390 subdirectories depend on config option
    [S390] kvm: move cmf host id constant out of lowcore
    ...

    Fix up conflicts in arch/s390/kernel/{smp.c,topology.c} due to the
    sysdev removal clashing with "topology: get rid of ifdefs" which moved
    some of that code around.

    Linus Torvalds
     

07 Jan, 2012

1 commit

  • This resolves the conflict in the arch/arm/mach-s3c64xx/s3c6400.c file,
    and it fixes the build error in the arch/x86/kernel/microcode_core.c
    file, that the merge did not catch.

    The microcode_core.c patch was provided by Stephen Rothwell
    who was invaluable in the merge issues involved
    with the large sysdev removal process in the driver-core tree.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

27 Dec, 2011

3 commits

  • Increase cpu topology change poll frequency if a change is anticipated.
    Otherwise a user might be a bit confused to have to wait up to a minute
    in order to see a change this should be visible immediatly.
    However there is no guarantee that the change will happen during the
    time frame the poll frequency is increased.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Cleanup z10 topology handling. This adds some more code but hopefully
    the result is more readable and easier to maintain.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Remove all ifdefs from topology code and also only compile it for the
    CONFIG_SCHED_BOOK case. The new code selects SCHED_MC if SCHED_BOOK is
    selected. SCHED_MC without SCHED_BOOK is not possible anymore.
    Furthermore various sysfs attributes are not available anymore for the
    !SCHED_BOOK case. In particular all attributes that correspond to
    CPU polarization.
    But since all real world kernels have SCHED_BOOK selected anyway this
    doesn't matter too much.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     

22 Dec, 2011

1 commit

  • This moves the 'cpu sysdev_class' over to a regular 'cpu' subsystem
    and converts the devices to regular devices. The sysdev drivers are
    implemented as subsystem interfaces now.

    After all sysdev classes are ported to regular driver core entities, the
    sysdev implementation will be entirely removed from the kernel.

    Userspace relies on events and generic sysfs subsystem infrastructure
    from sysdev devices, which are made available with this conversion.

    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Tony Luck
    Cc: Fenghua Yu
    Cc: Arnd Bergmann
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Paul Mundt
    Cc: "David S. Miller"
    Cc: Chris Metcalf
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Borislav Petkov
    Cc: Tigran Aivazian
    Cc: Len Brown
    Cc: Zhang Rui
    Cc: Dave Jones
    Cc: Peter Zijlstra
    Cc: Russell King
    Cc: Andrew Morton
    Cc: Arjan van de Ven
    Cc: "Rafael J. Wysocki"
    Cc: "Srivatsa S. Bhat"
    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     

14 Nov, 2011

1 commit


30 Oct, 2011

1 commit


26 May, 2011

1 commit


23 May, 2011

1 commit


29 Oct, 2010

1 commit

  • Fix cpu masks for 'topology=off' case. Folding of the scheduling domains
    happen in such a way that everything belongs to the MC domain instead
    of the CPU doimain.
    This should fix a performance regression introduced with
    eafd2b6d "[S390] topology: use default MC domain initializer" and also
    makes sure we have the same behavious as if CONFIG_SCHED_MC was not
    selected at all.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     

25 Oct, 2010

5 commits


10 Sep, 2010

1 commit


17 May, 2010

1 commit


09 Apr, 2010

1 commit

  • In the default case the lock is not unlocked. The return is
    converted to a goto, to share the unlock at the end of the function.

    A simplified version of the semantic patch that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @r exists@
    expression E1;
    identifier f;
    @@

    f (...) { }
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Julia Lawall
     

14 Jan, 2010

1 commit


26 Mar, 2009

1 commit


30 Dec, 2008

1 commit


29 Dec, 2008

1 commit

  • * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (85 commits)
    [S390] provide documentation for hvc_iucv kernel parameter.
    [S390] convert ctcm printks to dev_xxx and pr_xxx macros.
    [S390] convert zfcp printks to pr_xxx macros.
    [S390] convert vmlogrdr printks to pr_xxx macros.
    [S390] convert zfcp dumper printks to pr_xxx macros.
    [S390] convert cpu related printks to pr_xxx macros.
    [S390] convert qeth printks to dev_xxx and pr_xxx macros.
    [S390] convert sclp printks to pr_xxx macros.
    [S390] convert iucv printks to dev_xxx and pr_xxx macros.
    [S390] convert ap_bus printks to pr_xxx macros.
    [S390] convert dcssblk and extmem printks messages to pr_xxx macros.
    [S390] convert monwriter printks to pr_xxx macros.
    [S390] convert s390 debug feature printks to pr_xxx macros.
    [S390] convert monreader printks to pr_xxx macros.
    [S390] convert appldata printks to pr_xxx macros.
    [S390] convert setup printks to pr_xxx macros.
    [S390] convert hypfs printks to pr_xxx macros.
    [S390] convert time printks to pr_xxx macros.
    [S390] convert cpacf printks to pr_xxx macros.
    [S390] convert cio printks to pr_xxx macros.
    ...

    Linus Torvalds
     

26 Dec, 2008

1 commit


25 Dec, 2008

5 commits


12 Dec, 2008

1 commit


15 Nov, 2008

1 commit

  • 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
    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens