02 Apr, 2014

2 commits

  • Pull char/misc driver patches from Greg KH:
    "Here's the big char/misc driver updates for 3.15-rc1.

    Lots of various things here, including the new mcb driver subsystem.

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

    * tag 'char-misc-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (118 commits)
    extcon: Move OF helper function to extcon core and change function name
    extcon: of: Remove unnecessary function call by using the name of device_node
    extcon: gpio: Use SIMPLE_DEV_PM_OPS macro
    extcon: palmas: Use SIMPLE_DEV_PM_OPS macro
    mei: don't use deprecated DEFINE_PCI_DEVICE_TABLE macro
    mei: amthif: fix checkpatch error
    mei: client.h fix checkpatch errors
    mei: use cl_dbg where appropriate
    mei: fix Unnecessary space after function pointer name
    mei: report consistently copy_from/to_user failures
    mei: drop pr_fmt macros
    mei: make me hw headers private to me hw.
    mei: fix memory leak of pending write cb objects
    mei: me: do not reset when less than expected data is received
    drivers: mcb: Fix build error discovered by 0-day bot
    cs5535-mfgpt: Simplify dependencies
    spmi: pm: drop bus-level PM suspend/resume routines
    spmi: pmic_arb: make selectable on ARCH_QCOM
    Drivers: hv: vmbus: Increase the limit on the number of pfns we can handle
    pch_phub: Report error writing MAC back to user
    ...

    Linus Torvalds
     
  • Pull AVR32 updates from Hans-Christian Egtvedt.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32:
    avr32: replace simple_strtoul() with kstrtoul()
    arch/avr32/mm/cache.c: export symbol flush_icache_range() for module using
    avr32: remove cpu_data macro to fix compiles

    Linus Torvalds
     

01 Apr, 2014

2 commits

  • simple_strtoul() is marked for obsoletion; use the newer and more
    pleasant kstrtoul() in its place.

    Cc: Alexey Dobriyan
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Signed-off-by: Ramkumar Ramachandra
    Signed-off-by: Hans-Christian Egtvedt

    Ramkumar Ramachandra
     
  • Pull core locking updates from Ingo Molnar:
    "The biggest change is the MCS spinlock generalization changes from Tim
    Chen, Peter Zijlstra, Jason Low et al. There's also lockdep
    fixes/enhancements from Oleg Nesterov, in particular a false negative
    fix related to lockdep_set_novalidate_class() usage"

    * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
    locking/mutex: Fix debug checks
    locking/mutexes: Add extra reschedule point
    locking/mutexes: Introduce cancelable MCS lock for adaptive spinning
    locking/mutexes: Unlock the mutex without the wait_lock
    locking/mutexes: Modify the way optimistic spinners are queued
    locking/mutexes: Return false if task need_resched() in mutex_can_spin_on_owner()
    locking: Move mcs_spinlock.h into kernel/locking/
    m68k: Skip futex_atomic_cmpxchg_inatomic() test
    futex: Allow architectures to skip futex_atomic_cmpxchg_inatomic() test
    Revert "sched/wait: Suppress Sparse 'variable shadowing' warning"
    lockdep: Change lockdep_set_novalidate_class() to use _and_name
    lockdep: Change mark_held_locks() to check hlock->check instead of lockdep_no_validate
    lockdep: Don't create the wrong dependency on hlock->check == 0
    lockdep: Make held_lock->check and "int check" argument bool
    locking/mcs: Allow architecture specific asm files to be used for contended case
    locking/mcs: Order the header files in Kbuild of each architecture in alphabetical order
    sched/wait: Suppress Sparse 'variable shadowing' warning
    hung_task/Documentation: Fix hung_task_warnings description
    locking/mcs: Allow architectures to hook in to contended paths
    locking/mcs: Micro-optimize the MCS code, add extra comments
    ...

    Linus Torvalds
     

31 Mar, 2014

