13 Aug, 2013

1 commit



09 Aug, 2013

1 commit

  • With GRO/LRO processing, there is a problem because Ip[6]InReceives SNMP
    counters do not count the number of frames, but number of aggregated
    segments.

    Its probably too late to change this now.

    This patch adds four new counters, tracking number of frames, regardless
    of LRO/GRO, and on a per ECN status basis, for IPv4 and IPv6.

    Ip[6]NoECTPkts : Number of packets received with NOECT
    Ip[6]ECT1Pkts : Number of packets received with ECT(1)
    Ip[6]ECT0Pkts : Number of packets received with ECT(0)
    Ip[6]CEPkts : Number of packets received with Congestion Experienced

    lph37:~# nstat | egrep "Pkts|InReceive"
    IpInReceives 1634137 0.0
    Ip6InReceives 3714107 0.0
    Ip6InNoECTPkts 19205 0.0
    Ip6InECT0Pkts 52651828 0.0
    IpExtInNoECTPkts 33630 0.0
    IpExtInECT0Pkts 15581379 0.0
    IpExtInCEPkts 6 0.0

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     

04 Aug, 2013

2 commits

  • Merge net into net-next to setup some infrastructure Eric
    Dumazet needs for usbnet changes.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • This change brings the suppressor attribute names into line; it also changes
    the data types to provide a more consistent interface.

    While -1 indicates that the suppressor is not enabled, values >= 0 for
    suppress_prefixlen or suppress_ifgroup reject routing decisions violating the
    constraint.

    This changes the previously presented behaviour of suppress_prefixlen, where a
    prefix length _less_ than the attribute value was rejected. After this change,
    a prefix length less than *or* equal to the value is considered a violation of
    the rule constraint.

    It also changes the default values for default and newly added rules (disabling
    any suppression for those).

    Signed-off-by: Stefan Tomanek
    Signed-off-by: David S. Miller

    Stefan Tomanek
     

03 Aug, 2013

2 commits


02 Aug, 2013

2 commits


01 Aug, 2013

1 commit

  • This change adds a new operation to the fib_rules_ops struct; it allows the
    suppression of routing decisions if certain criteria are not met by its
    results.

    The first implemented constraint is a minimum prefix length added to the
    structures of routing rules. If a rule is added with a minimum prefix length
    >0, only routes meeting this threshold will be considered. Any other (more
    general) routing table entries will be ignored.

    When configuring a system with multiple network uplinks and default routes, it
    is often convinient to reference the main routing table multiple times - but
    omitting the default route. Using this patch and a modified "ip" utility, this
    can be achieved by using the following command sequence:

    $ ip route add table secuplink default via 10.42.23.1

    $ ip rule add pref 100 table main prefixlength 1
    $ ip rule add pref 150 fwmark 0xA table secuplink

    With this setup, packets marked 0xA will be processed by the additional routing
    table "secuplink", but only if no suitable route in the main routing table can
    be found. By using a minimal prefixlength of 1, the default route (/0) of the
    table "main" is hidden to packets processed by rule 100; packets traveling to
    destinations with more specific routing entries are processed as usual.

    Signed-off-by: Stefan Tomanek
    Signed-off-by: David S. Miller

    Stefan Tomanek
     

31 Jul, 2013

2 commits


30 Jul, 2013

1 commit


28 Jul, 2013

2 commits

  • For small packets we can simplify xmit processing
    by linearizing buffers with the header:
    most packets seem to have enough head room
    we can use for this purpose.
    Since existing hypervisors require that header
    is the first s/g element, we need a feature bit
    for this.

    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: Rusty Russell
    Signed-off-by: David S. Miller

    Michael S. Tsirkin
     
  • Commit 18d627113b83 (firewire: prevent dropping of completed iso packet
    header data) was intended to be an obvious bug fix, but libdc1394 and
    FlyCap2 depend on the old behaviour by ignoring all returned information
    and thus not noticing that not all packets have been received yet. The
    result was that the video frame buffers would be saved before they
    contained the correct data.

    Reintroduce the old behaviour for old clients.

    Tested-by: Stepan Salenikovich
    Tested-by: Josep Bosch
    Cc: # 3.4+
    Signed-off-by: Clemens Ladisch
    Signed-off-by: Stefan Richter

    Clemens Ladisch
     

27 Jul, 2013

1 commit

  • Pull USB fixes from Greg KH:
    "Here are a number of USB fixes for 3.11-rc3.

    Lots of little things, nothing major. A number of new device ids,
    build fixes for DMA, and a bunch of other minor things. All of these
    have been in the linux-next tree"

    * tag 'usb-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (40 commits)
    usb: Clear both buffers when clearing a control transfer TT buffer.
    usb/gadget: free opts struct on error recovery
    USB: mos7840: fix memory leak in open
    usb: serial: option.c: remove ONDA MT825UP product ID fromdriver
    usb: serial: option: add Olivetti Olicard 200
    usb: serial: option: blacklist ONDA MT689DC QMI interface
    xhci: fix null pointer dereference on ring_doorbell_for_active_rings
    usb: host: xhci: Enable XHCI_SPURIOUS_SUCCESS for all controllers with xhci 1.0
    usb: fix build warning in pci-quirks.h when CONFIG_PCI is not enabled
    usb: xhci: Mark two functions __maybe_unused
    xhci: Avoid NULL pointer deref when host dies.
    usb: serial: option: Add ONYX 3G device support
    USB: ti_usb_3410_5052: fix dynamic-id matching
    usb: option: add TP-LINK MA260
    USB: option: add D-Link DWM-152/C1 and DWM-156/C1
    USB: EHCI: Fix resume signalling on remote wakeup
    USB: cp210x: add MMB and PI ZigBee USB Device Support
    usb: cp210x support SEL C662 Vendor/Device
    USB: option: append Petatel NP10T device to GSM modems list
    USB: misc: Add Manhattan Hi-Speed USB DVI Converter to sisusbvga
    ...

    Linus Torvalds
     

25 Jul, 2013

2 commits

  • Idea of this patch is to add optional limitation of number of
    unsent bytes in TCP sockets, to reduce usage of kernel memory.

    TCP receiver might announce a big window, and TCP sender autotuning
    might allow a large amount of bytes in write queue, but this has little
    performance impact if a large part of this buffering is wasted :

    Write queue needs to be large only to deal with large BDP, not
    necessarily to cope with scheduling delays (incoming ACKS make room
    for the application to queue more bytes)

    For most workloads, using a value of 128 KB or less is OK to give
    applications enough time to react to POLLOUT events in time
    (or being awaken in a blocking sendmsg())

    This patch adds two ways to set the limit :

    1) Per socket option TCP_NOTSENT_LOWAT

    2) A sysctl (/proc/sys/net/ipv4/tcp_notsent_lowat) for sockets
    not using TCP_NOTSENT_LOWAT socket option (or setting a zero value)
    Default value being UINT_MAX (0xFFFFFFFF), meaning this has no effect.

    This changes poll()/select()/epoll() to report POLLOUT
    only if number of unsent bytes is below tp->nosent_lowat

    Note this might increase number of sendmsg()/sendfile() calls
    when using non blocking sockets,
    and increase number of context switches for blocking sockets.

    Note this is not related to SO_SNDLOWAT (as SO_SNDLOWAT is
    defined as :
    Specify the minimum number of bytes in the buffer until
    the socket layer will pass the data to the protocol)

    Tested:

    netperf sessions, and watching /proc/net/protocols "memory" column for TCP

    With 200 concurrent netperf -t TCP_STREAM sessions, amount of kernel memory
    used by TCP buffers shrinks by ~55 % (20567 pages instead of 45458)

    lpq83:~# echo -1 >/proc/sys/net/ipv4/tcp_notsent_lowat
    lpq83:~# (super_netperf 200 -t TCP_STREAM -H remote -l 90 &); sleep 60 ; grep TCP /proc/net/protocols
    TCPv6 1880 2 45458 no 208 yes ipv6 y y y y y y y y y y y y y n y y y y y
    TCP 1696 508 45458 no 208 yes kernel y y y y y y y y y y y y y n y y y y y

    lpq83:~# echo 131072 >/proc/sys/net/ipv4/tcp_notsent_lowat
    lpq83:~# (super_netperf 200 -t TCP_STREAM -H remote -l 90 &); sleep 60 ; grep TCP /proc/net/protocols
    TCPv6 1880 2 20567 no 208 yes ipv6 y y y y y y y y y y y y y n y y y y y
    TCP 1696 508 20567 no 208 yes kernel y y y y y y y y y y y y y n y y y y y

    Using 128KB has no bad effect on the throughput or cpu usage
    of a single flow, although there is an increase of context switches.

    A bonus is that we hold socket lock for a shorter amount
    of time and should improve latencies of ACK processing.

    lpq83:~# echo -1 >/proc/sys/net/ipv4/tcp_notsent_lowat
    lpq83:~# perf stat -e context-switches ./netperf -H 7.7.7.84 -t omni -l 20 -c -i10,3
    OMNI Send TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 7.7.7.84 () port 0 AF_INET : +/-2.500% @ 99% conf.
    Local Remote Local Elapsed Throughput Throughput Local Local Remote Remote Local Remote Service
    Send Socket Recv Socket Send Time Units CPU CPU CPU CPU Service Service Demand
    Size Size Size (sec) Util Util Util Util Demand Demand Units
    Final Final % Method % Method
    1651584 6291456 16384 20.00 17447.90 10^6bits/s 3.13 S -1.00 U 0.353 -1.000 usec/KB

    Performance counter stats for './netperf -H 7.7.7.84 -t omni -l 20 -c -i10,3':

    412,514 context-switches

    200.034645535 seconds time elapsed

    lpq83:~# echo 131072 >/proc/sys/net/ipv4/tcp_notsent_lowat
    lpq83:~# perf stat -e context-switches ./netperf -H 7.7.7.84 -t omni -l 20 -c -i10,3
    OMNI Send TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 7.7.7.84 () port 0 AF_INET : +/-2.500% @ 99% conf.
    Local Remote Local Elapsed Throughput Throughput Local Local Remote Remote Local Remote Service
    Send Socket Recv Socket Send Time Units CPU CPU CPU CPU Service Service Demand
    Size Size Size (sec) Util Util Util Util Demand Demand Units
    Final Final % Method % Method
    1593240 6291456 16384 20.00 17321.16 10^6bits/s 3.35 S -1.00 U 0.381 -1.000 usec/KB

    Performance counter stats for './netperf -H 7.7.7.84 -t omni -l 20 -c -i10,3':

    2,675,818 context-switches

    200.029651391 seconds time elapsed

    Signed-off-by: Eric Dumazet
    Cc: Neal Cardwell
    Cc: Yuchung Cheng
    Acked-By: Yuchung Cheng
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • The SCTP mailing list address to send patches or questions
    to is linux-sctp@vger.kernel.org and not
    lksctp-developers@lists.sourceforge.net anymore. Therefore,
    update all occurences.

    Signed-off-by: Daniel Borkmann
    Acked-by: Neil Horman
    Acked-by: Vlad Yasevich
    Signed-off-by: David S. Miller

    Daniel Borkmann
     

23 Jul, 2013

1 commit


20 Jul, 2013

1 commit


17 Jul, 2013

1 commit

  • The USB_MAXCHILDREN symbol is used in include/uapi/linux/usb/ch11.h, a
    user-mode header, even though it is defined in include/linux/usb.h,
    which is kernel-only. This causes compile-time errors when user
    programs try to #include linux/usb/ch11.h.

    This patch fixes the problem by moving the definition of USB_MAXCHILDREN
    into ch11.h. It also gets rid of unneeded parentheses.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     

16 Jul, 2013

3 commits

  • To allow scanning and working with 5 MHz and 10 MHz BSS, extend the
    inform bss commands and add wrappers to take 5 and 10 MHz bss into
    account.

    Signed-off-by: Simon Wunderlich
    Signed-off-by: Mathias Kretschmer
    Signed-off-by: Johannes Berg

    Simon Wunderlich
     
  • In most cases, host that receives IPv4 and IPv6 multicast/broadcast
    packets does not do anything with these packets. Therefore the
    reception of these unwanted packets causes unnecessary processing
    and power consumption.

    Packet coalesce feature helps to reduce number of received
    interrupts to host by buffering these packets in firmware/hardware
    for some predefined time. Received interrupt will be generated when
    one of the following events occur.
    a) Expiration of hardware timer whose expiration time is set to
    maximum coalescing delay of matching coalesce rule.
    b) Coalescing buffer in hardware reaches it's limit.
    c) Packet doesn't match any of the configured coalesce rules.

    This patch adds set/get configuration support for packet coalesce.
    User needs to configure following parameters for creating a coalesce
    rule.
    a) Maximum coalescing delay
    b) List of packet patterns which needs to be matched
    c) Condition for coalescence. pattern 'match' or 'no match'
    Multiple such rules can be created.

    This feature needs to be advertised during driver initialization.
    Drivers are supposed to do required firmware/hardware settings based
    on user configuration.

    Signed-off-by: Amitkumar Karwar
    Signed-off-by: Bing Zhao
    [fix kernel-doc, change free function, fix copy/paste error]
    Signed-off-by: Johannes Berg

    Amitkumar Karwar
     
  • Currently packet patterns and it's enum/structures are used only
    for WoWLAN feature. As we intend to reuse them for new feature
    packet coalesce, they are renamed in this patch.

    Older names are kept for backward compatibility purpose.

    Signed-off-by: Amitkumar Karwar
    Signed-off-by: Bing Zhao
    Signed-off-by: Johannes Berg

    Amitkumar Karwar
     

15 Jul, 2013

1 commit

  • Pull more vfs stuff from Al Viro:
    "O_TMPFILE ABI changes, Oleg's fput() series, misc cleanups, including
    making simple_lookup() usable for filesystems with non-NULL s_d_op,
    which allows us to get rid of quite a bit of ugliness"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    sunrpc: now we can just set ->s_d_op
    cgroup: we can use simple_lookup() now
    efivarfs: we can use simple_lookup() now
    make simple_lookup() usable for filesystems that set ->s_d_op
    configfs: don't open-code d_alloc_name()
    __rpc_lookup_create_exclusive: pass string instead of qstr
    rpc_create_*_dir: don't bother with qstr
    llist: llist_add() can use llist_add_batch()
    llist: fix/simplify llist_add() and llist_add_batch()
    fput: turn "list_head delayed_fput_list" into llist_head
    fs/file_table.c:fput(): add comment
    Safer ABI for O_TMPFILE

    Linus Torvalds
     

14 Jul, 2013

4 commits

  • Pull networking fixes from David Miller:
    "Just a bunch of small fixes and tidy ups:

    1) Finish the "busy_poll" renames, from Eliezer Tamir.

    2) Fix RCU stalls in IFB driver, from Ding Tianhong.

    3) Linearize buffers properly in tun/macvtap zerocopy code.

    4) Don't crash on rmmod in vxlan, from Pravin B Shelar.

    5) Spinlock used before init in alx driver, from Maarten Lankhorst.

    6) A sparse warning fix in bnx2x broke TSO checksums, fix from Dmitry
    Kravkov.

    7) Dummy and ifb driver load failure paths can oops, fixes from Tan
    Xiaojun and Ding Tianhong.

    8) Correct MTU calculations in IP tunnels, from Alexander Duyck.

    9) Account all TCP retransmits in SNMP stats properly, from Yuchung
    Cheng.

    10) atl1e and via-rhine do not handle DMA mapping failures properly,
    from Neil Horman.

    11) Various equal-cost multipath route fixes in ipv6 from Hannes
    Frederic Sowa"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (36 commits)
    ipv6: only static routes qualify for equal cost multipathing
    via-rhine: fix dma mapping errors
    atl1e: fix dma mapping warnings
    tcp: account all retransmit failures
    usb/net/r815x: fix cast to restricted __le32
    usb/net/r8152: fix integer overflow in expression
    net: access page->private by using page_private
    net: strict_strtoul is obsolete, use kstrtoul instead
    drivers/net/ieee802154: don't use devm_pinctrl_get_select_default() in probe
    drivers/net/ethernet/cadence: don't use devm_pinctrl_get_select_default() in probe
    drivers/net/can/c_can: don't use devm_pinctrl_get_select_default() in probe
    net/usb: add relative mii functions for r815x
    net/tipc: use %*phC to dump small buffers in hex form
    qlcnic: Adding Maintainers.
    gre: Fix MTU sizing check for gretap tunnels
    pkt_sched: sch_qfq: remove forward declaration of qfq_update_agg_ts
    pkt_sched: sch_qfq: improve efficiency of make_eligible
    gso: Update tunnel segmentation to support Tx checksum offload
    inet: fix spacing in assignment
    ifb: fix oops when loading the ifb failed
    ...

    Linus Torvalds
     
  • Pull MIPS updates from Ralf Baechle:
    "MIPS updates:

    - All the things that didn't make 3.10.
    - Removes the Windriver PPMC platform. Nobody will miss it.
    - Remove a workaround from kernel/irq/irqdomain.c which was there
    exclusivly for MIPS. Patch by Grant Likely.
    - More small improvments for the SEAD 3 platform
    - Improvments on the BMIPS / SMP support for the BCM63xx series.
    - Various cleanups of dead leftovers.
    - Platform support for the Cavium Octeon-based EdgeRouter Lite.

    Two large KVM patchsets didn't make it for this pull request because
    their respective authors are vacationing"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (124 commits)
    MIPS: Kconfig: Add missing MODULES dependency to VPE_LOADER
    MIPS: BCM63xx: CLK: Add dummy clk_{set,round}_rate() functions
    MIPS: SEAD3: Disable L2 cache on SEAD-3.
    MIPS: BCM63xx: Enable second core SMP on BCM6328 if available
    MIPS: BCM63xx: Add SMP support to prom.c
    MIPS: define write{b,w,l,q}_relaxed
    MIPS: Expose missing pci_io{map,unmap} declarations
    MIPS: Malta: Update GCMP detection.
    Revert "MIPS: make CAC_ADDR and UNCAC_ADDR account for PHYS_OFFSET"
    MIPS: APSP: Remove
    SSB: Kconfig: Amend SSB_EMBEDDED dependencies
    MIPS: microMIPS: Fix improper definition of ISA exception bit.
    MIPS: Don't try to decode microMIPS branch instructions where they cannot exist.
    MIPS: Declare emulate_load_store_microMIPS as a static function.
    MIPS: Fix typos and cleanup comment
    MIPS: Cleanup indentation and whitespace
    MIPS: BMIPS: support booting from physical CPU other than 0
    MIPS: Only set cpu_has_mmips if SYS_SUPPORTS_MICROMIPS
    MIPS: GIC: Fix gic_set_affinity infinite loop
    MIPS: Don't save/restore OCTEON wide multiplier state on syscalls.
    ...

    Linus Torvalds
     
  • Pull InfiniBand/RDMA changes from Roland Dreier:
    - AF_IB (native IB addressing) for CMA from Sean Hefty
    - new mlx5 driver for Mellanox Connect-IB adapters (including post
    merge request fixes)
    - SRP fixes from Bart Van Assche (including fix to first merge request)
    - qib HW driver updates
    - resurrection of ocrdma HW driver development
    - uverbs conversion to create fds with O_CLOEXEC set
    - other small changes and fixes

    * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (66 commits)
    mlx5: Return -EFAULT instead of -EPERM
    IB/qib: Log all SDMA errors unconditionally
    IB/qib: Fix module-level leak
    mlx5_core: Adjust hca_cap.uar_page_sz to conform to Connect-IB spec
    IB/srp: Let srp_abort() return FAST_IO_FAIL if TL offline
    IB/uverbs: Use get_unused_fd_flags(O_CLOEXEC) instead of get_unused_fd()
    mlx5_core: Fixes for sparse warnings
    IB/mlx5: Make profile[] static in main.c
    mlx5: Fix parameter type of health_handler_t
    mlx5: Add driver for Mellanox Connect-IB adapters
    IB/core: Add reserved values to enums for low-level driver use
    IB/srp: Bump driver version and release date
    IB/srp: Make HCA completion vector configurable
    IB/srp: Maintain a single connection per I_T nexus
    IB/srp: Fail I/O fast if target offline
    IB/srp: Skip host settle delay
    IB/srp: Avoid skipping srp_reset_host() after a transport error
    IB/srp: Fix remove_one crash due to resource exhaustion
    IB/qib: New transmitter tunning settings for Dell 1.1 backplane
    IB/core: Fix error return code in add_port()
    ...

    Linus Torvalds
     
  • Pull media updates from Mauro Carvalho Chehab:
    "This series contain:
    - new i2c video drivers: ml86v7667 (video decoder),
    ths8200 (video encoder)
    - a new video driver for EasyCap cards based on Fushicai USBTV007
    - Improved support for OF and embedded systems, with V4L2 async
    initialization and a better support for clocks
    - API cleanups on the ioctls used by the v4l2 debug tool
    - Lots of cleanups
    - As usual, several driver improvements and new cards additions
    - Revert two changesets that change the minimal symbol rate for
    stv0399, as request by Manu
    - Update MAINTAINERS and other files to point to my new e-mail"

    * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (378 commits)
    MAINTAINERS & ABI: Update to point to my new email
    [media] stb0899: restore minimal rate to 5Mbauds
    [media] exynos4-is: Correct colorspace handling at FIMC-LITE
    [media] exynos4-is: Set valid initial format on FIMC.n subdevs
    [media] exynos4-is: Set valid initial format on FIMC-IS-ISP subdev pads
    [media] exynos4-is: Fix format propagation on FIMC-IS-ISP subdev
    [media] exynos4-is: Set valid initial format at FIMC-LITE
    [media] exynos4-is: Fix format propagation on FIMC-LITE.n subdevs
    [media] MAINTAINERS: Update S5P/Exynos FIMC driver entry
    [media] Documentation: Update driver's directory in video4linux/fimc.txt
    [media] exynos4-is: Change fimc-is firmware file names
    [media] exynos4-is: Add support for Exynos5250 MIPI-CSIS
    [media] exynos4-is: Add Exynos5250 SoC support to fimc-lite driver
    [media] exynos4-is: Drop drvdata handling in fimc-lite for non-dt platforms
    [media] media: i2c: tvp514x: remove manual setting of subdev name
    [media] media: i2c: tvp7002: remove manual setting of subdev name
    [media] mem2mem: set missing v4l2_dev pointer
    [media] wl128x: add missing struct v4l2_device
    [media] tvp514x: Fix init seqeunce
    [media] saa7134: Fix sparse warnings by adding __user annotation
    ...

    Linus Torvalds
     

13 Jul, 2013

1 commit

  • [suggested by Rasmus Villemoes] make O_DIRECTORY | O_RDWR part of O_TMPFILE;
    that will fail on old kernels in a lot more cases than what I came up with.
    And make sure O_CREAT doesn't get there...

    Signed-off-by: Al Viro

    Al Viro
     

12 Jul, 2013

1 commit

  • Pull device-mapper changes from Alasdair G Kergon:
    "Add a device-mapper target called dm-switch to provide a multipath
    framework for storage arrays that dynamically reconfigure their
    preferred paths for different device regions.

    Fix a bug in the verity target that prevented its use with some
    specific sizes of devices.

    Improve some locking mechanisms in the device-mapper core and bufio.

    Add Mike Snitzer as a device-mapper maintainer.

    A few more clean-ups and fixes"

    * tag 'dm-3.11-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm:
    dm: add switch target
    dm: update maintainers
    dm: optimize reorder structure
    dm: optimize use SRCU and RCU
    dm bufio: submit writes outside lock
    dm cache: fix arm link errors with inline
    dm verity: use __ffs and __fls
    dm flakey: correct ctr alloc failure mesg
    dm verity: remove pointless comparison
    dm: use __GFP_HIGHMEM in __vmalloc
    dm verity: fix inability to use a few specific devices sizes
    dm ioctl: set noio flag to avoid __vmalloc deadlock
    dm mpath: fix ioctl deadlock when no paths

    Linus Torvalds
     

11 Jul, 2013

4 commits

  • Rename LL_SO to BUSY_POLL_SO
    Rename sysctl_net_ll_{read,poll} to sysctl_busy_{read,poll}
    Fix up users of these variables.
    Fix documentation for sysctl.

    a patch for the socket.7 man page will follow separately,
    because of limitations of my mail setup.

    Signed-off-by: Eliezer Tamir
    Signed-off-by: David S. Miller

    Eliezer Tamir
     
  • This patch removes "io_lock" and "map_lock" in struct mapped_device and
    "holders" in struct dm_table and replaces these mechanisms with
    sleepable-rcu.

    Previously, the code would call "dm_get_live_table" and "dm_table_put" to
    get and release table. Now, the code is changed to call "dm_get_live_table"
    and "dm_put_live_table". dm_get_live_table locks sleepable-rcu and
    dm_put_live_table unlocks it.

    dm_get_live_table_fast/dm_put_live_table_fast can be used instead of
    dm_get_live_table/dm_put_live_table. These *_fast functions use
    non-sleepable RCU, so the caller must not block between them.

    If the code changes active or inactive dm table, it must call
    dm_sync_table before destroying the old table.

    Signed-off-by: Mikulas Patocka
    Signed-off-by: Jun'ichi Nomura
    Signed-off-by: Alasdair G Kergon

    Mikulas Patocka
     
  • Pull virtio updates from Rusty Russell:
    "No real surprises"

    * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    MAINTAINERS: add tools/virtio/ under virtio
    tools/virtio: move module license stub to module.h
    virtio: include asm/barrier explicitly
    virtio: VIRTIO_F_ANY_LAYOUT feature
    lguest: fix example launcher compilation for broken glibc headers.
    virtio-net: fix the race between channels setting and refill
    tools/lguest: real barriers.
    tools/lguest: fix missing rmb().
    virtio_balloon: leak_balloon(): only tell host if we got pages deflated
    virtio-pci: fix leaks of msix_affinity_masks
    Fix comment typo "CONFIG_PAE"

    Linus Torvalds
     
  • Pull vfio updates from Alex Williamson:
    "Largely hugepage support for vfio/type1 iommu and surrounding cleanups
    and fixes"

    * tag 'vfio-v3.11' of git://github.com/awilliam/linux-vfio:
    vfio/type1: Fix leak on error path
    vfio: Limit group opens
    vfio/type1: Fix missed frees and zero sized removes
    vfio: fix documentation
    vfio: Provide module option to disable vfio_iommu_type1 hugepage support
    vfio: hugepage support for vfio_iommu_type1
    vfio: Convert type1 iommu to use rbtree

    Linus Torvalds
     

10 Jul, 2013

4 commits

  • Pull networking updates from David Miller:
    "This is a re-do of the net-next pull request for the current merge
    window. The only difference from the one I made the other day is that
    this has Eliezer's interface renames and the timeout handling changes
    made based upon your feedback, as well as a few bug fixes that have
    trickeled in.

    Highlights:

    1) Low latency device polling, eliminating the cost of interrupt
    handling and context switches. Allows direct polling of a network
    device from socket operations, such as recvmsg() and poll().

    Currently ixgbe, mlx4, and bnx2x support this feature.

    Full high level description, performance numbers, and design in
    commit 0a4db187a999 ("Merge branch 'll_poll'")

    From Eliezer Tamir.

    2) With the routing cache removed, ip_check_mc_rcu() gets exercised
    more than ever before in the case where we have lots of multicast
    addresses. Use a hash table instead of a simple linked list, from
    Eric Dumazet.

    3) Add driver for Atheros CQA98xx 802.11ac wireless devices, from
    Bartosz Markowski, Janusz Dziedzic, Kalle Valo, Marek Kwaczynski,
    Marek Puzyniak, Michal Kazior, and Sujith Manoharan.

    4) Support reporting the TUN device persist flag to userspace, from
    Pavel Emelyanov.

    5) Allow controlling network device VF link state using netlink, from
    Rony Efraim.

    6) Support GRE tunneling in openvswitch, from Pravin B Shelar.

    7) Adjust SOCK_MIN_RCVBUF and SOCK_MIN_SNDBUF for modern times, from
    Daniel Borkmann and Eric Dumazet.

    8) Allow controlling of TCP quickack behavior on a per-route basis,
    from Cong Wang.

    9) Several bug fixes and improvements to vxlan from Stephen
    Hemminger, Pravin B Shelar, and Mike Rapoport. In particular,
    support receiving on multiple UDP ports.

    10) Major cleanups, particular in the area of debugging and cookie
    lifetime handline, to the SCTP protocol code. From Daniel
    Borkmann.

    11) Allow packets to cross network namespaces when traversing tunnel
    devices. From Nicolas Dichtel.

    12) Allow monitoring netlink traffic via AF_PACKET sockets, in a
    manner akin to how we monitor real network traffic via ptype_all.
    From Daniel Borkmann.

    13) Several bug fixes and improvements for the new alx device driver,
    from Johannes Berg.

    14) Fix scalability issues in the netem packet scheduler's time queue,
    by using an rbtree. From Eric Dumazet.

    15) Several bug fixes in TCP loss recovery handling, from Yuchung
    Cheng.

    16) Add support for GSO segmentation of MPLS packets, from Simon
    Horman.

    17) Make network notifiers have a real data type for the opaque
    pointer that's passed into them. Use this to properly handle
    network device flag changes in arp_netdev_event(). From Jiri
    Pirko and Timo Teräs.

    18) Convert several drivers over to module_pci_driver(), from Peter
    Huewe.

    19) tcp_fixup_rcvbuf() can loop 500 times over loopback, just use a
    O(1) calculation instead. From Eric Dumazet.

    20) Support setting of explicit tunnel peer addresses in ipv6, just
    like ipv4. From Nicolas Dichtel.

    21) Protect x86 BPF JIT against spraying attacks, from Eric Dumazet.

    22) Prevent a single high rate flow from overruning an individual cpu
    during RX packet processing via selective flow shedding. From
    Willem de Bruijn.

    23) Don't use spinlocks in TCP md5 signing fast paths, from Eric
    Dumazet.

    24) Don't just drop GSO packets which are above the TBF scheduler's
    burst limit, chop them up so they are in-bounds instead. Also
    from Eric Dumazet.

    25) VLAN offloads are missed when configured on top of a bridge, fix
    from Vlad Yasevich.

    26) Support IPV6 in ping sockets. From Lorenzo Colitti.

    27) Receive flow steering targets should be updated at poll() time
    too, from David Majnemer.

    28) Fix several corner case regressions in PMTU/redirect handling due
    to the routing cache removal, from Timo Teräs.

    29) We have to be mindful of ipv4 mapped ipv6 sockets in
    upd_v6_push_pending_frames(). From Hannes Frederic Sowa.

    30) Fix L2TP sequence number handling bugs, from James Chapman."

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1214 commits)
    drivers/net: caif: fix wrong rtnl_is_locked() usage
    drivers/net: enic: release rtnl_lock on error-path
    vhost-net: fix use-after-free in vhost_net_flush
    net: mv643xx_eth: do not use port number as platform device id
    net: sctp: confirm route during forward progress
    virtio_net: fix race in RX VQ processing
    virtio: support unlocked queue poll
    net/cadence/macb: fix bug/typo in extracting gem_irq_read_clear bit
    Documentation: Fix references to defunct linux-net@vger.kernel.org
    net/fs: change busy poll time accounting
    net: rename low latency sockets functions to busy poll
    bridge: fix some kernel warning in multicast timer
    sfc: Fix memory leak when discarding scattered packets
    sit: fix tunnel update via netlink
    dt:net:stmmac: Add dt specific phy reset callback support.
    dt:net:stmmac: Add support to dwmac version 3.610 and 3.710
    dt:net:stmmac: Allocate platform data only if its NULL.
    net:stmmac: fix memleak in the open method
    ipv6: rt6_check_neigh should successfully verify neigh if no NUD information are available
    net: ipv6: fix wrong ping_v6_sendmsg return value
    ...

    Linus Torvalds
     
  • Pull drm updates from Dave Airlie:
    "Okay this is the big one, I was stalled on the fbdev pull req as I
    stupidly let fbdev guys merge a patch I required to fix a warning with
    some patches I had, they ended up merging the patch from the wrong
    place, but the warning should be fixed. In future I'll just take the
    patch myself!

    Outside drm:

    There are some snd changes for the HDMI audio interactions on haswell,
    they've been acked for inclusion via my tree. This relies on the
    wound/wait tree from Ingo which is already merged.

    Major changes:

    AMD finally released the dynamic power management code for all their
    GPUs from r600->present day, this is great, off by default for now but
    also a huge amount of code, in fact it is most of this pull request.

    Since it landed there has been a lot of community testing and Alex has
    sent a lot of fixes for any bugs found so far. I suspect radeon might
    now be the biggest kernel driver ever :-P p.s. radeon.dpm=1 to enable
    dynamic powermanagement for anyone.

    New drivers:

    Renesas r-car display unit.

    Other highlights:

    - core: GEM CMA prime support, use new w/w mutexs for TTM
    reservations, cursor hotspot, doc updates
    - dvo chips: chrontel 7010B support
    - i915: Haswell (fbc, ips, vecs, watermarks, audio powerwell),
    Valleyview (enabled by default, rc6), lots of pll reworking, 30bpp
    support (this time for sure)
    - nouveau: async buffer object deletion, context/register init
    updates, kernel vp2 engine support, GF117 support, GK110 accel
    support (with external nvidia ucode), context cleanups.
    - exynos: memory leak fixes, Add S3C64XX SoC series support, device
    tree updates, common clock framework support,
    - qxl: cursor hotspot support, multi-monitor support, suspend/resume
    support
    - mgag200: hw cursor support, g200 mode limiting
    - shmobile: prime support
    - tegra: fixes mostly

    I've been banging on this quite a lot due to the size of it, and it
    seems to okay on everything I've tested it on."

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (811 commits)
    drm/radeon/dpm: implement vblank_too_short callback for si
    drm/radeon/dpm: implement vblank_too_short callback for cayman
    drm/radeon/dpm: implement vblank_too_short callback for btc
    drm/radeon/dpm: implement vblank_too_short callback for evergreen
    drm/radeon/dpm: implement vblank_too_short callback for 7xx
    drm/radeon/dpm: add checks against vblank time
    drm/radeon/dpm: add helper to calculate vblank time
    drm/radeon: remove stray line in old pm code
    drm/radeon/dpm: fix display_gap programming on rv7xx
    drm/nvc0/gr: fix gpc firmware regression
    drm/nouveau: fix minor thinko causing bo moves to not be async on kepler
    drm/radeon/dpm: implement force performance level for TN
    drm/radeon/dpm: implement force performance level for ON/LN
    drm/radeon/dpm: implement force performance level for SI
    drm/radeon/dpm: implement force performance level for cayman
    drm/radeon/dpm: implement force performance levels for 7xx/eg/btc
    drm/radeon/dpm: add infrastructure to force performance levels
    drm/radeon: fix surface setup on r1xx
    drm/radeon: add support for 3d perf states on older asics
    drm/radeon: set default clocks for SI when DPM is disabled
    ...

    Linus Torvalds
     
  • Merge second patch-bomb from Andrew Morton:
    - misc fixes
    - audit stuff
    - fanotify/inotify/dnotify things
    - most of the rest of MM. The new cache shrinker code from Glauber and
    Dave Chinner probably isn't quite stabilized yet.
    - ptrace
    - ipc
    - partitions
    - reboot cleanups
    - add LZ4 decompressor, use it for kernel compression

    * emailed patches from Andrew Morton : (118 commits)
    lib/scatterlist: error handling in __sg_alloc_table()
    scsi_debug: fix do_device_access() with wrap around range
    crypto: talitos: use sg_pcopy_to_buffer()
    lib/scatterlist: introduce sg_pcopy_from_buffer() and sg_pcopy_to_buffer()
    lib/scatterlist: factor out sg_miter_get_next_page() from sg_miter_next()
    crypto: add lz4 Cryptographic API
    lib: add lz4 compressor module
    arm: add support for LZ4-compressed kernel
    lib: add support for LZ4-compressed kernel
    decompressor: add LZ4 decompressor module
    lib: add weak clz/ctz functions
    reboot: move arch/x86 reboot= handling to generic kernel
    reboot: arm: change reboot_mode to use enum reboot_mode
    reboot: arm: prepare reboot_mode for moving to generic kernel code
    reboot: arm: remove unused restart_mode fields from some arm subarchs
    reboot: unicore32: prepare reboot_mode for moving to generic kernel code
    reboot: x86: prepare reboot_mode for moving to generic kernel code
    reboot: checkpatch.pl the new kernel/reboot.c file
    reboot: move shutdown/reboot related functions to kernel/reboot.c
    reboot: remove -stable friendly PF_THREAD_BOUND define
    ...

    Linus Torvalds
     
  • Pull btrfs update from Chris Mason:
    "These are the usual mixture of bugs, cleanups and performance fixes.
    Miao has some really nice tuning of our crc code as well as our
    transaction commits.

    Josef is peeling off more and more problems related to early enospc,
    and has a number of important bug fixes in here too"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (81 commits)
    Btrfs: wait ordered range before doing direct io
    Btrfs: only do the tree_mod_log_free_eb if this is our last ref
    Btrfs: hold the tree mod lock in __tree_mod_log_rewind
    Btrfs: make backref walking code handle skinny metadata
    Btrfs: fix crash regarding to ulist_add_merge
    Btrfs: fix several potential problems in copy_nocow_pages_for_inode
    Btrfs: cleanup the code of copy_nocow_pages_for_inode()
    Btrfs: fix oops when recovering the file data by scrub function
    Btrfs: make the chunk allocator completely tree lockless
    Btrfs: cleanup orphaned root orphan item
    Btrfs: fix wrong mirror number tuning
    Btrfs: cleanup redundant code in btrfs_submit_direct()
    Btrfs: remove btrfs_sector_sum structure
    Btrfs: check if we can nocow if we don't have data space
    Btrfs: stop using try_to_writeback_inodes_sb_nr to flush delalloc
    Btrfs: use a percpu to keep track of possibly pinned bytes
    Btrfs: check for actual acls rather than just xattrs when caching no acl
    Btrfs: move btrfs_truncate_page to btrfs_cont_expand instead of btrfs_truncate
    Btrfs: optimize reada_for_balance
    Btrfs: optimize read_block_for_search
    ...

    Linus Torvalds