04 Mar, 2009

1 commit


26 Feb, 2009

1 commit

  • With the mandatory algorithm testing at registration, we have
    now created a deadlock with algorithms requiring fallbacks.
    This can happen if the module containing the algorithm requiring
    fallback is loaded first, without the fallback module being loaded
    first. The system will then try to test the new algorithm, find
    that it needs to load a fallback, and then try to load that.

    As both algorithms share the same module alias, it can attempt
    to load the original algorithm again and block indefinitely.

    As algorithms requiring fallbacks are a special case, we can fix
    this by giving them a different module alias than the rest. Then
    it's just a matter of using the right aliases according to what
    algorithms we're trying to find.

    Signed-off-by: Herbert Xu

    Herbert Xu
     

19 Feb, 2009

2 commits

  • Standby memory detected with the sclp interface gets always registered
    with add_memory calls without considering the limitationt that the
    "mem=" kernel paramater implies.
    So fix this and only register standby memory that is below the specified
    limit.
    This fixes zfcpdump since it uses "mem=32M". In case there is appr.
    2GB standby memory present all of usable memory would be used for the
    struct pages needed for standby memory.

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

    Heiko Carstens
     
  • commit aa5e97ce4bbc9d5daeec16b1d15bb3f6b7b4f4d4
    [PATCH] improve precision of process accounting.

    Introduced a timing regression:
    -bash-3.2# time ls
    real 0m0.006s
    user 0m1.754s
    sys 0m1.094s

    The problem was introduced by an error in cputime_to_timeval.
    Cputime is now 1/4096 microsecond, therefore, we have to divide
    the remainder with 4096 to get the microseconds.

    Signed-off-by: Christian Borntraeger
    Signed-off-by: Martin Schwidefsky

    Christian Borntraeger
     

15 Feb, 2009

1 commit

  • kvm_arch_sync_events is introduced to quiet down all other events may happen
    contemporary with VM destroy process, like IRQ handler and work struct for
    assigned device.

    For kvm_arch_sync_events is called at the very beginning of kvm_destroy_vm(), so
    the state of KVM here is legal and can provide a environment to quiet down other
    events.

    Signed-off-by: Sheng Yang
    Signed-off-by: Avi Kivity

    Sheng Yang
     

11 Feb, 2009

3 commits


23 Jan, 2009