2 commits

  • Need export symbol flush_icache_range() to modules, just like another
    platforms have done, or can not pass compiling.

    The related error (with allmodconfig under avr32):

    ERROR: "flush_icache_range" [drivers/misc/lkdtm.ko] undefined!
    make[1]: *** [__modpost] Error 1
    make: *** [modules] Error 2

    Signed-off-by: Chen Gang
    Acked-by: Hans-Christian Egtvedt

    Chen Gang
     
  • Having cpu_data as a parameterless macro can easily cause build failures
    because it can be a variable name like in linux/pm_domain.h [1]. So,
    remove the macro and convert its only user. Because this architecture
    cannot do SMP, remove the whole SMP block, too. Only compile tested due
    to no hardware.

    Signed-off-by: Wolfram Sang
    Acked-by: Hans-Christian Egtvedt

    [1] https://lists.01.org/pipermail/kbuild-all/2014-February/003252.html

    Wolfram Sang
     

01 Mar, 2014

1 commit

  • To quote Mark:
    I think it's safe to delete the driver.

    The mimc200 unit is now basically obsolete and there'll be no
    new development on it.

    Becides, it grabs the 0 misc minor number, when it never asked for it,
    conflicting with the logitech bus mouse driver.

    Cc: Mark Jackson
    Cc: Haavard Skinnemoen
    Cc: Lucas De Marchi
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

17 Feb, 2014

4 commits

  • Need add generic "vga.h", or can not pass building for allmodconfig,
    the related error:

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

    Signed-off-by: Chen Gang
    Acked-by: Hans-Christian Egtvedt

    Chen Gang
     
  • Need generic ioremap_wc(), or can not pass compiling with allmodconfig,
    the related error:

    CC [M] drivers/gpu/drm/drm_bufs.o
    drivers/gpu/drm/drm_bufs.c: In function 'drm_addmap_core':
    drivers/gpu/drm/drm_bufs.c:217: error: implicit declaration of function 'ioremap_wc'
    drivers/gpu/drm/drm_bufs.c:218: warning: assignment makes pointer from integer without a cast

    Signed-off-by: Chen Gang
    Acked-by: Hans-Christian Egtvedt

    Chen Gang
     
  • For avr32 cross compiler, do not define '__linux__' internally, so it
    will cause issue with allmodconfig.

    The related error:

    CC [M] fs/coda/psdev.o
    In file included from include/linux/coda.h:64,
    from fs/coda/psdev.c:45:
    include/uapi/linux/coda.h:221: error: expected specifier-qualifier-list before 'u_quad_t'

    The related toolchain version (which only download, not re-compile):

    [root@gchen linux-next]# /upstream/toolchain/download/avr32-gnu-toolchain-linux_x86/bin/avr32-gcc -v
    Using built-in specs.
    Target: avr32
    Configured with: /data2/home/toolsbuild/jenkins-knuth/workspace/avr32-gnu-toolchain/src/gcc/configure --target=avr32 --host=i686-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/home/toolsbuild/jenkins-knuth/workspace/avr32-gnu-toolchain/avr32-gnu-toolchain-linux_x86 --enable-languages=c,c++ --disable-nls --disable-libssp --disable-libstdcxx-pch --with-dwarf2 --enable-version-specific-runtime-libs --disable-shared --enable-doc --with-mpfr-lib=/home/toolsbuild/jenkins-knuth/workspace/avr32-gnu-toolchain/avr32-gnu-toolchain-linux_x86/lib --with-mpfr-include=/home/toolsbuild/jenkins-knuth/workspace/avr32-gnu-toolchain/avr32-gnu-toolchain-linux_x86/include --with-gmp=/home/toolsbuild/jenkins-knuth/workspace/avr32-gnu-toolchain/avr32-gnu-toolchain-linux_x86 --with-mpc=/home/toolsbuild/jenkins-knuth/workspace/avr32-gnu-toolchain/avr32-gnu-toolchain-linux_x86 --enable-__cxa_atexit --disable-shared --with-newlib --with-pkgversion=AVR_32_bit_GNU_Toolchain_3.4.2_435 --with-bugurl=http://www
    .atmel.com/avr
    Thread model: single
    gcc version 4.4.7 (AVR_32_bit_GNU_Toolchain_3.4.2_435)

    Signed-off-by: Chen Gang
    Acked-by: Hans-Christian Egtvedt
    Cc: stable@vger.kernel.org

    Chen Gang
     
  • Causing this:

    In file included from arch/avr32/boards/mimc200/fram.c:13:
    include/linux/miscdevice.h:51: error: field 'list' has incomplete type
    include/linux/miscdevice.h:55: error: expected specifier-qualifier-list before 'mode_t'
    arch/avr32/boards/mimc200/fram.c:42: error: 'THIS_MODULE' undeclared here (not in a function)

    Reported-by: Fengguang Wu
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Signed-off-by: Paul Gortmaker
    Signed-off-by: Sergei Trofimovich
    Acked-by: Hans-Christian Egtvedt
    Cc: stable@vger.kernel.org

    Paul Gortmaker
     

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
     

19 Jan, 2014

1 commit

  • For user space packet capturing libraries such as libpcap, there's
    currently only one way to check which BPF extensions are supported
    by the kernel, that is, commit aa1113d9f85d ("net: filter: return
    -EINVAL if BPF_S_ANC* operation is not supported"). For querying all
    extensions at once this might be rather inconvenient.

    Therefore, this patch introduces a new option which can be used as
    an argument for getsockopt(), and allows one to obtain information
    about which BPF extensions are supported by the current kernel.

    As David Miller suggests, we do not need to define any bits right
    now and status quo can just return 0 in order to state that this
    versions supports SKF_AD_PROTOCOL up to SKF_AD_PAY_OFFSET. Later
    additions to BPF extensions need to add their bits to the
    bpf_tell_extensions() function, as documented in the comment.

    Signed-off-by: Michal Sekletar
    Cc: David Miller
    Reviewed-by: Daniel Borkmann
    Signed-off-by: David S. Miller

    Michal Sekletar
     

12 Jan, 2014

1 commit

  • We're going to be adding a few new barrier primitives, and in order to
    avoid endless duplication make more agressive use of
    asm-generic/barrier.h.

    Change the asm-generic/barrier.h such that it allows partial barrier
    definitions and fills out the rest with defaults.

    There are a few architectures (m32r, m68k) that could probably
    do away with their barrier.h file entirely but are kept for now due to
    their unconventional nop() implementation.

    Suggested-by: Geert Uytterhoeven
    Reviewed-by: "Paul E. McKenney"
    Reviewed-by: Mathieu Desnoyers
    Signed-off-by: Peter Zijlstra
    Cc: Michael Ellerman
    Cc: Michael Neuling
    Cc: Russell King
    Cc: Heiko Carstens
    Cc: Linus Torvalds
    Cc: Martin Schwidefsky
    Cc: Victor Kaplansky
    Cc: Tony Luck
    Cc: Oleg Nesterov
    Cc: Benjamin Herrenschmidt
    Cc: Frederic Weisbecker
    Link: http://lkml.kernel.org/r/20131213150640.846368594@infradead.org
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     

19 Dec, 2013

1 commit


18 Dec, 2013

1 commit


10 Dec, 2013

4 commits

  • Treat both negative and zero return values from clk_round_rate() as
    errors. This is needed since subsequent patches will convert
    clk_round_rate()'s return value to be an unsigned type, rather than a
    signed type, since some clock sources can generate rates higher than
    (2^31)-1 Hz.

    Eventually, when calling clk_round_rate(), only a return value of zero
    will be considered a error. All other values will be considered valid
    rates. The comparison against values less than 0 is kept to preserve
    the correct behavior in the meantime.

    Signed-off-by: Paul Walmsley
    Cc: Nicolas Ferre
    Cc: Håvard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Jean-Christophe PLAGNIOL-VILLARD
    Acked-by: Hans-Christian Egtvedt

    Paul Walmsley
     
  • This patch proposes to remove the use of the IRQF_DISABLED flag

    It's a NOOP since 2.6.35 and it will be removed one day.

    Signed-off-by: Michael Opdenacker
    Acked-by: Hans-Christian Egtvedt

    Michael Opdenacker
     
  • The power management has a section mismatch which leads to the following
    warning during compilation:

    WARNING: arch/avr32/mach-at32ap/built-in.o(.text+0x16d4): Section
    mismatch in reference from the function avr32_pm_offset() to the
    function .init.text:pm_exception()
    The function avr32_pm_offset() references
    the function __init pm_exception().

    Signed-off-by: Matthias Brugger
    Acked-by: Hans-Christian Egtvedt

    Matthias Brugger
     
  • This patch removes CONFIG_MTD_PARTITIONS in config files for avr32.
    Because CONFIG_MTD_PARTITIONS was removed by commit
    6a8a98b22b10f1560d5f90aded4a54234b9b2724.

    Signed-off-by: Eunbong Song
    Acked-by: Hans-Christian Egtvedt

    Eunbong Song
     

20 Nov, 2013

5 commits

  • For all uapi headers, need use "_UAPI" prefix for its guard macro
    (which will be stripped by "scripts/headers_installer.sh").

    Also remove redundant files (bitsperlong.h, errno.h, fcntl.h, ioctl.h,
    ioctls.h, ipcbuf.h, kvm_para.h, mman.h, poll.h, resource.h, siginfo.h,
    statfs.h, and unistd.h) which are already in Kbuild.

    Also be sure that all "#endif" only have one empty line above, and each
    file has guard macro.

    Signed-off-by: Chen Gang
    Signed-off-by: Hans-Christian Egtvedt

    Chen Gang
     
  • This re-enables kprobes on AVR32 architecture.

    Signed-off-by: Eirik Aanonsen
    Signed-off-by: Hans-Christian Egtvedt

    Eirik Aanonsen
     
  • This patch fixes following error (for big kernels):

    ---88---

    It comes up when the kernel increases and 'panic()' is too far away to fit in
    the +/- 2MiB range. Which in turn issues from the 21-bit displacement in
    'br{cond4}' mnemonic which is one of the two ways to do jumps (rjmp has just
    10-bit displacement and therefore a way smaller range). This fact was stated
    before in 8d29b7b9f81d6b83d869ff054e6c189d6da73f1f.
    One solution to solve this is to add a local storage for the symbol address
    and just load the $pc with that value.

    Signed-off-by: Andreas Bießmann
    Acked-by: Hans-Christian Egtvedt
    Cc: Haavard Skinnemoen
    Cc: stable@vger.kernel.org

    Andreas Bießmann
     
  • Before the CRT was (fully) set up in kernel_entry (bss cleared before in
    _start, but also not before jump to panic() in no_tag_table case).

    This patch fixes this up to have a fully working CRT when branching to panic()
    in no_tag_table.

    Signed-off-by: Andreas Bießmann
    Acked-by: Hans-Christian Egtvedt
    Cc: Haavard Skinnemoen
    Cc: stable@vger.kernel.org

    Andreas Bießmann
     
  • Pull irq cleanups from Ingo Molnar:
    "This is a multi-arch cleanup series from Thomas Gleixner, which we
    kept to near the end of the merge window, to not interfere with
    architecture updates.

    This series (motivated by the -rt kernel) unifies more aspects of IRQ
    handling and generalizes PREEMPT_ACTIVE"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    preempt: Make PREEMPT_ACTIVE generic
    sparc: Use preempt_schedule_irq
    ia64: Use preempt_schedule_irq
    m32r: Use preempt_schedule_irq
    hardirq: Make hardirq bits generic
    m68k: Simplify low level interrupt handling code
    genirq: Prevent spurious detection for unconditionally polled interrupts

    Linus Torvalds
     

15 Nov, 2013

1 commit


14 Nov, 2013

2 commits

  • Pull fbdev changes from Tomi Valkeinen:
    "Nothing particularly stands out in this pull request. The biggest
    part of the changes are cleanups.

    Maybe one fix to mention is the "fb: reorder the lock sequence to fix
    potential dead lock" which hopefully fixes the fb locking issues
    reported by multiple persons.

    There are also a few commits that have changes to arch/arm/mach-at91
    and arch/avr32, which have been acked by the maintainers"

    * tag 'fbdev-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (143 commits)
    fb: reorder the lock sequence to fix potential dead lock
    fbdev: shmobile-lcdcfb: Convert to clk_prepare/unprepare
    fbdev: shmobile-hdmi: Convert to clk_prepare/unprepare
    omapdss: Add new panel driver for Topolly td028ttec1 LCD.
    video: exynos_mipi_dsi: Unlock the mutex before returning
    video: da8xx-fb: remove unwanted define
    video: Remove unnecessary semicolons
    simplefb: use write-combined remapping
    simplefb: fix unmapping fb during destruction
    OMAPDSS: connector-dvi: fix releasing i2c_adapter
    OMAPDSS: DSI: fix perf measuring ifdefs
    framebuffer: Use fb_
    framebuffer: Add fb_ convenience logging macros
    efifb: prevent null-deref when iterating dmi_list
    fbdev: fix error return code in metronomefb_probe()
    video: xilinxfb: Fix for "Use standard variable name convention"
    OMAPDSS: Fix de_level in videomode_to_omap_video_timings()
    video: xilinxfb: Simplify error path
    video: xilinxfb: Use devm_kzalloc instead of kzalloc
    video: xilinxfb: Use standard variable name convention
    ...

    Linus Torvalds
     
  • No point in having this bit defined by architecture.

    Signed-off-by: Thomas Gleixner
    Acked-by: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20130917183629.090698799@linutronix.de

    Thomas Gleixner
     

13 Nov, 2013

1 commit

  • Pull networking updates from David Miller:

    1) The addition of nftables. No longer will we need protocol aware
    firewall filtering modules, it can all live in userspace.

    At the core of nftables is a, for lack of a better term, virtual
    machine that executes byte codes to inspect packet or metadata
    (arriving interface index, etc.) and make verdict decisions.

    Besides support for loading packet contents and comparing them, the
    interpreter supports lookups in various datastructures as
    fundamental operations. For example sets are supports, and
    therefore one could create a set of whitelist IP address entries
    which have ACCEPT verdicts attached to them, and use the appropriate
    byte codes to do such lookups.

    Since the interpreted code is composed in userspace, userspace can
    do things like optimize things before giving it to the kernel.

    Another major improvement is the capability of atomically updating
    portions of the ruleset. In the existing netfilter implementation,
    one has to update the entire rule set in order to make a change and
    this is very expensive.

    Userspace tools exist to create nftables rules using existing
    netfilter rule sets, but both kernel implementations will need to
    co-exist for quite some time as we transition from the old to the
    new stuff.

    Kudos to Patrick McHardy, Pablo Neira Ayuso, and others who have
    worked so hard on this.

    2) Daniel Borkmann and Hannes Frederic Sowa made several improvements
    to our pseudo-random number generator, mostly used for things like
    UDP port randomization and netfitler, amongst other things.

    In particular the taus88 generater is updated to taus113, and test
    cases are added.

    3) Support 64-bit rates in HTB and TBF schedulers, from Eric Dumazet
    and Yang Yingliang.

    4) Add support for new 577xx tigon3 chips to tg3 driver, from Nithin
    Sujir.

    5) Fix two fatal flaws in TCP dynamic right sizing, from Eric Dumazet,
    Neal Cardwell, and Yuchung Cheng.

    6) Allow IP_TOS and IP_TTL to be specified in sendmsg() ancillary
    control message data, much like other socket option attributes.
    From Francesco Fusco.

    7) Allow applications to specify a cap on the rate computed
    automatically by the kernel for pacing flows, via a new
    SO_MAX_PACING_RATE socket option. From Eric Dumazet.

    8) Make the initial autotuned send buffer sizing in TCP more closely
    reflect actual needs, from Eric Dumazet.

    9) Currently early socket demux only happens for TCP sockets, but we
    can do it for connected UDP sockets too. Implementation from Shawn
    Bohrer.

    10) Refactor inet socket demux with the goal of improving hash demux
    performance for listening sockets. With the main goals being able
    to use RCU lookups on even request sockets, and eliminating the
    listening lock contention. From Eric Dumazet.

    11) The bonding layer has many demuxes in it's fast path, and an RCU
    conversion was started back in 3.11, several changes here extend the
    RCU usage to even more locations. From Ding Tianhong and Wang
    Yufen, based upon suggestions by Nikolay Aleksandrov and Veaceslav
    Falico.

    12) Allow stackability of segmentation offloads to, in particular, allow
    segmentation offloading over tunnels. From Eric Dumazet.

    13) Significantly improve the handling of secret keys we input into the
    various hash functions in the inet hashtables, TCP fast open, as
    well as syncookies. From Hannes Frederic Sowa. The key fundamental
    operation is "net_get_random_once()" which uses static keys.

    Hannes even extended this to ipv4/ipv6 fragmentation handling and
    our generic flow dissector.

    14) The generic driver layer takes care now to set the driver data to
    NULL on device removal, so it's no longer necessary for drivers to
    explicitly set it to NULL any more. Many drivers have been cleaned
    up in this way, from Jingoo Han.

    15) Add a BPF based packet scheduler classifier, from Daniel Borkmann.

    16) Improve CRC32 interfaces and generic SKB checksum iterators so that
    SCTP's checksumming can more cleanly be handled. Also from Daniel
    Borkmann.

    17) Add a new PMTU discovery mode, IP_PMTUDISC_INTERFACE, which forces
    using the interface MTU value. This helps avoid PMTU attacks,
    particularly on DNS servers. From Hannes Frederic Sowa.

    18) Use generic XPS for transmit queue steering rather than internal
    (re-)implementation in virtio-net. From Jason Wang.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1622 commits)
    random32: add test cases for taus113 implementation
    random32: upgrade taus88 generator to taus113 from errata paper
    random32: move rnd_state to linux/random.h
    random32: add prandom_reseed_late() and call when nonblocking pool becomes initialized
    random32: add periodic reseeding
    random32: fix off-by-one in seeding requirement
    PHY: Add RTL8201CP phy_driver to realtek
    xtsonic: add missing platform_set_drvdata() in xtsonic_probe()
    macmace: add missing platform_set_drvdata() in mace_probe()
    ethernet/arc/arc_emac: add missing platform_set_drvdata() in arc_emac_probe()
    ipv6: protect for_each_sk_fl_rcu in mem_check with rcu_read_lock_bh
    vlan: Implement vlan_dev_get_egress_qos_mask as an inline.
    ixgbe: add warning when max_vfs is out of range.
    igb: Update link modes display in ethtool
    netfilter: push reasm skb through instead of original frag skbs
    ip6_output: fragment outgoing reassembled skb properly
    MAINTAINERS: mv643xx_eth: take over maintainership from Lennart
    net_sched: tbf: support of 64bit rates
    ixgbe: deleting dfwd stations out of order can cause null ptr deref
    ixgbe: fix build err, num_rx_queues is only available with CONFIG_RPS
    ...

    Linus Torvalds
     

09 Oct, 2013

1 commit


02 Oct, 2013

1 commit

  • Conflicts:
    drivers/net/ethernet/emulex/benet/be.h
    drivers/net/usb/qmi_wwan.c
    drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
    include/net/netfilter/nf_conntrack_synproxy.h
    include/net/secure_seq.h

    The conflicts are of two varieties:

    1) Conflicts with Joe Perches's 'extern' removal from header file
    function declarations. Usually it's an argument signature change
    or a function being added/removed. The resolutions are trivial.

    2) Some overlapping changes in qmi_wwan.c and be.h, one commit adds
    a new value, another changes an existing value. That sort of
    thing.

    Signed-off-by: David S. Miller

    David S. Miller
     

30 Sep, 2013

3 commits

  • The patch fixes the following compiler warning:
    CC arch/avr32/kernel/process.o
    arch/avr32/kernel/process.c: In function 'copy_thread':
    arch/avr32/kernel/process.c:292: warning: assignment makes integer \
    from pointer without a cast

    Signed-off-by: Gabor Juhos
    Acked-by: Hans-Christian Egtvedt

    Gabor Juhos
     
  • Since commit 01426478df3a8791ff5c8b6b82d409e699cfaf38
    (avr32: Use generic idle loop) the kernel throws the
    following warning on avr32:

    WARNING: at 900322e4 [verbose debug info unavailable]
    Modules linked in:
    CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.0-rc2 #117
    task: 901c3ecc ti: 901c0000 task.ti: 901c0000
    PC is at cpu_idle_poll_ctrl+0x1c/0x38
    LR is at comparator_mode+0x3e/0x40
    pc : [] lr : [] Not tainted
    sp : 901c1f74 r12: 00000000 r11: 901c74a0
    r10: 901d2510 r9 : 00000001 r8 : 901db4de
    r7 : 901c74a0 r6 : 00000001 r5 : 00410020 r4 : 901db574
    r3 : 00410024 r2 : 90206fe0 r1 : 00000000 r0 : 007f0000
    Flags: qvnzc
    Mode bits: hjmde....G
    CPU Mode: Supervisor
    Call trace:
    [] clockevents_set_mode+0x16/0x2e
    [] clockevents_shutdown+0xa/0x1e
    [] clockevents_exchange_device+0x58/0x70
    [] tick_check_new_device+0x38/0x54
    [] clockevents_register_device+0x32/0x90
    [] time_init+0xa8/0x108
    [] start_kernel+0x128/0x23c

    When the 'avr32_comparator' clockevent device is registered,
    the clockevent core sets the mode of that clockevent device
    to CLOCK_EVT_MODE_SHUTDOWN. Due to this, the 'comparator_mode'
    function calls the 'cpu_idle_poll_ctrl' to disables idle poll.
    This results in the aforementioned warning because the polling
    is not enabled yet.

    Change the code to only disable idle poll if it is enabled by
    the same function to avoid the warning.

    Cc: stable@vger.kernel.org
    Signed-off-by: Gabor Juhos
    Acked-by: Hans-Christian Egtvedt

    Gabor Juhos
     
  • Use kbuild to add asm-generic headers that do nothing, also remove the arch
    specific wrapper headers.

    This only affects headers that do nothing but include the generic
    equivalent. It does not touch any header that does a little more.

    Signed-off-by: Steven Rostedt
    Signed-off-by: Hans-Christian Egtvedt

    Steven Rostedt
     

