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

1 commit

  • 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
     

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

2 commits

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

07 Jan, 2012

2 commits

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

04 Jan, 2012

2 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

10 commits

  • 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
     
  • 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
     
  • 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
     
  • 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
     
  • 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
     
  • 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
     

23 Dec, 2011

1 commit

  • We simply say that regular this_cpu use must be safe regardless of
    preemption and interrupt state. That has no material change for x86
    and s390 implementations of this_cpu operations. However, arches that
    do not provide their own implementation for this_cpu operations will
    now get code generated that disables interrupts instead of preemption.

    -tj: This is part of on-going percpu API cleanup. For detailed
    discussion of the subject, please refer to the following thread.

    http://thread.gmane.org/gmane.linux.kernel/1222078

    Signed-off-by: Christoph Lameter
    Signed-off-by: Tejun Heo
    LKML-Reference:

    Christoph Lameter
     

22 Dec, 2011

1 commit

  • * master: (848 commits)
    SELinux: Fix RCU deref check warning in sel_netport_insert()
    binary_sysctl(): fix memory leak
    mm/vmalloc.c: remove static declaration of va from __get_vm_area_node
    ipmi_watchdog: restore settings when BMC reset
    oom: fix integer overflow of points in oom_badness
    memcg: keep root group unchanged if creation fails
    nilfs2: potential integer overflow in nilfs_ioctl_clean_segments()
    nilfs2: unbreak compat ioctl
    cpusets: stall when updating mems_allowed for mempolicy or disjoint nodemask
    evm: prevent racing during tfm allocation
    evm: key must be set once during initialization
    mmc: vub300: fix type of firmware_rom_wait_states module parameter
    Revert "mmc: enable runtime PM by default"
    mmc: sdhci: remove "state" argument from sdhci_suspend_host
    x86, dumpstack: Fix code bytes breakage due to missing KERN_CONT
    IB/qib: Correct sense on freectxts increment and decrement
    RDMA/cma: Verify private data length
    cgroups: fix a css_set not found bug in cgroup_attach_proc
    oprofile: Fix uninitialized memory access when writing to writing to oprofilefs
    Revert "xen/pv-on-hvm kexec: add xs_reset_watches to shutdown watches from old kernel"
    ...

    Conflicts:
    kernel/cgroup_freezer.c

    Rafael J. Wysocki
     

15 Dec, 2011

1 commit


13 Dec, 2011

2 commits


07 Dec, 2011

1 commit


01 Dec, 2011

1 commit

  • This patch makes sure we don't underindicate _PAGE_CHANGED in case
    we have a race between an operation that changes the page and this
    code path that hits us between page_get_storage_key and
    page_set_storage_key. Note that we still have a potential
    underindication on _PAGE_REFERENCED in the unlikely event that
    the page was changed but not referenced _and_ someone references
    the page in the race window. That's not considered to be a problem.

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

    Carsten Otte
     

22 Nov, 2011

2 commits


21 Nov, 2011

1 commit

  • * 'kvm-updates/3.2' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM guest: prevent tracing recursion with kvmclock
    Revert "KVM: PPC: Add support for explicit HIOR setting"
    KVM: VMX: Check for automatic switch msr table overflow
    KVM: VMX: Add support for guest/host-only profiling
    KVM: VMX: add support for switching of PERF_GLOBAL_CTRL
    KVM: s390: announce SYNC_MMU
    KVM: s390: Fix tprot locking
    KVM: s390: handle SIGP sense running intercepts
    KVM: s390: Fix RUNNING flag misinterpretation

    Linus Torvalds
     

18 Nov, 2011

1 commit


17 Nov, 2011

2 commits

  • SIGP sense running may cause an intercept on higher level
    virtualization, so handle it by checking the CPUSTAT_RUNNING flag.

    Signed-off-by: Cornelia Huck
    Signed-off-by: Carsten Otte
    Signed-off-by: Avi Kivity

    Cornelia Huck
     
  • CPUSTAT_RUNNING was implemented signifying that a vcpu is not stopped.
    This is not, however, what the architecture says: RUNNING should be
    set when the host is acting on the behalf of the guest operating
    system.

    CPUSTAT_RUNNING has been changed to be set in kvm_arch_vcpu_load()
    and to be unset in kvm_arch_vcpu_put().

    For signifying stopped state of a vcpu, a host-controlled bit has
    been used and is set/unset basically on the reverse as the old
    CPUSTAT_RUNNING bit (including pushing it down into stop handling
    proper in handle_stop()).

    Cc: stable@kernel.org
    Signed-off-by: Cornelia Huck
    Signed-off-by: Carsten Otte
    Signed-off-by: Avi Kivity

    Cornelia Huck
     

14 Nov, 2011

3 commits


10 Nov, 2011

1 commit

  • The 802.1X EAPOL handshake hostapd does requires
    knowing whether the frame was ack'ed by the peer.
    Currently, we fudge this pretty badly by not even
    transmitting the frame as a normal data frame but
    injecting it with radiotap and getting the status
    out of radiotap monitor as well. This is rather
    complex, confuses users (mon.wlan0 presence) and
    doesn't work with all hardware.

    To get rid of that hack, introduce a real wifi TX
    status option for data frame transmissions.

    This works similar to the existing TX timestamping
    in that it reflects the SKB back to the socket's
    error queue with a SCM_WIFI_STATUS cmsg that has
    an int indicating ACK status (0/1).

    Since it is possible that at some point we will
    want to have TX timestamping and wifi status in a
    single errqueue SKB (there's little point in not
    doing that), redefine SO_EE_ORIGIN_TIMESTAMPING
    to SO_EE_ORIGIN_TXSTATUS which can collect more
    than just the timestamp; keep the old constant
    as an alias of course. Currently the internal APIs
    don't make that possible, but it wouldn't be hard
    to split them up in a way that makes it possible.

    Thanks to Neil Horman for helping me figure out
    the functions that add the control messages.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

01 Nov, 2011

1 commit

  • * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (54 commits)
    [S390] Remove error checking from copy_oldmem_page()
    [S390] qdio: prevent dsci access without adapter interrupts
    [S390] irqstats: split IPI interrupt accounting
    [S390] add missing __tlb_flush_global() for !CONFIG_SMP
    [S390] sparse: fix sparse symbol shadow warning
    [S390] sparse: fix sparse NULL pointer warnings
    [S390] sparse: fix sparse warnings with __user pointers
    [S390] sparse: fix sparse warnings in math-emu
    [S390] sparse: fix sparse warnings about missing prototypes
    [S390] sparse: fix sparse ANSI-C warnings
    [S390] sparse: fix sparse static warnings
    [S390] sparse: fix access past end of array warnings
    [S390] dasd: prevent path verification before resume
    [S390] qdio: remove multicast polling
    [S390] qdio: reset outbound SBAL error states
    [S390] qdio: EQBS retry after CCQ 96
    [S390] qdio: add timestamp for last queue scan time
    [S390] Introduce get_clock_fast()
    [S390] kvm: Handle diagnose 0x10 (release pages)
    [S390] take mmap_sem when walking guest page table
    ...

    Linus Torvalds