5 commits

  • Add wrapper functions for the following compat system calls:
    * readahead
    * sendfile64
    * tkill
    * tgkill
    * keyctl
    This ensures that the high order bits of the parameter registers are correctly
    sign extended.

    Signed-off-by: Michael Holzheu
    Signed-off-by: Heiko Carstens

    Michael Holzheu
     
  • Precreate stop_machine threads in case the machine supports ETR/STP.
    Otherwise we might deadlock if a time sync operation gets scheduled
    and the creation of stop_machine threads would cause disk I/O.
    This is just the minimal fix.
    The real fix would be to only precreate stop_machine threads if
    ETR/STP is actually used. But that would be a rather large and
    complicated patch.

    Signed-off-by: Heiko Carstens

    Heiko Carstens
     
  • On (initial) cpu hotplug the lowcore values for user_timer and
    system_timer don't get initialized like they would get on each
    process schedule.
    On initial start of secondary cpus this leads to the situation
    where per thread user/system_timer values are larger than the
    corresponding contents of the lowcore. When later calculating
    time spent in user/system context the result can be negative.

    So for cpu hotplug we should manually initialize lowcore values.

    Fixes this bug:

    Kernel BUG at 000ec080 [verbose debug info unavailable]
    fixpoint divide exception: 0009 [#1] PREEMPT SMP
    Modules linked in:
    CPU: 10 Not tainted 2.6.28 #4
    Process sysctl (pid: 975, task: 3fa752e0, ksp: 3fbebca0)
    Krnl PSW : 070c1000 800ec080 (show_stat+0x390/0x5fc)
    R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:1 PM:0
    Krnl GPRS: 7fffffff fefc7ce5 3faec080 003879ae
    00000001 01388000 7fffffff 01388000
    00000000 00000000 0049ad50 3fbebcf8
    01388000 002f51a8 800ec1fe 3fbebcf8
    Krnl Code: 800ec076: 9001b188 stm %r0,%r1,392(%r11)
    800ec07a: 9801b0c0 lm %r0,%r1,192(%r11)
    800ec07e: 1d05 dr %r0,%r5
    >800ec080: 9001b0c0 stm %r0,%r1,192(%r11)
    800ec084: 5860b0c4 l %r6,196(%r11)
    800ec088: 1806 lr %r0,%r6
    800ec08a: 8c800001 srdl %r8,1
    800ec08e: 1d87 dr %r8,%r7
    Call Trace:
    ([] show_stat+0x4fe/0x5fc)
    [] seq_read+0xc4/0x3ac
    [] proc_reg_read+0x6e/0x9c
    [] vfs_read+0x78/0x100
    [] sys_read+0x40/0x80
    [] sysc_do_restart+0x1a/0x1e

    Signed-off-by: Heiko Carstens

    Heiko Carstens
     
  • When 31 bit user space programs call sigaltstack on a 64 bit Linux
    OS, the system call returns -1 with errno=EFAULT. The 31 bit pointer passed
    to the system call is extended to 64 bit, but the high order bits are not
    set to zero. The kernel detects the invalid user space pointer and
    returns -EFAULT. To solve the problem, sys32_sigaltstack_wrapper()
    instead of sys32_sigaltstack() has to be called. The wrapper function sets
    the high order bits to zero.

    Signed-off-by: Michael Holzheu
    Signed-off-by: Heiko Carstens

    Michael Holzheu
     
  • Use the personality() macro to mask out all bits that are not
    relevant for the personality type.
    The personality field contains bits for other things as well,
    so without masking out the not relevalent bits the comparison
    won't do what is expected.

    Reported-by: Andreas Krebbel
    Signed-off-by: Heiko Carstens

    Heiko Carstens
     

15 Jan, 2009

2 commits

  • * 'syscalls' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (44 commits)
    [CVE-2009-0029] s390 specific system call wrappers
    [CVE-2009-0029] System call wrappers part 33
    [CVE-2009-0029] System call wrappers part 32
    [CVE-2009-0029] System call wrappers part 31
    [CVE-2009-0029] System call wrappers part 30
    [CVE-2009-0029] System call wrappers part 29
    [CVE-2009-0029] System call wrappers part 28
    [CVE-2009-0029] System call wrappers part 27
    [CVE-2009-0029] System call wrappers part 26
    [CVE-2009-0029] System call wrappers part 25
    [CVE-2009-0029] System call wrappers part 24
    [CVE-2009-0029] System call wrappers part 23
    [CVE-2009-0029] System call wrappers part 22
    [CVE-2009-0029] System call wrappers part 21
    [CVE-2009-0029] System call wrappers part 20
    [CVE-2009-0029] System call wrappers part 19
    [CVE-2009-0029] System call wrappers part 18
    [CVE-2009-0029] System call wrappers part 17
    [CVE-2009-0029] System call wrappers part 16
    [CVE-2009-0029] System call wrappers part 15
    ...

    Linus Torvalds
     
  • Add swab.h to kbuild.asm and remove the individual entries from
    each arch, mark as unifdef as some arches have some kernel-only
    bits inside.

    Signed-off-by: Harvey Harrison
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     

14 Jan, 2009

3 commits


09 Jan, 2009

8 commits

  • As requested by Andrew. Same as what sparc did.

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

    Heiko Carstens
     
  • !CONFIG_SMP:

    arch/s390/kernel/vdso.c: In function 'vdso_init':
    arch/s390/kernel/vdso.c:325: error: incompatible type for argument 2 of 'vdso_alloc_per_cpu'

    Also move the code out of the BUG_ON statement since it won't be
    executed on !CONFIG_BUG. And that would be a bug.

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

    Heiko Carstens
     
  • The system call isn't wired up on s390. Just delete the dead code.
    Also we use the common code sys_ptrace system call, so the sys_ptrace
    declaration is pointless is well.

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

    Heiko Carstens
     
  • /include/asm/chpid.h:12: include of is preferred over
    /include/asm/chsc.h:15: found __[us]{8,16,32,64} type without #include
    /include/asm/cmb.h:28: found __[us]{8,16,32,64} type without #include
    /include/asm/dasd.h:195: found __[us]{8,16,32,64} type without #include
    /include/asm/kvm.h:16: include of is preferred over
    /include/asm/kvm.h:30: found __[us]{8,16,32,64} type without #include
    /include/asm/qeth.h:24: found __[us]{8,16,32,64} type without #include
    /include/asm/schid.h:5: found __[us]{8,16,32,64} type without #include
    /include/asm/swab.h:12: include of is preferred over
    /include/asm/swab.h:19: found __[us]{8,16,32,64} type without #include

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

    Heiko Carstens
     
  • When the connection between host and storage server is lost, the
    dasd device driver usually blocks all I/O on affected devices and
    waits for them to reappear. In some setups however it would be
    better if the I/O is returned as error so that device can be
    recovered by some other means, eg. in a raid or multipath setup.

    Signed-off-by: Holger Smolinski
    Signed-off-by: Stefan Weinhuber
    Signed-off-by: Martin Schwidefsky

    Holger Smolinski
     
  • Bring s390 in line with all the other ports. Not sure how s390 missed
    this change as all the other arches were being updated ...

    CC: Heiko Carstens
    CC: linux390@de.ibm.com
    CC: linux-s390@vger.kernel.org
    Signed-off-by: Mike Frysinger
    Signed-off-by: Martin Schwidefsky

    Mike Frysinger
     
  • Removed duplicated #include's in arch/s390/kernel/vdso32/gettimeofday.S

    Signed-off-by: Huang Weiyi
    Signed-off-by: Martin Schwidefsky

    Huang Weiyi
     
  • /include/asm/ptrace.h:275: extern's make no sense in userspace
    /include/asm/ptrace.h:279: extern's make no sense in userspace
    /include/asm/ptrace.h:280: extern's make no sense in userspace

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

    Heiko Carstens
     

08 Jan, 2009

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (24 commits)
    trivial: chack -> check typo fix in main Makefile
    trivial: Add a space (and a comma) to a printk in 8250 driver
    trivial: Fix misspelling of "firmware" in docs for ncr53c8xx/sym53c8xx
    trivial: Fix misspelling of "firmware" in powerpc Makefile
    trivial: Fix misspelling of "firmware" in usb.c
    trivial: Fix misspelling of "firmware" in qla1280.c
    trivial: Fix misspelling of "firmware" in a100u2w.c
    trivial: Fix misspelling of "firmware" in megaraid.c
    trivial: Fix misspelling of "firmware" in ql4_mbx.c
    trivial: Fix misspelling of "firmware" in acpi_memhotplug.c
    trivial: Fix misspelling of "firmware" in ipw2100.c
    trivial: Fix misspelling of "firmware" in atmel.c
    trivial: Fix misspelled firmware in Kconfig
    trivial: fix an -> a typos in documentation and comments
    trivial: fix then -> than typos in comments and documentation
    trivial: update Jesper Juhl CREDITS entry with new email
    trivial: fix singal -> signal typo
    trivial: Fix incorrect use of "loose" in event.c
    trivial: printk: fix indentation of new_text_line declaration
    trivial: rtc-stk17ta8: fix sparse warning
    ...

    Linus Torvalds
     

07 Jan, 2009

6 commits

  • Signed-off-by: Harvey Harrison
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (60 commits)
    uio: make uio_info's name and version const
    UIO: Documentation for UIO ioport info handling
    UIO: Pass information about ioports to userspace (V2)
    UIO: uio_pdrv_genirq: allow custom irq_flags
    UIO: use pci_ioremap_bar() in drivers/uio
    arm: struct device - replace bus_id with dev_name(), dev_set_name()
    libata: struct device - replace bus_id with dev_name(), dev_set_name()
    avr: struct device - replace bus_id with dev_name(), dev_set_name()
    block: struct device - replace bus_id with dev_name(), dev_set_name()
    chris: struct device - replace bus_id with dev_name(), dev_set_name()
    dmi: struct device - replace bus_id with dev_name(), dev_set_name()
    gadget: struct device - replace bus_id with dev_name(), dev_set_name()
    gpio: struct device - replace bus_id with dev_name(), dev_set_name()
    gpu: struct device - replace bus_id with dev_name(), dev_set_name()
    hwmon: struct device - replace bus_id with dev_name(), dev_set_name()
    i2o: struct device - replace bus_id with dev_name(), dev_set_name()
    IA64: struct device - replace bus_id with dev_name(), dev_set_name()
    i7300_idle: struct device - replace bus_id with dev_name(), dev_set_name()
    infiniband: struct device - replace bus_id with dev_name(), dev_set_name()
    ISDN: struct device - replace bus_id with dev_name(), dev_set_name()
    ...

    Linus Torvalds
     
  • Add kprobe_insn_mutex for protecting kprobe_insn_pages hlist, and remove
    kprobe_mutex from architecture dependent code.

    This allows us to call arch_remove_kprobe() (and free_insn_slot) while
    holding kprobe_mutex.

    Signed-off-by: Masami Hiramatsu
    Acked-by: Ananth N Mavinakayanahalli
    Cc: Anil S Keshavamurthy
    Cc: Russell King
    Cc: "Luck, Tony"
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Masami Hiramatsu
     
  • The atomic_t type cannot currently be used in some header files because it
    would create an include loop with asm/atomic.h. Move the type definition
    to linux/types.h to break the loop.

    Signed-off-by: Matthew Wilcox
    Cc: Huang Ying
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Wilcox
     
  • Show node to memory section relationship with symlinks in sysfs

    Add /sys/devices/system/node/nodeX/memoryY symlinks for all
    the memory sections located on nodeX. For example:
    /sys/devices/system/node/node1/memory135 -> ../../memory/memory135
    indicates that memory section 135 resides on node1.

    Also revises documentation to cover this change as well as updating
    Documentation/ABI/testing/sysfs-devices-memory to include descriptions
    of memory hotremove files 'phys_device', 'phys_index', and 'state'
    that were previously not described there.

    In addition to it always being a good policy to provide users with
    the maximum possible amount of physical location information for
    resources that can be hot-added and/or hot-removed, the following
    are some (but likely not all) of the user benefits provided by
    this change.
    Immediate:
    - Provides information needed to determine the specific node
    on which a defective DIMM is located. This will reduce system
    downtime when the node or defective DIMM is swapped out.
    - Prevents unintended onlining of a memory section that was
    previously offlined due to a defective DIMM. This could happen
    during node hot-add when the user or node hot-add assist script
    onlines _all_ offlined sections due to user or script inability
    to identify the specific memory sections located on the hot-added
    node. The consequences of reintroducing the defective memory
    could be ugly.
    - Provides information needed to vary the amount and distribution
    of memory on specific nodes for testing or debugging purposes.
    Future:
    - Will provide information needed to identify the memory
    sections that need to be offlined prior to physical removal
    of a specific node.

    Symlink creation during boot was tested on 2-node x86_64, 2-node
    ppc64, and 2-node ia64 systems. Symlink creation during physical
    memory hot-add tested on a 2-node x86_64 system.

    Signed-off-by: Gary Hade
    Signed-off-by: Badari Pulavarty
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Gary Hade
     
  • Replace s390_root_dev_register() with root_device_register() etc.

    [Includes fix from Cornelia Huck]

    Signed-off-by: Mark McLoughlin
    Cc: Cornelia Huck
    Signed-off-by: Greg Kroah-Hartman

    Mark McLoughlin
     

06 Jan, 2009

2 commits


04 Jan, 2009

2 commits

  • …/git/tip/linux-2.6-tip

    * 'cpus4096-for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (77 commits)
    x86: setup_per_cpu_areas() cleanup
    cpumask: fix compile error when CONFIG_NR_CPUS is not defined
    cpumask: use alloc_cpumask_var_node where appropriate
    cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t
    x86: use cpumask_var_t in acpi/boot.c
    x86: cleanup some remaining usages of NR_CPUS where s/b nr_cpu_ids
    sched: put back some stack hog changes that were undone in kernel/sched.c
    x86: enable cpus display of kernel_max and offlined cpus
    ia64: cpumask fix for is_affinity_mask_valid()
    cpumask: convert RCU implementations, fix
    xtensa: define __fls
    mn10300: define __fls
    m32r: define __fls
    h8300: define __fls
    frv: define __fls
    cris: define __fls
    cpumask: CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
    cpumask: zero extra bits in alloc_cpumask_var_node
    cpumask: replace for_each_cpu_mask_nr with for_each_cpu in kernel/time/
    cpumask: convert mm/
    ...

    Linus Torvalds
     
  • * 'cputime' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
    [PATCH] fast vdso implementation for CLOCK_THREAD_CPUTIME_ID
    [PATCH] improve idle cputime accounting
    [PATCH] improve precision of idle time detection.
    [PATCH] improve precision of process accounting.
    [PATCH] idle cputime accounting
    [PATCH] fix scaled & unscaled cputime accounting

    Linus Torvalds
     

03 Jan, 2009

2 commits

  • …/git/tip/linux-2.6-tip

    * 'cpus4096-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (66 commits)
    x86: export vector_used_by_percpu_irq
    x86: use logical apicid in x2apic_cluster's x2apic_cpu_mask_to_apicid_and()
    sched: nominate preferred wakeup cpu, fix
    x86: fix lguest used_vectors breakage, -v2
    x86: fix warning in arch/x86/kernel/io_apic.c
    sched: fix warning in kernel/sched.c
    sched: move test_sd_parent() to an SMP section of sched.h
    sched: add SD_BALANCE_NEWIDLE at MC and CPU level for sched_mc>0
    sched: activate active load balancing in new idle cpus
    sched: bias task wakeups to preferred semi-idle packages
    sched: nominate preferred wakeup cpu
    sched: favour lower logical cpu number for sched_mc balance
    sched: framework for sched_mc/smt_power_savings=N
    sched: convert BALANCE_FOR_xx_POWER to inline functions
    x86: use possible_cpus=NUM to extend the possible cpus allowed
    x86: fix cpu_mask_to_apicid_and to include cpu_online_mask
    x86: update io_apic.c to the new cpumask code
    x86: Introduce topology_core_cpumask()/topology_thread_cpumask()
    x86: xen: use smp_call_function_many()
    x86: use work_on_cpu in x86/kernel/cpu/mcheck/mce_amd_64.c
    ...

    Fixed up trivial conflict in kernel/time/tick-sched.c manually

    Linus Torvalds
     
  • * 'kvm-updates/2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (140 commits)
    KVM: MMU: handle large host sptes on invlpg/resync
    KVM: Add locking to virtual i8259 interrupt controller
    KVM: MMU: Don't treat a global pte as such if cr4.pge is cleared
    MAINTAINERS: Maintainership changes for kvm/ia64
    KVM: ia64: Fix kvm_arch_vcpu_ioctl_[gs]et_regs()
    KVM: x86: Rework user space NMI injection as KVM_CAP_USER_NMI
    KVM: VMX: Fix pending NMI-vs.-IRQ race for user space irqchip
    KVM: fix handling of ACK from shared guest IRQ
    KVM: MMU: check for present pdptr shadow page in walk_shadow
    KVM: Consolidate userspace memory capability reporting into common code
    KVM: Advertise the bug in memory region destruction as fixed
    KVM: use cpumask_var_t for cpus_hardware_enabled
    KVM: use modern cpumask primitives, no cpumask_t on stack
    KVM: Extract core of kvm_flush_remote_tlbs/kvm_reload_remote_mmus
    KVM: set owner of cpu and vm file operations
    anon_inodes: use fops->owner for module refcount
    x86: KVM guest: kvm_get_tsc_khz: return khz, not lpj
    KVM: MMU: prepopulate the shadow on invlpg
    KVM: MMU: skip global pgtables on sync due to cr3 switch
    KVM: MMU: collapse remote TLB flushes on root sync
    ...

    Linus Torvalds
     

01 Jan, 2009

1 commit