27 May, 2011

1 commit

  • By the previous style change, CONFIG_GENERIC_FIND_NEXT_BIT,
    CONFIG_GENERIC_FIND_BIT_LE, and CONFIG_GENERIC_FIND_LAST_BIT are not used
    to test for existence of find bitops anymore.

    Signed-off-by: Akinobu Mita
    Acked-by: Greg Ungerer
    Cc: Arnd Bergmann
    Cc: Russell King
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     

25 May, 2011

12 commits

  • Most arches define CONFIG_DEBUG_STACK_USAGE exactly the same way. Move it
    to lib/Kconfig.debug so each arch doesn't have to define it. This
    obviously makes the option generic, but that's fine because the config is
    already used in generic code.

    It's not obvious to me that sysrq-P actually does anything caution by
    keeping the most inclusive wording.

    Signed-off-by: Stephen Boyd
    Cc: Chris Metcalf
    Acked-by: David S. Miller
    Acked-by: Richard Weinberger
    Acked-by: Mike Frysinger
    Cc: Russell King
    Cc: Hirokazu Takata
    Acked-by: Ralf Baechle
    Cc: Paul Mackerras
    Acked-by: Benjamin Herrenschmidt
    Cc: Chen Liqin
    Cc: Lennox Wu
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Boyd
     
  • This constant hasn't been used since before the git era (2.6.12) and thus
    can be dropped.

    Signed-off-by: Stephen Boyd
    Cc: Russell King
    Cc: Richard Weinberger
    Cc: Hirokazu Takata
    Cc: Kyle McMartin
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Boyd
     
  • os_dump_core() emits SIGTERM to terminate all UML processes. Kernel
    threads have to exit on SIGTERM instead of calling last_ditch_exit().
    Multiple calls to last_ditch_exit() can cause a crash.

    Signed-off-by: Richard Weinberger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Weinberger
     
  • Fix build failures on UML.

    Signed-off-by: Richard Weinberger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Weinberger
     
  • Print a short info about fatal segfaults like other archs do.

    Signed-off-by: Richard Weinberger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Weinberger
     
  • The ucast transport is similar to the mcast transport (and, in fact,
    shares most of its code), only it uses UDP unicast to move packets.

    Obviously this is only useful for point-to-point connections between
    virtual ethernet devices.

    Signed-off-by: Nolan Leake
    Signed-off-by: Richard Weinberger
    Cc: David Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nolan Leake
     
  • User Mode Linux can also benefit from earlyprintk. UML's earlyprintk
    writes kernel messages directly to stdout.

    Signed-off-by: Richard Weinberger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Weinberger
     
  • The UML kernel ignores SIGHUP anyway. This handler is in vain.

    Signed-off-by: Richard Weinberger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Weinberger
     
  • UML_LIB_PATH is hardcoded to /usr/lib/uml/, on 64bit systems UML_LIB_PATH
    needs to be /usr/lib64/uml/.

    Signed-off-by: Richard Weinberger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Weinberger
     
  • Fold all the mmu_gather rework patches into one for submission

    Signed-off-by: Peter Zijlstra
    Reported-by: Hugh Dickins
    Cc: Benjamin Herrenschmidt
    Cc: David Miller
    Cc: Martin Schwidefsky
    Cc: Russell King
    Cc: Paul Mundt
    Cc: Jeff Dike
    Cc: Richard Weinberger
    Cc: Tony Luck
    Cc: KAMEZAWA Hiroyuki
    Cc: Mel Gorman
    Cc: KOSAKI Motohiro
    Cc: Nick Piggin
    Cc: Namhyung Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • Fix up the um mmu_gather code to conform to the new API.

    Signed-off-by: Peter Zijlstra
    Cc: Jeff Dike
    Cc: Richard Weinberger
    Cc: Benjamin Herrenschmidt
    Cc: David Miller
    Cc: Martin Schwidefsky
    Cc: Russell King
    Cc: Paul Mundt
    Cc: Tony Luck
    Cc: KAMEZAWA Hiroyuki
    Cc: Hugh Dickins
    Cc: Mel Gorman
    Cc: KOSAKI Motohiro
    Cc: Nick Piggin
    Cc: Namhyung Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • * 'for-2.6.40' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
    percpu: Unify input section names
    percpu: Avoid extra NOP in percpu_cmpxchg16b_double
    percpu: Cast away printk format warning
    percpu: Always align percpu output section to PAGE_SIZE

    Fix up fairly trivial conflict in arch/x86/include/asm/percpu.h as per Tejun

    Linus Torvalds
     

