15 Jan, 2012

1 commit

  • * 'for-next' of git://git.infradead.org/users/dhowells/linux-headers:
    UAPI: Split trivial #if defined(__KERNEL__) && X conditionals
    UAPI: Don't have a #elif clause in a __KERNEL__ guard in linux/soundcard.h
    UAPI: Fix AHZ multiple inclusion when __KERNEL__ is removed
    UAPI: Make linux/patchkey.h easier to parse
    UAPI: Fix nested __KERNEL__ guards in video/edid.h
    UAPI: Alter the S390 asm include guards to be recognisable by the UAPI splitter
    UAPI: Guard linux/cuda.h
    UAPI: Guard linux/pmu.h
    UAPI: Guard linux/isdn_divertif.h
    UAPI: Guard linux/sound.h
    UAPI: Rearrange definition of HZ in asm-generic/param.h
    UAPI: Make FRV use asm-generic/param.h
    UAPI: Make M32R use asm-generic/param.h
    UAPI: Make MN10300 use asm-generic/param.h
    UAPI: elf_read_implies_exec() is a kernel-only feature - so hide from userspace
    UAPI: Don't include linux/compat.h in sparc's asm/siginfo.h
    UAPI: Fix arch/mips/include/asm/Kbuild to have separate header-y lines

    Linus Torvalds
     

13 Jan, 2012

2 commits

  • Use the more commonly used __noreturn instead of ATTRIB_NORETURN.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Joe Perches
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Tony Luck
    Cc: Fenghua Yu
    Acked-by: Geert Uytterhoeven
    Acked-by: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Chris Metcalf
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • It's a very old and now unused prototype marking so just delete it.

    Neaten panic pointer argument style to keep checkpatch quiet.

    Signed-off-by: Joe Perches
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Tony Luck
    Cc: Fenghua Yu
    Acked-by: Geert Uytterhoeven
    Acked-by: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Chris Metcalf
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     

10 Jan, 2012

2 commits

  • * 'for-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
    percpu: Remove irqsafe_cpu_xxx variants

    Fix up conflict in arch/x86/include/asm/percpu.h due to clash with
    cebef5beed3d ("x86: Fix and improve percpu_cmpxchg{8,16}b_double()")
    which edited the (now removed) irqsafe_cpu_cmpxchg*_double code.

    Linus Torvalds
     
  • * '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
     

09 Jan, 2012