29 Sep, 2013

1 commit

  • As mentioned in commit afe4fd062416b ("pkt_sched: fq: Fair Queue packet
    scheduler"), this patch adds a new socket option.

    SO_MAX_PACING_RATE offers the application the ability to cap the
    rate computed by transport layer. Value is in bytes per second.

    u32 val = 1000000;
    setsockopt(sockfd, SOL_SOCKET, SO_MAX_PACING_RATE, &val, sizeof(val));

    To be effectively paced, a flow must use FQ packet scheduler.

    Note that a packet scheduler takes into account the headers for its
    computations. The effective payload rate depends on MSS and retransmits
    if any.

    I chose to make this pacing rate a SOL_SOCKET option instead of a
    TCP one because this can be used by other protocols.

    Signed-off-by: Eric Dumazet
    Cc: Steinar H. Gunderson
    Cc: Michael Kerrisk
    Signed-off-by: David S. Miller

    Eric Dumazet
     

27 Sep, 2013

2 commits


25 Sep, 2013

1 commit

  • In order to prepare to per-arch implementations of preempt_count move
    the required bits into an asm-generic header and use this for all
    archs.

    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/n/tip-h5j0c1r3e3fk015m30h8f1zx@git.kernel.org
    Signed-off-by: Ingo Molnar

    Peter Zijlstra