24 May, 2011

3 commits

  • Commit d12337 (rwsem: Remove redundant asmregparm annotation)
    broke rwsem on UML.

    As we cannot compile UML with -mregparm=3 and keeping asmregparm only
    for UML is inadequate the easiest solution is using RWSEM_GENERIC_SPINLOCK.

    Thanks to Thomas Gleixner for the idea.

    Reported-by: Toralf Förster
    Tested-by: Toralf Förster
    Signed-off-by: Richard Weinberger
    Cc: user-mode-linux-devel@lists.sourceforge.net
    Cc: # .39.x
    Link: http://lkml.kernel.org/r/%3C1306183893-26655-1-git-send-email-richard%40nod.at%3E
    Signed-off-by: Thomas Gleixner

    Richard Weinberger
     
  • Tejun Heo
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
    b43: fix comment typo reqest -> request
    Haavard Skinnemoen has left Atmel
    cris: typo in mach-fs Makefile
    Kconfig: fix copy/paste-ism for dell-wmi-aio driver
    doc: timers-howto: fix a typo ("unsgined")
    perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c
    md, raid5: Fix spelling error in comment ('Ofcourse' --> 'Of course').
    treewide: fix a few typos in comments
    regulator: change debug statement be consistent with the style of the rest
    Revert "arm: mach-u300/gpio: Fix mem_region resource size miscalculations"
    audit: acquire creds selectively to reduce atomic op overhead
    rtlwifi: don't touch with treewide double semicolon removal
    treewide: cleanup continuations and remove logging message whitespace
    ath9k_hw: don't touch with treewide double semicolon removal
    include/linux/leds-regulator.h: fix syntax in example code
    tty: fix typo in descripton of tty_termios_encode_baud_rate
    xtensa: remove obsolete BKL kernel option from defconfig
    m68k: fix comment typo 'occcured'
    arch:Kconfig.locks Remove unused config option.
    treewide: remove extra semicolons
    ...

    Linus Torvalds
     

20 May, 2011

1 commit

  • …kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (60 commits)
    sched: Fix and optimise calculation of the weight-inverse
    sched: Avoid going ahead if ->cpus_allowed is not changed
    sched, rt: Update rq clock when unthrottling of an otherwise idle CPU
    sched: Remove unused parameters from sched_fork() and wake_up_new_task()
    sched: Shorten the construction of the span cpu mask of sched domain
    sched: Wrap the 'cfs_rq->nr_spread_over' field with CONFIG_SCHED_DEBUG
    sched: Remove unused 'this_best_prio arg' from balance_tasks()
    sched: Remove noop in alloc_rt_sched_group()
    sched: Get rid of lock_depth
    sched: Remove obsolete comment from scheduler_tick()
    sched: Fix sched_domain iterations vs. RCU
    sched: Next buddy hint on sleep and preempt path
    sched: Make set_*_buddy() work on non-task entities
    sched: Remove need_migrate_task()
    sched: Move the second half of ttwu() to the remote cpu
    sched: Restructure ttwu() some more
    sched: Rename ttwu_post_activation() to ttwu_do_wakeup()
    sched: Remove rq argument from ttwu_stat()
    sched: Remove rq->lock from the first half of ttwu()
    sched: Drop rq->lock from sched_exec()
    ...

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched: Fix rt_rq runtime leakage bug

    Linus Torvalds
     

18 May, 2011

1 commit

  • os_dump_core() uses abort() to terminate UML in case of an fatal error.

    glibc's abort() calls raise(SIGABRT) which makes use of tgkill().
    tgkill() has no effect within UML's kernel threads because they are not
    pthreads. As fallback abort() executes an invalid instruction to
    terminate the process. Therefore UML gets killed by SIGSEGV and leaves a
    ugly log entry in the host's kernel ring buffer.

    To get rid of this we use our own abort routine.

    Signed-off-by: Richard Weinberger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Weinberger
     

12 May, 2011

1 commit


29 Apr, 2011

3 commits

  • In some cases gcc >= 4.5.2 will optimize away current_thread_info(). To
    prevent gcc from doing so the stack address has to be obtained via inline
    asm.

    Signed-off-by: Richard Weinberger
    Acked-by: Kirill A. Shutemov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Weinberger
     
  • Make HoneyPot ProcFS depend on CONFIG_PROC_FS so that it will build.
    Recommended by Christoph Hellwig.

    Addresses https://bugzilla.kernel.org/show_bug.cgi?id=33692

    Reported-by: Simon Danner
    Signed-off-by: Randy Dunlap
    Cc: Jeff Dike
    Cc: Christoph Hellwig
    Signed-off-by: Richard Weinberger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • This adds support for 64 bit atomic operations on 32 bit UML systems. XFS
    needs them since 2.6.38.

    $ make ARCH=um SUBARCH=i386
    ...
    LD .tmp_vmlinux1
    fs/built-in.o: In function `xlog_regrant_reserve_log_space':
    xfs_log.c:(.text+0xd8584): undefined reference to `atomic64_read_386'
    xfs_log.c:(.text+0xd85ac): undefined reference to `cmpxchg8b_emu'
    ...

    Addresses https://bugzilla.kernel.org/show_bug.cgi?id=32812

    Reported-by: Martin Walch
    Tested-by: Martin Walch
    Cc: Martin Walch
    Cc: [2.6.38.x 084189a: um: disable CONFIG_CMPXCHG_LOCAL]
    Signed-off-by: Richard Weinberger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Weinberger
     

26 Apr, 2011

1 commit


21 Apr, 2011

1 commit


15 Apr, 2011

2 commits

  • Commit 8a5ec0ba "Lockless (and preemptless) fastpaths for slub" makes use
    of this_cpu_cmpxchg_double() which needs this_cpu_cmpxchg16b_emu() on
    x86_64. Implementing cmpxchg16b emulation for UML would introduce too
    much complexity. So just disable it.

    Signed-off-by: Richard Weinberger
    Reported-by: Sergei Trofimovich
    Acked-by: Pekka Enberg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Weinberger
     
  • Commit 1de1502c ("x86, um: now we can get rid of trivial uml headers")
    removed accidentally bug.h which broke UML's call tracer and bug
    handler.

    Without asm-generic/bug.h UML uses BUG() from arch/x86/ which makes use
    of ud2. UML cannot use ud2, it raises SIGILL in user mode. As UML has
    a different stack for handling signals the call trace will be cut off.

    Signed-off-by: Richard Weinberger
    Reported-by: Sergei Trofimovich
    Tested-by: Sergei Trofimovich
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Weinberger
     

14 Apr, 2011

1 commit

  • For future rework of try_to_wake_up() we'd like to push part of that
    function onto the CPU the task is actually going to run on.

    In order to do so we need a generic callback from the existing scheduler IPI.

    This patch introduces such a generic callback: scheduler_ipi() and
    implements it as a NOP.

    BenH notes: PowerPC might use this IPI on offline CPUs under rare conditions!

    Acked-by: Russell King
    Acked-by: Martin Schwidefsky
    Acked-by: Chris Metcalf
    Acked-by: Jesper Nilsson
    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Ralf Baechle
    Reviewed-by: Frank Rowand
    Cc: Mike Galbraith
    Cc: Nick Piggin
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Signed-off-by: Ingo Molnar
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20110405152728.744338123@chello.nl

    Peter Zijlstra
     

10 Apr, 2011

1 commit


31 Mar, 2011

1 commit


30 Mar, 2011

1 commit


25 Mar, 2011

3 commits

  • Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Scripted with coccinelle.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Percpu allocator honors alignment request upto PAGE_SIZE and both the
    percpu addresses in the percpu address space and the translated kernel
    addresses should be aligned accordingly. The calculation of the
    former depends on the alignment of percpu output section in the kernel
    image.

    The linker script macros PERCPU_VADDR() and PERCPU() are used to
    define this output section and the latter takes @align parameter.
    Several architectures are using @align smaller than PAGE_SIZE breaking
    percpu memory alignment.

    This patch removes @align parameter from PERCPU(), renames it to
    PERCPU_SECTION() and makes it always align to PAGE_SIZE. While at it,
    add PCPU_SETUP_BUG_ON() checks such that alignment problems are
    reliably detected and remove percpu alignment comment recently added
    in workqueue.c as the condition would trigger BUG way before reaching
    there.

    For um, this patch raises the alignment of percpu area. As the area
    is in .init, there shouldn't be any noticeable difference.

    This problem was discovered by David Howells while debugging boot
    failure on mn10300.

    Signed-off-by: Tejun Heo
    Acked-by: Mike Frysinger
    Cc: uclinux-dist-devel@blackfin.uclinux.org
    Cc: David Howells
    Cc: Jeff Dike
    Cc: user-mode-linux-devel@lists.sourceforge.net

    Tejun Heo
     

23 Mar, 2011

3 commits

  • Commit 6caa76b ("tty: now phase out the ioctl file pointer for good")
    removed the ioctl file pointer. User Mode Linux's line driver uses this
    ioctl and needs a signature update too.

    Signed-off-by: Richard Weinberger
    Cc: Alan Cox
    Cc: Greg KH
    Cc: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Richard Weinberger
     
  • One of our users reported that when a user-level program SIGSEGVs under
    UML kernel, the resulting core dump is not very usable.

    I have reproduced that with the latest kernel:

    make ARCH=um defconfig; make ARCH=um

    Run the resulting kernel, then "inside" run this program:

    #include

    void *fn(void *p)
    {
    abort();
    }

    int main()
    {
    pthread_t tid;
    pthread_create(&tid, 0, fn, 0);
    pthread_join(tid, 0);
    return 0;
    }

    Analyze the coredump with GDB. Here is what you'll see:

    sudo gdb -q -ex 'set solib-absolute-prefix ../root_fs' -ex 'file ../root_fs/var/tmp/mt-abort' -ex 'core ../root_fs/var/tmp/core.762'
    Reading symbols from /usr/local/google/root_fs/var/tmp/mt-abort...done.
    [New Thread 763]
    [New Thread 762]
    Core was generated by `./mt-abort'.
    Program terminated with signal 6, Aborted.
    #0 0x0000000040255250 in raise () from ../root_fs/lib64/libc.so.6
    (gdb) info thread
    2 Thread 762 0x0000000000000000 in ?? ()
    * 1 Thread 763 0x0000000040255250 in raise () from ../root_fs/lib64/libc.so.6

    Note that thread#2 looks funny.

    (gdb) thread 2
    [Switching to thread 2 (Thread 762)]#0 0x0000000000000000 in ?? ()
    (gdb) info reg
    rax 0x0 0
    rbx 0x0 0
    rcx 0x0 0
    rdx 0x0 0
    rsi 0x0 0
    rdi 0x0 0
    rbp 0x0 0x0
    rsp 0x0 0x0
    r8 0x0 0
    r9 0x0 0
    r10 0x0 0
    r11 0x0 0
    r12 0x0 0
    r13 0x0 0
    r14 0x0 0
    r15 0x0 0
    rip 0x0 0
    eflags 0x0 [ ]
    cs 0x0 0
    ss 0x0 0
    ds 0x0 0
    es 0x0 0
    fs 0x0 0
    gs 0x0 0

    Examining the core shows that NT_PRSTATUS notes for all threads other than
    the one that crashed are zeroed out.

    I believe this is happening because neither ELF_CORE_COPY_TASK_REGS nor
    task_pt_regs are defined under ARCH=um, and so elf_core_copy_task_regs()
    becomes a no-op.

    Attached patch fixes this for SUBARCH={x86_64,i386}.

    Signed-off-by: Paul Pluzhnikov
    Cc: Jeff Dike
    Acked-by: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Pluzhnikov
     
  • All kthreads being created from a single helper task, they all use memory
    from a single node for their kernel stack and task struct.

    This patch suite creates kthread_create_on_cpu(), adding a 'cpu' parameter
    to parameters already used by kthread_create().

    This parameter serves in allocating memory for the new kthread on its
    memory node if available.

    Users of this new function are : ksoftirqd, kworker, migration, pktgend...

    This patch:

    Add a node parameter to alloc_task_struct(), and change its name to
    alloc_task_struct_node()

    This change is needed to allow NUMA aware kthread_create_on_cpu()

    Signed-off-by: Eric Dumazet
    Acked-by: David S. Miller
    Reviewed-by: Andi Kleen
    Acked-by: Rusty Russell
    Cc: Tejun Heo
    Cc: Tony Luck
    Cc: Fenghua Yu
    Cc: David Howells
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Dumazet
     

21 Mar, 2011

1 commit

  • * 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: (25 commits)
    video: change to new flag variable
    scsi: change to new flag variable
    rtc: change to new flag variable
    rapidio: change to new flag variable
    pps: change to new flag variable
    net: change to new flag variable
    misc: change to new flag variable
    message: change to new flag variable
    memstick: change to new flag variable
    isdn: change to new flag variable
    ieee802154: change to new flag variable
    ide: change to new flag variable
    hwmon: change to new flag variable
    dma: change to new flag variable
    char: change to new flag variable
    fs: change to new flag variable
    xtensa: change to new flag variable
    um: change to new flag variables
    s390: change to new flag variable
    mips: change to new flag variable
    ...

    Fix up trivial conflict in drivers/hwmon/Makefile

    Linus Torvalds
     

17 Mar, 2011

1 commit


16 Mar, 2011

2 commits