3 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)
    Kconfig: acpi: Fix typo in comment.
    misc latin1 to utf8 conversions
    devres: Fix a typo in devm_kfree comment
    btrfs: free-space-cache.c: remove extra semicolon.
    fat: Spelling s/obsolate/obsolete/g
    SCSI, pmcraid: Fix spelling error in a pmcraid_err() call
    tools/power turbostat: update fields in manpage
    mac80211: drop spelling fix
    types.h: fix comment spelling for 'architectures'
    typo fixes: aera -> area, exntension -> extension
    devices.txt: Fix typo of 'VMware'.
    sis900: Fix enum typo 'sis900_rx_bufer_status'
    decompress_bunzip2: remove invalid vi modeline
    treewide: Fix comment and string typo 'bufer'
    hyper-v: Update MAINTAINERS
    treewide: Fix typos in various parts of the kernel, and fix some comments.
    clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR
    gpio: Kconfig: drop unknown symbol 'CS5535_GPIO'
    leds: Kconfig: Fix typo 'D2NET_V2'
    sound: Kconfig: drop unknown symbol ARCH_CLPS7500
    ...

    Fix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new
    kconfig additions, close to removed commented-out old ones)

    Linus Torvalds
     
  • * 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)
    PM / Hibernate: Implement compat_ioctl for /dev/snapshot
    PM / Freezer: fix return value of freezable_schedule_timeout_killable()
    PM / shmobile: Allow the A4R domain to be turned off at run time
    PM / input / touchscreen: Make st1232 use device PM QoS constraints
    PM / QoS: Introduce dev_pm_qos_add_ancestor_request()
    PM / shmobile: Remove the stay_on flag from SH7372's PM domains
    PM / shmobile: Don't include SH7372's INTCS in syscore suspend/resume
    PM / shmobile: Add support for the sh7372 A4S power domain / sleep mode
    PM: Drop generic_subsys_pm_ops
    PM / Sleep: Remove forward-only callbacks from AMBA bus type
    PM / Sleep: Remove forward-only callbacks from platform bus type
    PM: Run the driver callback directly if the subsystem one is not there
    PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers
    PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412.
    PM / Sleep: Merge internal functions in generic_ops.c
    PM / Sleep: Simplify generic system suspend callbacks
    PM / Hibernate: Remove deprecated hibernation snapshot ioctls
    PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled()
    ARM: S3C64XX: Implement basic power domain support
    PM / shmobile: Use common always on power domain governor
    ...

    Fix up trivial conflict in fs/xfs/xfs_buf.c due to removal of unused
    XBT_FORCE_SLEEP bit

    Linus Torvalds
     
  • * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)
    reiserfs: Properly display mount options in /proc/mounts
    vfs: prevent remount read-only if pending removes
    vfs: count unlinked inodes
    vfs: protect remounting superblock read-only
    vfs: keep list of mounts for each superblock
    vfs: switch ->show_options() to struct dentry *
    vfs: switch ->show_path() to struct dentry *
    vfs: switch ->show_devname() to struct dentry *
    vfs: switch ->show_stats to struct dentry *
    switch security_path_chmod() to struct path *
    vfs: prefer ->dentry->d_sb to ->mnt->mnt_sb
    vfs: trim includes a bit
    switch mnt_namespace ->root to struct mount
    vfs: take /proc/*/mounts and friends to fs/proc_namespace.c
    vfs: opencode mntget() mnt_set_mountpoint()
    vfs: spread struct mount - remaining argument of next_mnt()
    vfs: move fsnotify junk to struct mount
    vfs: move mnt_devname
    vfs: move mnt_list to struct mount
    vfs: switch pnode.h macros to struct mount *
    ...

    Linus Torvalds
     

08 Jan, 2012

1 commit

  • * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (73 commits)
    arm: fix up some samsung merge sysdev conversion problems
    firmware: Fix an oops on reading fw_priv->fw in sysfs loading file
    Drivers:hv: Fix a bug in vmbus_driver_unregister()
    driver core: remove __must_check from device_create_file
    debugfs: add missing #ifdef HAS_IOMEM
    arm: time.h: remove device.h #include
    driver-core: remove sysdev.h usage.
    clockevents: remove sysdev.h
    arm: convert sysdev_class to a regular subsystem
    arm: leds: convert sysdev_class to a regular subsystem
    kobject: remove kset_find_obj_hinted()
    m86k: gpio - convert sysdev_class to a regular subsystem
    mips: txx9_sram - convert sysdev_class to a regular subsystem
    mips: 7segled - convert sysdev_class to a regular subsystem
    sh: dma - convert sysdev_class to a regular subsystem
    sh: intc - convert sysdev_class to a regular subsystem
    power: suspend - convert sysdev_class to a regular subsystem
    power: qe_ic - convert sysdev_class to a regular subsystem
    power: cmm - convert sysdev_class to a regular subsystem
    s390: time - convert sysdev_class to a regular subsystem
    ...

    Fix up conflicts with 'struct sysdev' removal from various platform
    drivers that got changed:
    - arch/arm/mach-exynos/cpu.c
    - arch/arm/mach-exynos/irq-eint.c
    - arch/arm/mach-s3c64xx/common.c
    - arch/arm/mach-s3c64xx/cpu.c
    - arch/arm/mach-s5p64x0/cpu.c
    - arch/arm/mach-s5pv210/common.c
    - arch/arm/plat-samsung/include/plat/cpu.h
    - arch/powerpc/kernel/sysfs.c
    and fix up cpu_is_hotpluggable() as per Greg in include/linux/cpu.h

    Linus Torvalds
     

07 Jan, 2012

6 commits

  • Signed-off-by: Al Viro

    Al Viro
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1958 commits)
    net: pack skb_shared_info more efficiently
    net_sched: red: split red_parms into parms and vars
    net_sched: sfq: extend limits
    cnic: Improve error recovery on bnx2x devices
    cnic: Re-init dev->stats_addr after chip reset
    net_sched: Bug in netem reordering
    bna: fix sparse warnings/errors
    bna: make ethtool_ops and strings const
    xgmac: cleanups
    net: make ethtool_ops const
    vmxnet3" make ethtool ops const
    xen-netback: make ops structs const
    virtio_net: Pass gfp flags when allocating rx buffers.
    ixgbe: FCoE: Add support for ndo_get_fcoe_hbainfo() call
    netdev: FCoE: Add new ndo_get_fcoe_hbainfo() call
    igb: reset PHY after recovering from PHY power down
    igb: add basic runtime PM support
    igb: Add support for byte queue limits.
    e1000: cleanup CE4100 MDIO registers access
    e1000: unmap ce4100_gbe_mdio_base_virt in e1000_remove
    ...

    Linus Torvalds
     
  • 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
     
  • * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits)
    sched/tracing: Add a new tracepoint for sleeptime
    sched: Disable scheduler warnings during oopses
    sched: Fix cgroup movement of waking process
    sched: Fix cgroup movement of newly created process
    sched: Fix cgroup movement of forking process
    sched: Remove cfs bandwidth period check in tg_set_cfs_period()
    sched: Fix load-balance lock-breaking
    sched: Replace all_pinned with a generic flags field
    sched: Only queue remote wakeups when crossing cache boundaries
    sched: Add missing rcu_dereference() around ->real_parent usage
    [S390] fix cputime overflow in uptime_proc_show
    [S390] cputime: add sparse checking and cleanup
    sched: Mark parent and real_parent as __rcu
    sched, nohz: Fix missing RCU read lock
    sched, nohz: Set the NOHZ_BALANCE_KICK flag for idle load balancer
    sched, nohz: Fix the idle cpu check in nohz_idle_balance
    sched: Use jump_labels for sched_feat
    sched/accounting: Fix parameter passing in task_group_account_field
    sched/accounting: Fix user/system tick double accounting
    sched/accounting: Re-use scheduler statistics for the root cgroup
    ...

    Fix up conflicts in
    - arch/ia64/include/asm/cputime.h, include/asm-generic/cputime.h
    usecs_to_cputime64() vs the sparse cleanups
    - kernel/sched/fair.c, kernel/time/tick-sched.c
    scheduler changes in multiple branches

    Linus Torvalds
     
  • * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (106 commits)
    perf kvm: Fix copy & paste error in description
    perf script: Kill script_spec__delete
    perf top: Fix a memory leak
    perf stat: Introduce get_ratio_color() helper
    perf session: Remove impossible condition check
    perf tools: Fix feature-bits rework fallout, remove unused variable
    perf script: Add generic perl handler to process events
    perf tools: Use for_each_set_bit() to iterate over feature flags
    perf tools: Unify handling of features when writing feature section
    perf report: Accept fifos as input file
    perf tools: Moving code in some files
    perf tools: Fix out-of-bound access to struct perf_session
    perf tools: Continue processing header on unknown features
    perf tools: Improve macros for struct feature_ops
    perf: builtin-record: Document and check that mmap_pages must be a power of two.
    perf: builtin-record: Provide advice if mmap'ing fails with EPERM.
    perf tools: Fix truncated annotation
    perf script: look up thread using tid instead of pid
    perf tools: Look up thread names for system wide profiling
    perf tools: Fix comm for processes with named threads
    ...

    Linus Torvalds
     
  • * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (64 commits)
    cpu: Export cpu_up()
    rcu: Apply ACCESS_ONCE() to rcu_boost() return value
    Revert "rcu: Permit rt_mutex_unlock() with irqs disabled"
    docs: Additional LWN links to RCU API
    rcu: Augment rcu_batch_end tracing for idle and callback state
    rcu: Add rcutorture tests for srcu_read_lock_raw()
    rcu: Make rcutorture test for hotpluggability before offlining CPUs
    driver-core/cpu: Expose hotpluggability to the rest of the kernel
    rcu: Remove redundant rcu_cpu_stall_suppress declaration
    rcu: Adaptive dyntick-idle preparation
    rcu: Keep invoking callbacks if CPU otherwise idle
    rcu: Irq nesting is always 0 on rcu_enter_idle_common
    rcu: Don't check irq nesting from rcu idle entry/exit
    rcu: Permit dyntick-idle with callbacks pending
    rcu: Document same-context read-side constraints
    rcu: Identify dyntick-idle CPUs on first force_quiescent_state() pass
    rcu: Remove dynticks false positives and RCU failures
    rcu: Reduce latency of rcu_prepare_for_idle()
    rcu: Eliminate RCU_FAST_NO_HZ grace-period hang
    rcu: Avoid needlessly IPIing CPUs at GP end
    ...

    Linus Torvalds
     

06 Jan, 2012

1 commit

  • * 'core-memblock-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (52 commits)
    memblock: Reimplement memblock allocation using reverse free area iterator
    memblock: Kill early_node_map[]
    score: Use HAVE_MEMBLOCK_NODE_MAP
    s390: Use HAVE_MEMBLOCK_NODE_MAP
    mips: Use HAVE_MEMBLOCK_NODE_MAP
    ia64: Use HAVE_MEMBLOCK_NODE_MAP
    SuperH: Use HAVE_MEMBLOCK_NODE_MAP
    sparc: Use HAVE_MEMBLOCK_NODE_MAP
    powerpc: Use HAVE_MEMBLOCK_NODE_MAP
    memblock: Implement memblock_add_node()
    memblock: s/memblock_analyze()/memblock_allow_resize()/ and update users
    memblock: Track total size of regions automatically
    powerpc: Cleanup memblock usage
    memblock: Reimplement memblock_enforce_memory_limit() using __memblock_remove()
    memblock: Make memblock functions handle overflowing range @size
    memblock: Reimplement __memblock_remove() using memblock_isolate_range()
    memblock: Separate out memblock_isolate_range() from memblock_set_node()
    memblock: Kill memblock_init()
    memblock: Kill sentinel entries at the end of static region arrays
    memblock: Add __memblock_dump_all()
    ...

    Linus Torvalds
     

04 Jan, 2012

3 commits


31 Dec, 2011

1 commit


30 Dec, 2011

1 commit

  • Commit 2a95ea6c0d129b4 ("procfs: do not overflow get_{idle,iowait}_time
    for nohz") did not take into account that one some architectures jiffies
    and cputime use different units.

    This causes get_idle_time() to return numbers in the wrong units, making
    the idle time fields in /proc/stat wrong.

    Instead of converting the usec value returned by
    get_cpu_{idle,iowait}_time_us to units of jiffies, use the new function
    usecs_to_cputime64 to convert it to the correct unit of cputime64_t.

    Signed-off-by: Andreas Schwab
    Acked-by: Michal Hocko
    Cc: Arnd Bergmann
    Cc: "Artem S. Tashkinov"
    Cc: Dave Jones
    Cc: Alexey Dobriyan
    Cc: Thomas Gleixner
    Cc: "Luck, Tony"
    Cc: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andreas Schwab
     

27 Dec, 2011

19 commits

  • If an exception happens the PSW either points to the instruction that
    caused the exception or to the instruction that follows the exception
    causing instruction, depending on the exception type.
    Since the inkernel disassembler adds a ">" in front of the disassembly
    many people assume incorrectly that the instruction that is pointed to
    must be the cause of the exception. To make people aware that this is
    not necessarily the case add a different character in front of the
    disassembled instruction that precedes the current instructions.

    The output now looks like this:

    Krnl PSW : 0704200180000000 0000000000120de8 (test_function+0x0/0x100)
    R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3
    Krnl GPRS: 000003ff00000000 0000000000120de4 000000000091bb40 0000000000000001
    000003fffd2ea000 0000000030fb7df8 0000000030fb7f10 000003ffffa113c8
    000000000091bb40 000003fffd2ea000 0000000000000002 0000000030fb7f10
    000000003f290240 0000000000606220 00000000002cfb5c 0000000030fb7d58
    Krnl Code: 0000000000120ddc: b90400a9 lgr %r10,%r9
    0000000000120de0: a7f4ff88 brc 15,120cf0
    #0000000000120de4: a7f40001 brc 15,120de6
    >0000000000120de8: a7f13f80 tmll %r15,16256
    0000000000120dec: eb8ff0580024 stmg %r8,%r15,88(%r15)
    0000000000120df2: a7840001 brc 8,120df4
    0000000000120df6: b90400ef lgr %r14,%r15
    0000000000120dfa: a7fbffb8 aghi %r15,-72

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

    Heiko Carstens
     
  • Enable exception traces by default so that early user space breakage
    (e.g. broken code in initrd) can be easily indentified.

    If not needed afterwards it can be disabled by writing '0' in one of
    these two files:

    /proc/sys/kernel/userprocess_debug
    /proc/sys/debug/exception-trace

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

    Heiko Carstens
     
  • A 31-bit kernel always sets the high order bit in the return address
    for a signal handler.
    git commit d4e81b35b882d96f "[S390] allow all addressing modes" makes
    sure that the high order bit is set in the signal return address for
    standard signals of a 31-bit compat process but fails to do the same
    for real-time signals. To make things consistent the bit needs to be
    set by setup_rt_frame32 as well.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Remove dead sysctl_userprocess_debug. The variable is
    gone since we map our old userprocess_debug sysctl to
    the common code show_unhandled_signals sysctl on s390.

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

    Heiko Carsten
     
  • The queue_start_poll function pointer field in struct qdio_initialize
    had to change its type and become a vector of function pointers to
    support asynchronous delivery of storage blocks so rename the field to
    make the type change explicit and ensure no other user of qdio tries
    to use the field the old way. During setting up the qdio queues, only
    dereference vector elements if the vector is actually allocated.

    Signed-off-by: Steffen Maier
    Signed-off-by: Einar Lueck
    Signed-off-by: Jan Glauber
    Signed-off-by: Martin Schwidefsky

    Steffen Maier
     
  • Currently the vmalloc_start address (or better end of real memory) for s390x
    is obtained by makedumpfile using vmlist.addr symbol, which is not correct.
    The correct vmalloc_start address can be obtained using 'high_memory' symbol.

    This patch adds the high_memory symbol to vmcoreinfo.

    Signed-off-by: Michael Holzheu
    Signed-off-by: Martin Schwidefsky

    Michael Holzheu
     
  • The panic function will first print the panic message to the console,
    then stop additional cpus with smp_send_stop and finally call the
    function on the panic notifier list.
    In case of an I/O based console the panic message will cause I/O to
    be started and a function on the panic notifier list will wait for the
    completion of the I/O. That does not work if an I/O completion interrupt
    has already been delivered to a cpu that is then stopped by smp_send_stop.
    To break this cyclic dependency add code to smp_send_stop that gives
    the additional cpu the opportunity to complete outstanding interrupts.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Call generic IPC demultiplexer instead of having a nearly identical
    s390 variant. Also make sure that native and compat handling now have
    the same behaviour.

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

    Heiko Carstens
     
  • Move the program interruption code and the translation exception identifier
    to the pt_regs structure as 'int_code' and 'int_parm_long' and make the
    first level interrupt handler in entry[64].S store the two values. That
    makes it possible to drop 'prot_addr' and 'trap_no' from the thread_struct
    and to reduce the number of arguments to a lot of functions. Finally
    un-inline do_trap. Overall this saves 5812 bytes in the .text section of
    the 64 bit kernel.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Remove last traces of our kerntypes patch which was always an addon
    patch which never got upstream. Somehow a few bits got upstream
    anyway.
    Since kerntypes aren't used anymore and lcrash isn't maintained (for
    s390 at least) remove the last traces of kerntypes that somehow went
    upstream. Also remove the documentation that mentions lcrash.

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

    Heiko Carstens
     
  • 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
     
  • Another round of cleanup for entry[64].S, in particular the program check
    handler looks more reasonable now. The code size for the 31 bit kernel
    has been reduced by 616 byte and by 528 byte for the 64 bit version.
    Even better the code is a bit faster as well.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Only add subdirectories of arch/s390 to kbuild if their respective
    config option is selected.

    Signed-off-by: Jan Glauber
    Signed-off-by: Martin Schwidefsky

    Jan Glauber
     
  • There is no reason for the cpu-measurement-facility host id constant to
    reside in the lowcore where space is precious. Use an entry in the literal
    pool in HANDLE_SIE_INTERCEPT and a stack slot in sie64a.
    While we are at it replace the id -1 with 0 to indicate host execution.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • 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
     
  • This patch disables the check for MACHINE_IS_VM when initializing the
    pfault infrastructure. The code checks for successful completion of
    diag 258 anyway, thus it's safe to try initialization on LPAR anyway.
    This is needed to use pfault on kvm

    Signed-off-by: Carsten Otte
    Signed-off-by: Martin Schwidefsky

    Carsten Otte
     
  • 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
     
  • Currently, when smp_switch_to_ipl_cpu() is done, the backchain in the dump
    analysis tool crash looks like the following:

    #0 [1f746e70] __machine_kexec at 11dd92
    #1 [1f746eb8] smp_restart_cpu at 11820e
    #0 [00907eb0] cpu_idle at 10602e
    #1 [00907ef8] start_kernel at 979a08

    It would be good to see the registers of the interrupted function.
    To achieve this, the backchain on the new stack has to be set to zero.
    This looks then like the following:

    #0 [1f746e70] __machine_kexec at 11dd8e
    #1 [1f746eb8] smp_restart_cpu at 11820a
    PSW: 0706000180000000 00000000005c6fe6 (vtime_stop_cpu+134)
    GPRS: 0000000000000000 00000000005c6fe6 0000000001ad0228 0000000001ad0248
    0000000000907f08 0000000001ad0b40 0000000000979344 0000000000000000
    00000000009c0000 00000000009c0010 00000000009ab024 0000000001ad0200
    0000000001ad0238 00000000005cc9d8 000000000010602e 0000000000907e68
    #0 [00907eb0] cpu_idle at 10602e
    #1 [00907ef8] start_kernel at 979a08

    In addition to this, now also the correct PSW is stored in the pt_regs
    structure that is located at the start of the panic stack.

    Signed-off-by: Michael Holzheu
    Signed-off-by: Martin Schwidefsky

    Michael Holzheu
     
  • The kernel address space of a 64 bit kernel currently uses a three level
    page table and the vmemmap array has a fixed address and a fixed maximum
    size. A three level page table is good enough for systems with less than
    3.8TB of memory, for bigger systems four page table levels need to be
    used. Each page table level costs a bit of performance, use 3 levels for
    normal systems and 4 levels only for the really big systems.
    To avoid bloating sparse.o too much set MAX_PHYSMEM_BITS to 46 for a
    maximum of 64TB of memory.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky