30 Aug, 2014

1 commit

  • Fix building errors occuring due to a missing export of
    flush_icache_range() in

    kisskb.ellerman.id.au/kisskb/buildresult/11677809/

    ERROR: "flush_icache_range" [drivers/misc/lkdtm.ko] undefined!

    Signed-off-by: Pranith Kumar
    Reported-by: Geert Uytterhoeven
    Acked-by: Vineet Gupta [arc]
    Acked-by: Richard Kuo [hexagon]
    Cc: Chris Metcalf
    Cc: Chris Zankel
    Acked-by: Max Filippov [xtensa]
    Cc: Noam Camus
    Cc: Masami Hiramatsu
    Acked-by: Zhigang Lu [tile]
    Cc: Kirill Tkhai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pranith Kumar
     

10 Aug, 2014

2 commits

  • Pull arch signal handling cleanup from Richard Weinberger:
    "This patch series moves all remaining archs to the get_signal(),
    signal_setup_done() and sigsp() functions.

    Currently these archs use open coded variants of the said functions.
    Further, unused parameters get removed from get_signal_to_deliver(),
    tracehook_signal_handler() and signal_delivered().

    At the end of the day we save around 500 lines of code."

    * 'signal-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc: (43 commits)
    powerpc: Use sigsp()
    openrisc: Use sigsp()
    mn10300: Use sigsp()
    mips: Use sigsp()
    microblaze: Use sigsp()
    metag: Use sigsp()
    m68k: Use sigsp()
    m32r: Use sigsp()
    hexagon: Use sigsp()
    frv: Use sigsp()
    cris: Use sigsp()
    c6x: Use sigsp()
    blackfin: Use sigsp()
    avr32: Use sigsp()
    arm64: Use sigsp()
    arc: Use sigsp()
    sas_ss_flags: Remove nested ternary if
    Rip out get_signal_to_deliver()
    Clean up signal_delivered()
    tracehook_signal_handler: Remove sig, info, ka and regs
    ...

    Linus Torvalds
     
  • Pull ARC changes from Vineet Gupta:
    "Mostly cleanup/refactoring in core intc, cache flush, IPI send..."

    * tag 'arc-v3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    mm, arc: remove obsolete pagefault oom killer comment
    ARC: help gcc elide icache helper for !SMP
    ARC: move common ops for line/full cache into helpers
    ARC: cache boot reporting updates
    ARC: [intc] mask/unmask can be hidden again
    ARC: [plat-arcfpga] No need for init_irq hack
    ARC: [intc] don't mask all IRQ by default
    ARC: prune extra header includes from smp.c
    ARC: update some comments
    ARC: [SMP] unify cpu private IRQ requests (TIMER/IPI)

    Linus Torvalds
     

08 Aug, 2014

1 commit


06 Aug, 2014

2 commits


05 Aug, 2014

2 commits

  • Pull tty / serial driver update from Greg KH:
    "Here's the big tty / serial driver update for 3.17-rc1.

    Nothing major, just a number of fixes and new features for different
    serial drivers, and some more tty core fixes and documentation of the
    tty locks.

    All of these have been in linux-next for a while"

    * tag 'tty-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (82 commits)
    tty/n_gsm.c: fix a memory leak in gsmld_open
    pch_uart: don't hardcode PCI slot to get DMA device
    tty: n_gsm, use setup_timer
    Revert "ARC: [arcfpga] stdout-path now suffices for earlycon/console"
    serial: sc16is7xx: Correct initialization of s->clk
    serial: 8250_dw: Add support for deferred probing
    serial: 8250_dw: Add optional reset control support
    serial: st-asc: Fix overflow in baudrate calculation
    serial: st-asc: Don't call BUG in asc_console_setup()
    tty: serial: msm: Make of_device_id array const
    tty/n_gsm.c: get gsm->num after gsm_activate_mux
    serial/core: Fix too big allocation for attribute member
    drivers/tty/serial: use correct type for dma_map/unmap
    serial: altera_jtaguart: Fix putchar function passed to uart_console_write()
    serial/uart/8250: Add tunable RX interrupt trigger I/F of FIFO buffers
    Serial: allow port drivers to have a default attribute group
    tty: kgdb_nmi: Automatically manage tty enable
    serial: altera_jtaguart: Adpot uart_console_write()
    serial: samsung: improve code clarity by defining a variable
    serial: samsung: correct the case and default order in switch
    ...

    Linus Torvalds
     
  • Pull perf changes from Ingo Molnar:
    "Kernel side changes:

    - Consolidate the PMU interrupt-disabled code amongst architectures
    (Vince Weaver)

    - misc fixes

    Tooling changes (new features, user visible changes):

    - Add support for pagefault tracing in 'trace', please see multiple
    examples in the changeset messages (Stanislav Fomichev).

    - Add pagefault statistics in 'trace' (Stanislav Fomichev)

    - Add header for columns in 'top' and 'report' TUI browsers (Jiri
    Olsa)

    - Add pagefault statistics in 'trace' (Stanislav Fomichev)

    - Add IO mode into timechart command (Stanislav Fomichev)

    - Fallback to syscalls:* when raw_syscalls:* is not available in the
    perl and python perf scripts. (Daniel Bristot de Oliveira)

    - Add --repeat global option to 'perf bench' to be used in benchmarks
    such as the existing 'futex' one, that was modified to use it
    instead of a local option. (Davidlohr Bueso)

    - Fix fd -> pathname resolution in 'trace', be it using /proc or a
    vfs_getname probe point. (Arnaldo Carvalho de Melo)

    - Add suggestion of how to set perf_event_paranoid sysctl, to help
    non-root users trying tools like 'trace' to get a working
    environment. (Arnaldo Carvalho de Melo)

    - Updates from trace-cmd for traceevent plugin_kvm plus args cleanup
    (Steven Rostedt, Jan Kiszka)

    - Support S/390 in 'perf kvm stat' (Alexander Yarygin)

    Tooling infrastructure changes:

    - Allow reserving a row for header purposes in the hists browser
    (Arnaldo Carvalho de Melo)

    - Various fixes and prep work related to supporting Intel PT (Adrian
    Hunter)

    - Introduce multiple debug variables control (Jiri Olsa)

    - Add callchain and additional sample information for python scripts
    (Joseph Schuchart)

    - More prep work to support Intel PT: (Adrian Hunter)
    - Polishing 'script' BTS output
    - 'inject' can specify --kallsym
    - VDSO is per machine, not a global var
    - Expose data addr lookup functions previously private to 'script'
    - Large mmap fixes in events processing

    - Include standard stringify macros in power pc code (Sukadev
    Bhattiprolu)

    Tooling cleanups:

    - Convert open coded equivalents to asprintf() (Andy Shevchenko)

    - Remove needless reassignments in 'trace' (Arnaldo Carvalho de Melo)

    - Cache the is_exit syscall test in 'trace) (Arnaldo Carvalho de
    Melo)

    - No need to reimplement err() in 'perf bench sched-messaging', drop
    barf(). (Davidlohr Bueso).

    - Remove ev_name argument from perf_evsel__hists_browse, can be
    obtained from the other parameters. (Jiri Olsa)

    Tooling fixes:

    - Fix memory leak in the 'sched-messaging' perf bench test.
    (Davidlohr Bueso)

    - The -o and -n 'perf bench mem' options are mutually exclusive, emit
    error when both are specified. (Davidlohr Bueso)

    - Fix scrollbar refresh row index in the ui browser, problem exposed
    now that headers will be added and will be allowed to be switched
    on/off. (Jiri Olsa)

    - Handle the num array type in python properly (Sebastian Andrzej
    Siewior)

    - Fix wrong condition for allocation failure (Jiri Olsa)

    - Adjust callchain based on DWARF debug info on powerpc (Sukadev
    Bhattiprolu)

    - Fix a risk for doing free on uninitialized pointer in traceevent
    lib (Rickard Strandqvist)

    - Update attr test with PERF_FLAG_FD_CLOEXEC flag (Jiri Olsa)

    - Enable close-on-exec flag on perf file descriptor (Yann Droneaud)

    - Fix build on gcc 4.4.7 (Arnaldo Carvalho de Melo)

    - Event ordering fixes (Jiri Olsa)"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (123 commits)
    Revert "perf tools: Fix jump label always changing during tracing"
    perf tools: Fix perf usage string leftover
    perf: Check permission only for parent tracepoint event
    perf record: Store PERF_RECORD_FINISHED_ROUND only for nonempty rounds
    perf record: Always force PERF_RECORD_FINISHED_ROUND event
    perf inject: Add --kallsyms parameter
    perf tools: Expose 'addr' functions so they can be reused
    perf session: Fix accounting of ordered samples queue
    perf powerpc: Include util/util.h and remove stringify macros
    perf tools: Fix build on gcc 4.4.7
    perf tools: Add thread parameter to vdso__dso_findnew()
    perf tools: Add dso__type()
    perf tools: Separate the VDSO map name from the VDSO dso name
    perf tools: Add vdso__new()
    perf machine: Fix the lifetime of the VDSO temporary file
    perf tools: Group VDSO global variables into a structure
    perf session: Add ability to skip 4GiB or more
    perf session: Add ability to 'skip' a non-piped event stream
    perf tools: Pass machine to vdso__dso_findnew()
    perf tools: Add dso__data_size()
    ...

    Linus Torvalds
     

28 Jul, 2014

2 commits


23 Jul, 2014

9 commits


17 Jul, 2014

1 commit

  • The arch_mutex_cpu_relax() function, introduced by 34b133f, is
    hacky and ugly. It was added a few years ago to address the fact
    that common cpu_relax() calls include yielding on s390, and thus
    impact the optimistic spinning functionality of mutexes. Nowadays
    we use this function well beyond mutexes: rwsem, qrwlock, mcs and
    lockref. Since the macro that defines the call is in the mutex header,
    any users must include mutex.h and the naming is misleading as well.

    This patch (i) renames the call to cpu_relax_lowlatency ("relax, but
    only if you can do it with very low latency") and (ii) defines it in
    each arch's asm/processor.h local header, just like for regular cpu_relax
    functions. On all archs, except s390, cpu_relax_lowlatency is simply cpu_relax,
    and thus we can take it out of mutex.h. While this can seem redundant,
    I believe it is a good choice as it allows us to move out arch specific
    logic from generic locking primitives and enables future(?) archs to
    transparently define it, similarly to System Z.

    Signed-off-by: Davidlohr Bueso
    Signed-off-by: Peter Zijlstra
    Cc: Andrew Morton
    Cc: Anton Blanchard
    Cc: Aurelien Jacquiot
    Cc: Benjamin Herrenschmidt
    Cc: Bharat Bhushan
    Cc: Catalin Marinas
    Cc: Chen Liqin
    Cc: Chris Metcalf
    Cc: Christian Borntraeger
    Cc: Chris Zankel
    Cc: David Howells
    Cc: David S. Miller
    Cc: Deepthi Dharwar
    Cc: Dominik Dingel
    Cc: Fenghua Yu
    Cc: Geert Uytterhoeven
    Cc: Guan Xuetao
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Heiko Carstens
    Cc: Helge Deller
    Cc: Hirokazu Takata
    Cc: Ivan Kokshaysky
    Cc: James E.J. Bottomley
    Cc: James Hogan
    Cc: Jason Wang
    Cc: Jesper Nilsson
    Cc: Joe Perches
    Cc: Jonas Bonn
    Cc: Joseph Myers
    Cc: Kees Cook
    Cc: Koichi Yasutake
    Cc: Lennox Wu
    Cc: Linus Torvalds
    Cc: Mark Salter
    Cc: Martin Schwidefsky
    Cc: Matt Turner
    Cc: Max Filippov
    Cc: Michael Neuling
    Cc: Michal Simek
    Cc: Mikael Starvik
    Cc: Nicolas Pitre
    Cc: Paolo Bonzini
    Cc: Paul Burton
    Cc: Paul E. McKenney
    Cc: Paul Gortmaker
    Cc: Paul Mackerras
    Cc: Qais Yousef
    Cc: Qiaowei Ren
    Cc: Rafael Wysocki
    Cc: Ralf Baechle
    Cc: Richard Henderson
    Cc: Richard Kuo
    Cc: Russell King
    Cc: Steven Miao
    Cc: Steven Rostedt
    Cc: Stratos Karafotis
    Cc: Tim Chen
    Cc: Tony Luck
    Cc: Vasily Kulikov
    Cc: Vineet Gupta
    Cc: Vineet Gupta
    Cc: Waiman Long
    Cc: Will Deacon
    Cc: Wolfram Sang
    Cc: adi-buildroot-devel@lists.sourceforge.net
    Cc: linux390@de.ibm.com
    Cc: linux-alpha@vger.kernel.org
    Cc: linux-am33-list@redhat.com
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-c6x-dev@linux-c6x.org
    Cc: linux-cris-kernel@axis.com
    Cc: linux-hexagon@vger.kernel.org
    Cc: linux-ia64@vger.kernel.org
    Cc: linux@lists.openrisc.net
    Cc: linux-m32r-ja@ml.linux-m32r.org
    Cc: linux-m32r@ml.linux-m32r.org
    Cc: linux-m68k@lists.linux-m68k.org
    Cc: linux-metag@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: linux-parisc@vger.kernel.org
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: linux-s390@vger.kernel.org
    Cc: linux-sh@vger.kernel.org
    Cc: linux-xtensa@linux-xtensa.org
    Cc: sparclinux@vger.kernel.org
    Link: http://lkml.kernel.org/r/1404079773.2619.4.camel@buesod1.americas.hpqcorp.net
    Signed-off-by: Ingo Molnar

    Davidlohr Bueso
     

11 Jul, 2014

3 commits


26 Jun, 2014

5 commits

  • icaches are not snooped hence not cohrent in SMP setups which means
    kernel has to do cross core calls to ensure the same.

    The leaf routine __ic_line_inv_vaddr() now does cross core calls.

    __sync_icache_dcache() is affected due to this:

    * local dcache line flushed ahead of remote icache inv requests
    * can't disable interrupts anymore, since
    __ic_line_inv_vaddr()->on_each_cpu() can deadlock.

    | WARNING: CPU: 0 PID: 1 at kernel/smp.c:374
    | smp_call_function_many+0x25a/0x2c4()
    |
    | init_kprobes+0x90/0xc8
    | register_kprobe+0x1d6/0x510
    | __sync_icache_dcache+0x28/0x80
    |
    | DISABLE IRQ
    |
    | __ic_line_inv_vaddr
    | on_each_cpu
    | smp_call_function_many+0x25a/0x2c4 --> WARN
    | __ic_line_inv_vaddr_local
    | __dc_line_op

    * TODO: Needs to use mask of relevant CPUs to avoid broadcasting

    Signed-off-by: Noam Camus
    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • Handle it just like timer. Current request_percpu_irq() would fail on
    non-boot cpus and thus IRQ will remian unmasked on those cpus.

    [vgupta: fix changelong]
    Signed-off-by: Noam Camus
    Signed-off-by: Vineet Gupta

    Noam Camus
     
  • This patch adds implementation of GET_THREAD_AREA ptrace request type. This
    is required by GDB to debug NPTL applications.

    Signed-off-by: Anton Kolesov
    Signed-off-by: Vineet Gupta

    Anton Kolesov
     
  • using ARC ZOL which reduces tot num of instructions by half

    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • Fixes: ec7ac6afd07b (ARC: switch to generic ENTRY/END assembler annotations)
    Reported-by: Anton Kolesov
    Signed-off-by: Vineet Gupta

    Vineet Gupta
     

23 Jun, 2014

1 commit


19 Jun, 2014

1 commit

  • Transition to using the new generic PERF_PMU_CAP_NO_INTERRUPT method for
    failing a sampling event when no PMU interrupt is available.

    Signed-off-by: Vince Weaver
    Acked-by: Vineet Gupta
    Signed-off-by: Peter Zijlstra
    Cc: Arnaldo Carvalho de Melo
    Cc: Grant Likely
    Cc: Paul Mackerras
    Cc: Rob Herring
    Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1406150159280.16738@vincent-weaver-1.umelst.maine.edu
    Signed-off-by: Ingo Molnar

    Vince Weaver
     

16 Jun, 2014

1 commit


10 Jun, 2014

1 commit

  • Pull ARC updates from Vineet Gupta:
    "Nothing too exciting here, just minor fixes/cleanup. Only noteworthy
    ones are:

    - Moving cache disabling to early boot
    - ARC UART enabled only if earlyprintk setup in cmdline"

    * tag 'arc-v3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    ARC: Disable caches in early boot if so configured
    ARC: [arcfpga] Early ARC UART to be only activated by cmdline
    ARC: [arcfpga] Get rid of legacy BVCI latency unit support
    ARC: remove duplicate header exports
    ARC: arc_local_timer_setup() need not pass own cpu id
    ARC: Fixed spelling errors within comments
    ARC: make start_thread() out-of-line
    ARC: fix mmuv2 warning
    ARC: [SMP] ISS SMP extension bitrot

    Linus Torvalds
     

05 Jun, 2014

2 commits

  • Performing vma lookups without taking the mm->mmap_sem is asking for
    trouble. While doing the search, the vma in question can be modified or
    even removed before returning to the caller. Take the lock (shared) in
    order to avoid races while iterating through the vmacache and/or rbtree.

    [akpm@linux-foundation.org: CSE current->active_mm, per Vineet]
    Signed-off-by: Davidlohr Bueso
    Acked-by: Vineet Gupta
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Davidlohr Bueso
     
  • …/robh/linux into next

    Pull DeviceTree updates from Rob Herring:
    - Another round of clean-up of FDT related code in architecture code.
    This removes knowledge of internal FDT details from most
    architectures except powerpc.
    - Conversion of kernel's custom FDT parsing code to use libfdt.
    - DT based initialization for generic serial earlycon. The
    introduction of generic serial earlycon support went in through the
    tty tree.
    - Improve the platform device naming for DT probed devices to ensure
    unique naming and use parent names instead of a global index.
    - Fix a race condition in of_update_property.
    - Unify the various linker section OF match tables and fix several
    function prototype errors.
    - Update platform_get_irq_byname to work in deferred probe cases.
    - 2 binding doc updates

    * tag 'devicetree-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (58 commits)
    of: handle NULL node in next_child iterators
    of/irq: provide more wrappers for !CONFIG_OF
    devicetree: bindings: Document micrel vendor prefix
    dt: bindings: dwc2: fix required value for the phy-names property
    of_pci_irq: kill useless variable in of_irq_parse_pci()
    of/irq: do irq resolution in platform_get_irq_byname()
    of: Add a testcase for of_find_node_by_path()
    of: Make of_find_node_by_path() handle /aliases
    of: Create unlocked version of for_each_child_of_node()
    lib: add glibc style strchrnul() variant
    of: Handle memory@0 node on PPC32 only
    pci/of: Remove dead code
    of: fix race between search and remove in of_update_property()
    of: Use NULL for pointers
    of: Stop naming platform_device using dcr address
    of: Ensure unique names without sacrificing determinism
    tty/serial: pl011: add DT based earlycon support
    of/fdt: add FDT serial scanning for earlycon
    of/fdt: add FDT address translation support
    serial: earlycon: add DT support
    ...

    Linus Torvalds
     

04 Jun, 2014

1 commit

  • …el/git/tip/tip into next

    Pull core locking updates from Ingo Molnar:
    "The main changes in this cycle were:

    - reduced/streamlined smp_mb__*() interface that allows more usecases
    and makes the existing ones less buggy, especially in rarer
    architectures

    - add rwsem implementation comments

    - bump up lockdep limits"

    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (33 commits)
    rwsem: Add comments to explain the meaning of the rwsem's count field
    lockdep: Increase static allocations
    arch: Mass conversion of smp_mb__*()
    arch,doc: Convert smp_mb__*()
    arch,xtensa: Convert smp_mb__*()
    arch,x86: Convert smp_mb__*()
    arch,tile: Convert smp_mb__*()
    arch,sparc: Convert smp_mb__*()
    arch,sh: Convert smp_mb__*()
    arch,score: Convert smp_mb__*()
    arch,s390: Convert smp_mb__*()
    arch,powerpc: Convert smp_mb__*()
    arch,parisc: Convert smp_mb__*()
    arch,openrisc: Convert smp_mb__*()
    arch,mn10300: Convert smp_mb__*()
    arch,mips: Convert smp_mb__*()
    arch,metag: Convert smp_mb__*()
    arch,m68k: Convert smp_mb__*()
    arch,m32r: Convert smp_mb__*()
    arch,ia64: Convert smp_mb__*()
    ...

    Linus Torvalds
     

03 Jun, 2014

5 commits