11 Dec, 2014

1 commit

  • As there are now no remaining users of arch_fast_hash(), lets kill
    it entirely.

    This basically reverts commit 71ae8aac3e19 ("lib: introduce arch
    optimized hash library") and follow-up work, that is f.e., commit
    237217546d44 ("lib: hash: follow-up fixups for arch hash"),
    commit e3fec2f74f7f ("lib: Add missing arch generic-y entries for
    asm-generic/hash.h") and last but not least commit 6a02652df511
    ("perf tools: Fix include for non x86 architectures").

    Cc: Francesco Fusco
    Cc: Thomas Graf
    Cc: Arnaldo Carvalho de Melo
    Signed-off-by: Daniel Borkmann
    Signed-off-by: David S. Miller

    Daniel Borkmann
     

13 Oct, 2014

1 commit

  • Pull arch atomic cleanups from Ingo Molnar:
    "This is a series kept separate from the main locking tree, which
    cleans up and improves various details in the atomics type handling:

    - Remove the unused atomic_or_long() method

    - Consolidate and compress atomic ops implementations between
    architectures, to reduce linecount and to make it easier to add new
    ops.

    - Rewrite generic atomic support to only require cmpxchg() from an
    architecture - generate all other methods from that"

    * 'locking-arch-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
    locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read()
    locking, mips: Fix atomics
    locking, sparc64: Fix atomics
    locking,arch: Rewrite generic atomic support
    locking,arch,xtensa: Fold atomic_ops
    locking,arch,sparc: Fold atomic_ops
    locking,arch,sh: Fold atomic_ops
    locking,arch,powerpc: Fold atomic_ops
    locking,arch,parisc: Fold atomic_ops
    locking,arch,mn10300: Fold atomic_ops
    locking,arch,mips: Fold atomic_ops
    locking,arch,metag: Fold atomic_ops
    locking,arch,m68k: Fold atomic_ops
    locking,arch,m32r: Fold atomic_ops
    locking,arch,ia64: Fold atomic_ops
    locking,arch,hexagon: Fold atomic_ops
    locking,arch,cris: Fold atomic_ops
    locking,arch,avr32: Fold atomic_ops
    locking,arch,arm64: Fold atomic_ops
    locking,arch,arm: Fold atomic_ops
    ...

    Linus Torvalds
     

14 Sep, 2014

1 commit

  • The nohz full code needs irq work to trigger its own interrupt so that
    the subsystem can work even when the tick is stopped.

    Lets introduce arch_irq_work_has_interrupt() that archs can override to
    tell about their support for this ability.

    Signed-off-by: Peter Zijlstra
    Cc: Ingo Molnar
    Cc: Paul E. McKenney
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Signed-off-by: Frederic Weisbecker

    Peter Zijlstra
     

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
     

14 Aug, 2014

1 commit

  • OK, no LoC saved in this case because the !return variants were
    defined in terms of the return ops. Still do it because this also
    prepares for easy addition of new ops.

    Signed-off-by: Peter Zijlstra
    Acked-by: Richard Kuo
    Cc: Linus Torvalds
    Cc: Paul E. McKenney
    Cc: Vineet Gupta
    Cc: linux-hexagon@vger.kernel.org
    Link: http://lkml.kernel.org/r/20140508135852.171567636@infradead.org
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     

10 Aug, 2014

1 commit

  • 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
     

07 Aug, 2014

1 commit

  • Pull trivial tree changes from Jiri Kosina:
    "Summer edition of trivial tree updates"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (23 commits)
    doc: fix two typos in watchdog-api.txt
    irq-gic: remove file name from heading comment
    MAINTAINERS: Add miscdevice.h to file list for char/misc drivers.
    scsi: mvsas: mv_sas.c: Fix for possible null pointer dereference
    doc: replace "practise" with "practice" in Documentation
    befs: remove check for CONFIG_BEFS_RW
    scsi: doc: fix 'SCSI_NCR_SETUP_MASTER_PARITY'
    drivers/usb/phy/phy.c: remove a leading space
    mfd: fix comment
    cpuidle: fix comment
    doc: hpfall.c: fix missing null-terminate after strncpy call
    usb: doc: hotplug.txt code typos
    kbuild: fix comment in Makefile.modinst
    SH: add proper prompt to SH_MAGIC_PANEL_R2_VERSION
    ARM: msm: Remove MSM_SCM
    crypto: Remove MPILIB_EXTRA
    doc: CN: remove dead link, kerneltrap.org no longer works
    media: update reference, kerneltrap.org no longer works
    hexagon: update reference, kerneltrap.org no longer works
    doc: LSM: update reference, kerneltrap.org no longer works
    ...

    Linus Torvalds
     

06 Aug, 2014

3 commits

  • Use sigsp() instead of the open coded variant.

    Signed-off-by: Richard Weinberger

    Richard Weinberger
     
  • Use the more generic functions get_signal() signal_setup_done()
    for signal delivery.

    Acked-by: Richard Kuo
    Signed-off-by: Richard Weinberger

    Richard Weinberger
     
  • Pull timer and time updates from Thomas Gleixner:
    "A rather large update of timers, timekeeping & co

    - Core timekeeping code is year-2038 safe now for 32bit machines.
    Now we just need to fix all in kernel users and the gazillion of
    user space interfaces which rely on timespec/timeval :)

    - Better cache layout for the timekeeping internal data structures.

    - Proper nanosecond based interfaces for in kernel users.

    - Tree wide cleanup of code which wants nanoseconds but does hoops
    and loops to convert back and forth from timespecs. Some of it
    definitely belongs into the ugly code museum.

    - Consolidation of the timekeeping interface zoo.

    - A fast NMI safe accessor to clock monotonic for tracing. This is a
    long standing request to support correlated user/kernel space
    traces. With proper NTP frequency correction it's also suitable
    for correlation of traces accross separate machines.

    - Checkpoint/restart support for timerfd.

    - A few NOHZ[_FULL] improvements in the [hr]timer code.

    - Code move from kernel to kernel/time of all time* related code.

    - New clocksource/event drivers from the ARM universe. I'm really
    impressed that despite an architected timer in the newer chips SoC
    manufacturers insist on inventing new and differently broken SoC
    specific timers.

    [ Ed. "Impressed"? I don't think that word means what you think it means ]

    - Another round of code move from arch to drivers. Looks like most
    of the legacy mess in ARM regarding timers is sorted out except for
    a few obnoxious strongholds.

    - The usual updates and fixlets all over the place"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (114 commits)
    timekeeping: Fixup typo in update_vsyscall_old definition
    clocksource: document some basic timekeeping concepts
    timekeeping: Use cached ntp_tick_length when accumulating error
    timekeeping: Rework frequency adjustments to work better w/ nohz
    timekeeping: Minor fixup for timespec64->timespec assignment
    ftrace: Provide trace clocks monotonic
    timekeeping: Provide fast and NMI safe access to CLOCK_MONOTONIC
    seqcount: Add raw_write_seqcount_latch()
    seqcount: Provide raw_read_seqcount()
    timekeeping: Use tk_read_base as argument for timekeeping_get_ns()
    timekeeping: Create struct tk_read_base and use it in struct timekeeper
    timekeeping: Restructure the timekeeper some more
    clocksource: Get rid of cycle_last
    clocksource: Move cycle_last validation to core code
    clocksource: Make delta calculation a function
    wireless: ath9k: Get rid of timespec conversions
    drm: vmwgfx: Use nsec based interfaces
    drm: i915: Use nsec based interfaces
    timekeeping: Provide ktime_get_raw()
    hangcheck-timer: Use ktime_get_ns()
    ...

    Linus Torvalds
     

24 Jul, 2014

1 commit

  • The non-scalar ktime_t implementation is basically a timespec
    which has to be changed to support dates past 2038 on 32bit
    systems.

    This patch removes the non-scalar ktime_t implementation, forcing
    the scalar s64 nanosecond version on all architectures.

    This may have additional performance overhead on some 32bit
    systems when converting between ktime_t and timespec structures,
    however the majority of 32bit systems (arm and i386) were already
    using scalar ktime_t, so no performance regressions will be seen
    on those platforms.

    On affected platforms, I'm open to finding optimizations, including
    avoiding converting to timespecs where possible.

    [ tglx: We can now cleanup the ktime_t.tv64 mess, but thats a
    different issue and we can throw a coccinelle script at it ]

    Signed-off-by: John Stultz
    Signed-off-by: Thomas Gleixner
    Signed-off-by: John Stultz

    John Stultz
     

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
     

19 Jun, 2014

1 commit


18 Apr, 2014

2 commits

  • Hexagon uses asm-gemeric/barrier.h and its smp_mb() is barrier().
    Therefore we can use the default implementation that uses smp_mb().

    Signed-off-by: Peter Zijlstra
    Acked-by: Paul E. McKenney
    Link: http://lkml.kernel.org/n/tip-87irqrrbgizeojjfdqhypud3@git.kernel.org
    Cc: Linus Torvalds
    Cc: Richard Kuo
    Cc: Vineet Gupta
    Cc: linux-hexagon@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • Both already use asm-generic/barrier.h as per their
    include/asm/Kbuild. Remove the stale files.

    Signed-off-by: Peter Zijlstra
    Acked-by: Paul E. McKenney
    Link: http://lkml.kernel.org/n/tip-c7vlkshl3tblim0o8z2p70kt@git.kernel.org
    Cc: Linus Torvalds
    Cc: Richard Kuo
    Cc: Vineet Gupta
    Cc: linux-hexagon@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     

08 Apr, 2014

1 commit

  • If the renamed symbol is defined lib/iomap.c implements ioport_map and
    ioport_unmap and currently (nearly) all platforms define the port
    accessor functions outb/inb and friend unconditionally. So
    HAS_IOPORT_MAP is the better name for this.

    Consequently NO_IOPORT is renamed to NO_IOPORT_MAP.

    The motivation for this change is to reintroduce a symbol HAS_IOPORT
    that signals if outb/int et al are available. I will address that at
    least one merge window later though to keep surprises to a minimum and
    catch new introductions of (HAS|NO)_IOPORT.

    The changes in this commit were done using:

    $ git grep -l -E '(NO|HAS)_IOPORT' | xargs perl -p -i -e 's/\b((?:CONFIG_)?(?:NO|HAS)_IOPORT)\b/$1_MAP/'

    Signed-off-by: Uwe Kleine-König
    Acked-by: Arnd Bergmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Uwe Kleine-König
     

06 Apr, 2014

1 commit

  • Pull Hexagon updates from Richard Kuo:
    "Mostly cleanups for compilation with allmodconfig and some other
    miscellaneous fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rkuo/linux-hexagon-kernel:
    Hexagon: update CR year for elf.h
    Hexagon: remove SP macro
    Hexagon: set ELF_EXEC_PAGESIZE to PAGE_SIZE
    Hexagon: set the e_flags in user regset view for core dumps
    Hexagon: fix atomic_set
    Hexagon: add screen_info for VGA_CONSOLE
    hexagon: correct type on pgd copy
    smp, hexagon: kill SMP single function call interrupt
    arch: hexagon: include: asm: add generic macro 'mmiowb' in "io.h"
    arch: hexagon: kernel: hexagon_ksyms.c: export related symbols which various modules need
    arch: hexagon: kernel: reset.c: use function pointer instead of function for pm_power_off and export it
    arch: hexagon: include: asm: add "vga.h" in Kbuild
    arch: hexagon: include: asm: Kbuild: add generic "serial.h" in Kbuild
    arch: hexagon: include: uapi: asm: setup.h add swith macro __KERNEL__
    arch: hexagon: include: asm: add prefix "hvm[ci]_" for all enum members in "hexagon_vm.h"
    arch: hexagon: Kconfig: add HAVE_DMA_ATTR in Kconfig and remove "linux/dma-mapping.h" from "asm/dma-mapping.h"
    arch: hexagon: kernel: add export symbol function __delay()
    hexagon: include: asm: kgdb: extend DBG_MAX_REG_NUM for "cs0/1"
    hexagon: kernel: kgdb: include related header for pass compiling.
    hexagon: kernel: remove useless variables 'dn', 'r' and 'err' in time_init_deferred() in "time.c"

    Linus Torvalds
     

05 Apr, 2014

20 commits

  • Signed-off-by: Richard Kuo

    Richard Kuo
     
  • The SP/r29 macro wasn't used anywhere else and was causing conflicts
    with another module, so just remove it.

    Signed-off-by: Richard Kuo

    Richard Kuo
     
  • Signed-off-by: Richard Kuo

    Richard Kuo
     
  • Signed-off-by: Richard Kuo

    Richard Kuo
     
  • Normal writes in our our architecture don't invalidate lock
    reservations.

    Signed-off-by: Richard Kuo

    Richard Kuo
     
  • Signed-off-by: Richard Kuo

    Richard Kuo
     
  • swapper_pg_dir is an array of pgd_t, not pgd_t*. This has no actual
    effect since sizeof(pgd_t) == sizeof(pgd_t*), but unconfuses tools that
    check types.

    Signed-off-by: Ilia Mirkin
    Signed-off-by: Richard Kuo

    Ilia Mirkin
     
  • Commit 9a46ad6d6df3b54 "smp: make smp_call_function_many() use logic
    similar to smp_call_function_single()" has unified the way to handle
    single and multiple cross-CPU function calls. Now only one intterupt
    is needed for architecture specific code to support generic SMP function
    call interfaces, so kill the redundant single function call interrupt.

    Cc: Andrew Morton
    Cc: Shaohua Li
    Cc: Peter Zijlstra
    Cc: Ingo Molnar
    Cc: Steven Rostedt
    Cc: Jiri Kosina
    Cc: Richard Kuo
    Cc: linux-hexagon@vger.kernel.org
    Signed-off-by: Jiang Liu
    Signed-off-by: Richard Kuo

    Jiang Liu
     
  • Need dumy mmiowb(), or can not pass compiling, the related error with
    allmodconfig:

    CC [M] drivers/mmc/host/sdhci.o
    drivers/mmc/host/sdhci.c: In function 'sdhci_request':
    drivers/mmc/host/sdhci.c:1409:2: error: implicit declaration of function 'mmiowb' [-Werror=implicit-function-declaration]

    Signed-off-by: Chen Gang
    Signed-off-by: Richard Kuo

    Chen Gang
     
  • Need export all related functions and symbols for various modules with
    allmodconfig. The related errors:

    MODPOST 2879 modules
    ERROR: "__vmyield" [sound/sound_firmware.ko] undefined!
    ERROR: "__phys_offset" [sound/drivers/snd-dummy.ko] undefined!
    ERROR: "ioremap_nocache" [drivers/char/ipmi/ipmi_si.ko] undefined!
    ERROR: "__iounmap" [drivers/char/ipmi/ipmi_si.ko] undefined!
    ...

    For including files, need "linux/*" first, then "asm/*". All related
    included files and symbols need be sorted by alphabetical order.

    Signed-off-by: Chen Gang
    Signed-off-by: Richard Kuo

    Chen Gang
     
  • …power_off and export it

    'pm_power_off' is a function pointer, not a function, so need change
    its type, and also need export it, or can not pass compiling with
    allmodconfig. The related error:

    MODPOST 2879 modules
    ERROR: "pm_power_off" [drivers/char/ipmi/ipmi_poweroff.ko] undefined!

    Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
    Signed-off-by: Richard Kuo <rkuo@codeaurora.org>

    Chen Gang
     
  • Need include generic "vga.h", or can not pass compiling with
    allmodconfig, the related error:

    CC [M] drivers/gpu/drm/drm_irq.o
    In file included from include/linux/vgaarb.h:34:0,
    from drivers/gpu/drm/drm_irq.c:42:
    include/video/vga.h:22:21: fatal error: asm/vga.h: No such file or directory

    Also move "preempt.h" upper to match sort order.

    Signed-off-by: Chen Gang
    Signed-off-by: Richard Kuo

    Chen Gang
     
  • Add "serial.h" in Kbuild, or can not pass compiling with allmodconfig,
    the related error:

    CC [M] drivers/staging/speakup/speakup_acntpc.o
    In file included from drivers/staging/speakup/speakup_acntpc.c:33:0:
    drivers/staging/speakup/serialio.h:7:24: fatal error: asm/serial.h: No such file or directory

    Signed-off-by: Chen Gang
    Signed-off-by: Richard Kuo

    Chen Gang
     
  • Define dummy '__init' instead of include "linux/init.h" if !__KERNEL__,
    or can not pass checking. The related error (with allmodconfig under
    hexagon):

    CHECK include/asm (34 files)
    usr/include/asm/setup.h:22: included file 'linux/init.h' is not exported

    Signed-off-by: Chen Gang
    Signed-off-by: Richard Kuo

    Chen Gang
     
  • Append "hvmc_" or "hvmi_" to all related enum members (which are too
    common to make conflict with another sub-systems). The related error
    with allmodconfig:

    CC [M] drivers/md/raid1.o
    drivers/md/raid1.c:1440:13: error: 'status' redeclared as different kind of symbol
    arch/hexagon/include/asm/hexagon_vm.h:76:2: note: previous definition of 'status' was here

    Also use 'affinity' instead of 'locdis' for __vmintop_affinity().

    Signed-off-by: Chen Gang
    Signed-off-by: Richard Kuo

    Chen Gang
     
  • …ng.h" from "asm/dma-mapping.h"

    When HAS_DMA, and also need use generic implementation, HAVE_DMA_ATTR
    must be enabled, or can not pass compiling with allmodconfig, the
    related error:

    CC [M] drivers/ata/libata-core.o
    drivers/ata/libata-core.c: In function 'ata_sg_clean':
    drivers/ata/libata-core.c:4598:3: error: implicit declaration of function 'dma_unmap_sg' [-Werror=implicit-function-declaration]
    drivers/ata/libata-core.c: In function 'ata_sg_setup':
    drivers/ata/libata-core.c:4708:2: error: implicit declaration of function 'dma_map_sg' [-Werror=implicit-function-declaration]

    "linux/dma-mapping.h" will include "asm/dma-mapping.h", so need remove
    "linux/dma-mapping.h" from "asm/dma-mapping.h",

    Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
    Signed-off-by: Richard Kuo <rkuo@codeaurora.org>

    Chen Gang
     
  • Need add __delay() implementation, or can not pass allmodconfig in
    next-20131118 tree.

    The related error:

    CC kernel/locking/spinlock_debug.o
    kernel/locking/spinlock_debug.c: In function '__spin_lock_debug':
    kernel/locking/spinlock_debug.c:114:3: error: implicit declaration of function '__delay' [-Werror=implicit-function-declaration]

    Signed-off-by: Chen Gang
    Signed-off-by: Richard Kuo

    Chen Gang
     
  • Need extend maximized number for "cs0/1", the related warning (with
    allmodconfig for v4):

    arch/hexagon/kernel/kgdb.c:79: warning: excess elements in array initializer
    arch/hexagon/kernel/kgdb.c:79: warning: (near initialization for 'dbg_reg_def')
    arch/hexagon/kernel/kgdb.c:80: warning: excess elements in array initializer
    arch/hexagon/kernel/kgdb.c:80: warning: (near initialization for 'dbg_reg_def')

    Signed-off-by: Chen Gang
    Signed-off-by: Richard Kuo

    Chen Gang
     
  • Need include related headers for pass compiling, the related error
    (with allmodconfig for v4):

    CC arch/hexagon/kernel/kgdb.o
    arch/hexagon/kernel/kgdb.c:30: error: invalid use of undefined type 'struct pt_regs'
    arch/hexagon/kernel/kgdb.c:31: error: invalid use of undefined type 'struct pt_regs'
    ...
    arch/hexagon/kernel/kgdb.c:220: error: implicit declaration of function 'local_irq_save'
    arch/hexagon/kernel/kgdb.c:222: error: implicit declaration of function 'local_irq_restore'
    ...

    Signed-off-by: Chen Gang
    Signed-off-by: Richard Kuo

    Chen Gang
     
  • Remove them, since they are useless. The related warnings (with
    allmodconfig for v4):

    CC arch/hexagon/kernel/time.o
    arch/hexagon/kernel/time.c: In function 'time_init_deferred':
    arch/hexagon/kernel/time.c:196: warning: unused variable 'err'
    arch/hexagon/kernel/time.c:195: warning: unused variable 'r'
    arch/hexagon/kernel/time.c:194: warning: unused variable 'dn'

    Signed-off-by: Chen Gang
    Signed-off-by: Richard Kuo

    Chen Gang
     

10 Feb, 2014

2 commits

  • This patch allows each architecture to add its specific assembly optimized
    arch_mcs_spin_lock_contended and arch_mcs_spinlock_uncontended for
    MCS lock and unlock functions.

    Signed-off-by: Tim Chen
    Cc: Scott J Norton
    Cc: Raghavendra K T
    Cc: AswinChandramouleeswaran
    Cc: George Spelvin
    Cc: Rik vanRiel
    Cc: Andrea Arcangeli
    Cc: MichelLespinasse
    Cc: Peter Hurley
    Cc: Andi Kleen
    Cc: Alex Shi
    Cc: Dave Hansen
    Cc: Tim Chen
    Cc: Arnd Bergmann
    Cc: "Figo.zhang"
    Cc: "Paul E.McKenney"
    Cc: "H. Peter Anvin"
    Cc: Davidlohr Bueso
    Cc: Waiman Long
    Cc: Ingo Molnar
    Cc: Will Deacon
    Cc: Andrew Morton
    Cc: Linus Torvalds
    Cc: Matthew R Wilcox
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1390347382.3138.67.camel@schen9-DESK
    Signed-off-by: Ingo Molnar

    Tim Chen
     
  • We perform a clean up of the Kbuid files in each architecture.
    We order the files in each Kbuild in alphabetical order
    by running the below script.

    for i in arch/*/include/asm/Kbuild
    do
    cat $i | gawk '/^generic-y/ {
    i = 3;
    do {
    for (; i ${i}.sorted;
    mv ${i}.sorted $i;
    done

    Signed-off-by: Tim Chen
    Cc: Arnd Bergmann
    Cc: Matthew R Wilcox
    Cc: AswinChandramouleeswaran
    Cc: Dave Hansen
    Cc: "Paul E.McKenney"
    Cc: Scott J Norton
    Cc: Will Deacon
    Cc: "Figo.zhang"
    Cc: Linus Torvalds
    Cc: Rik van Riel
    Cc: Waiman Long
    Cc: Peter Hurley
    Cc: Andrea Arcangeli
    Cc: Tim Chen
    Cc: Alex Shi
    Cc: Raghavendra K T
    Cc: Andi Kleen
    Cc: George Spelvin
    Cc: MichelLespinasse
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Davidlohr Bueso
    Cc: Andrew Morton
    Signed-off-by: Peter Zijlstra
    [ Fixed build bug. ]
    Signed-off-by: Ingo Molnar

    Tim Chen
     

26 Jan, 2014

1 commit

  • Pull networking updates from David Miller:

    1) BPF debugger and asm tool by Daniel Borkmann.

    2) Speed up create/bind in AF_PACKET, also from Daniel Borkmann.

    3) Correct reciprocal_divide and update users, from Hannes Frederic
    Sowa and Daniel Borkmann.

    4) Currently we only have a "set" operation for the hw timestamp socket
    ioctl, add a "get" operation to match. From Ben Hutchings.

    5) Add better trace events for debugging driver datapath problems, also
    from Ben Hutchings.

    6) Implement auto corking in TCP, from Eric Dumazet. Basically, if we
    have a small send and a previous packet is already in the qdisc or
    device queue, defer until TX completion or we get more data.

    7) Allow userspace to manage ipv6 temporary addresses, from Jiri Pirko.

    8) Add a qdisc bypass option for AF_PACKET sockets, from Daniel
    Borkmann.

    9) Share IP header compression code between Bluetooth and IEEE802154
    layers, from Jukka Rissanen.

    10) Fix ipv6 router reachability probing, from Jiri Benc.

    11) Allow packets to be captured on macvtap devices, from Vlad Yasevich.

    12) Support tunneling in GRO layer, from Jerry Chu.

    13) Allow bonding to be configured fully using netlink, from Scott
    Feldman.

    14) Allow AF_PACKET users to obtain the VLAN TPID, just like they can
    already get the TCI. From Atzm Watanabe.

    15) New "Heavy Hitter" qdisc, from Terry Lam.

    16) Significantly improve the IPSEC support in pktgen, from Fan Du.

    17) Allow ipv4 tunnels to cache routes, just like sockets. From Tom
    Herbert.

    18) Add Proportional Integral Enhanced packet scheduler, from Vijay
    Subramanian.

    19) Allow openvswitch to mmap'd netlink, from Thomas Graf.

    20) Key TCP metrics blobs also by source address, not just destination
    address. From Christoph Paasch.

    21) Support 10G in generic phylib. From Andy Fleming.

    22) Try to short-circuit GRO flow compares using device provided RX
    hash, if provided. From Tom Herbert.

    The wireless and netfilter folks have been busy little bees too.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (2064 commits)
    net/cxgb4: Fix referencing freed adapter
    ipv6: reallocate addrconf router for ipv6 address when lo device up
    fib_frontend: fix possible NULL pointer dereference
    rtnetlink: remove IFLA_BOND_SLAVE definition
    rtnetlink: remove check for fill_slave_info in rtnl_have_link_slave_info
    qlcnic: update version to 5.3.55
    qlcnic: Enhance logic to calculate msix vectors.
    qlcnic: Refactor interrupt coalescing code for all adapters.
    qlcnic: Update poll controller code path
    qlcnic: Interrupt code cleanup
    qlcnic: Enhance Tx timeout debugging.
    qlcnic: Use bool for rx_mac_learn.
    bonding: fix u64 division
    rtnetlink: add missing IFLA_BOND_AD_INFO_UNSPEC
    sfc: Use the correct maximum TX DMA ring size for SFC9100
    Add Shradha Shah as the sfc driver maintainer.
    net/vxlan: Share RX skb de-marking and checksum checks with ovs
    tulip: cleanup by using ARRAY_SIZE()
    ip_tunnel: clear IPCB in ip_tunnel_xmit() in case dst_link_failure() is called
    net/cxgb4: Don't retrieve stats during recovery
    ...

    Linus Torvalds