1. 04 4月, 2014 1 次提交
  2. 02 4月, 2014 1 次提交
    • P
      HID: uhid: Add UHID_CREATE2 + UHID_INPUT2 · 4522643a
      Petri Gynther 提交于
      UHID_CREATE2:
      HID report descriptor data (rd_data) is an array in struct uhid_create2_req,
      instead of a pointer. Enables use from languages that don't support pointers,
      e.g. Python.
      
      UHID_INPUT2:
      Data array is the last field of struct uhid_input2_req. Enables userspace to
      write only the required bytes to kernel (ev.type + ev.u.input2.size + the part
      of the data array that matters), instead of the entire struct uhid_input2_req.
      
      Note:
      UHID_CREATE2 increases the total size of struct uhid_event slightly, thus
      increasing the size of messages that are queued for userspace. However, this
      won't affect the userspace processing of these events.
      
      [Jiri Kosina <jkosina@suse.cz>: adjust to hid_get_raw_report() and
      				hid_output_raw_report() API changes]
      Signed-off-by: NPetri Gynther <pgynther@google.com>
      Reviewed-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      4522643a
  3. 01 4月, 2014 2 次提交
  4. 22 3月, 2014 1 次提交
  5. 21 3月, 2014 3 次提交
  6. 20 3月, 2014 1 次提交
  7. 15 3月, 2014 1 次提交
  8. 13 3月, 2014 1 次提交
    • G
      kvm: x86: ignore ioapic polarity · 100943c5
      Gabriel L. Somlo 提交于
      Both QEMU and KVM have already accumulated a significant number of
      optimizations based on the hard-coded assumption that ioapic polarity
      will always use the ActiveHigh convention, where the logical and
      physical states of level-triggered irq lines always match (i.e.,
      active(asserted) == high == 1, inactive == low == 0). QEMU guests
      are expected to follow directions given via ACPI and configure the
      ioapic with polarity 0 (ActiveHigh). However, even when misbehaving
      guests (e.g. OS X <= 10.9) set the ioapic polarity to 1 (ActiveLow),
      QEMU will still use the ActiveHigh signaling convention when
      interfacing with KVM.
      
      This patch modifies KVM to completely ignore ioapic polarity as set by
      the guest OS, enabling misbehaving guests to work alongside those which
      comply with the ActiveHigh polarity specified by QEMU's ACPI tables.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NGabriel L. Somlo <somlo@cmu.edu>
      [Move documentation to KVM_IRQ_LINE, add ia64. - Paolo]
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      100943c5
  9. 07 3月, 2014 3 次提交
  10. 06 3月, 2014 7 次提交
  11. 05 3月, 2014 4 次提交
    • H
      usbfs: Add support for allocating / freeing streams · bcf7f6e3
      Hans de Goede 提交于
      This allows userspace to use bulk-streams, just like in kernel drivers, see
      Documentation/usb/bulk-streams.txt for details on the in kernel API. This
      is exported pretty much one on one to userspace.
      
      To use streams an app must first make a USBDEVFS_ALLOC_STREAMS ioctl,
      on success this will return the number of streams available (which may be
      less then requested). If there are n streams the app can then submit
      usbdevfs_urb-s with their stream_id member set to 1-n to use a specific
      stream. IE if USBDEVFS_ALLOC_STREAMS returns 4 then stream_id 1-4 can be
      used.
      
      When the app is done using streams it should call USBDEVFS_FREE_STREAMS
      
      Note applications are advised to use libusb rather then using the
      usbdevfs api directly. The latest version of libusb has support for streams.
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      bcf7f6e3
    • H
      usbfs: Add support for bulk stream ids · 948cd8c1
      Hans de Goede 提交于
      This patch makes it possible to specify a bulk stream id when submitting
      an urb using the async usbfs API. It overloads the number_of_packets
      usbdevfs_urb field for this. This is not pretty, but given other
      constraints it is the best we can do. The reasoning leading to this goes
      as follows:
      
      1) We want to support bulk streams in the usbfs API
      2) We do not want to extend the usbdevfs_urb struct with a new member, as
         that would mean defining new ioctl numbers for all async API ioctls +
         adding compat versions for the old ones (times 2 for 32 bit support)
      3) 1 + 2 means we need to re-use an existing field
      4) number_of_packets is only used for isoc urbs, and streams are bulk only
         so it is the best (and only) candidate for re-using
      
      Note that:
      1) This patch only uses number_of_packets as stream_id if the app has
         actually allocated streams on the ep, so that old apps which may have
         garbage in there (as it was unused until now in the bulk case), will not
         break
      2) This patch does not add support for allocating / freeing bulk-streams, that
         is done in a follow up patch
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      948cd8c1
    • S
      UAPI: add MPLS label stack definition · f3baa393
      Simon Wunderlich 提交于
      Labels for the Multiprotocol Label Switching are defined in RFC 3032
      which was superseded by RFC 5462. Add the definition to UAPI and a stub
      header for include/linux.
      Signed-off-by: NSimon Wunderlich <sw@simonwunderlich.de>
      Signed-off-by: NMathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f3baa393
    • S
      if_ether.h: add IEEE 802.21 Ethertype · b62faf3c
      Simon Wunderlich 提交于
      Add the Ethertype for IEEE Std 802.21 - Media Independent Handover
      Protocol. This Ethertype is used for network control messages.
      Signed-off-by: NSimon Wunderlich <sw@simonwunderlich.de>
      Signed-off-by: NMathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b62faf3c
  12. 04 3月, 2014 2 次提交
    • H
      compat: let architectures define __ARCH_WANT_COMPAT_SYS_GETDENTS64 · 0473c9b5
      Heiko Carstens 提交于
      For architecture dependent compat syscalls in common code an architecture
      must define something like __ARCH_WANT_<WHATEVER> if it wants to use the
      code.
      This however is not true for compat_sys_getdents64 for which architectures
      must define __ARCH_OMIT_COMPAT_SYS_GETDENTS64 if they do not want the code.
      
      This leads to the situation where all architectures, except mips, get the
      compat code but only x86_64, arm64 and the generic syscall architectures
      actually use it.
      
      So invert the logic, so that architectures actively must do something to
      get the compat code.
      
      This way a couple of architectures get rid of otherwise dead code.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      0473c9b5
    • Y
      tcp: snmp stats for Fast Open, SYN rtx, and data pkts · f19c29e3
      Yuchung Cheng 提交于
      Add the following snmp stats:
      
      TCPFastOpenActiveFail: Fast Open attempts (SYN/data) failed beacuse
      the remote does not accept it or the attempts timed out.
      
      TCPSynRetrans: number of SYN and SYN/ACK retransmits to break down
      retransmissions into SYN, fast-retransmits, timeout retransmits, etc.
      
      TCPOrigDataSent: number of outgoing packets with original data (excluding
      retransmission but including data-in-SYN). This counter is different from
      TcpOutSegs because TcpOutSegs also tracks pure ACKs. TCPOrigDataSent is
      more useful to track the TCP retransmission rate.
      
      Change TCPFastOpenActive to track only successful Fast Opens to be symmetric to
      TCPFastOpenPassive.
      Signed-off-by: NYuchung Cheng <ycheng@google.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NNandita Dukkipati <nanditad@google.com>
      Signed-off-by: NLawrence Brakmo <brakmo@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f19c29e3
  13. 28 2月, 2014 2 次提交
    • L
      net: move net_device priv_flags out from UAPI · 7aa98047
      Luis R. Rodriguez 提交于
      These are private to userspace, and they're unstable
      anyway and can be shuffled at will (see 080e4130)
      so any userspace application relying on them is on crack.
      
      Test compiled with allyesconfig.
      
      mcgrof@drvbp1 /pub/mem/mcgrof/net-next (git::master)$ make allyesconfig
      mcgrof@drvbp1 /pub/mem/mcgrof/net-next (git::master)$ time make -j 20
      ...
        BUILD   arch/x86/boot/bzImage
      Setup is 16992 bytes (padded to 17408 bytes).
      System is 56153 kB
      CRC 721d2751
      Kernel: arch/x86/boot/bzImage is ready  (#1)
      real    19m35.744s
      user    280m37.984s
      sys     27m54.104s
      
      Cc: netdev@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: Ben Hutchings <ben@decadent.org.uk>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: NLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7aa98047
    • L
      net: kdoc struct net_device flags and priv_flags · 589f5816
      Luis R. Rodriguez 提交于
      We have documentation for these flags but they're scattered
      all over the place. #defines don't allow documentation to be
      written easily so to help to start bringing some documentation
      together use the enums kdoc practice but keep the defines to
      allow userspace to be able to #ifdef them.
      
      I've verified the same values are assigned before and after
      with a simple userspace test program [0] and checksumming the
      output.
      
      [0] http://drvbp1.linux-foundation.org/~mcgrof/kdoc/netdev_flags/
      
      mcgrof@gnat ~/tmp $ ./check-flags | sha1sum
      0ec5b6b1840aa3bb9ce464e61c564820871c92c3  -
      
      Cc: netdev@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: Ben Hutchings <ben@decadent.org.uk>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: NLuis R. Rodriguez <mcgrof@suse.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      589f5816
  14. 27 2月, 2014 7 次提交
    • P
      netfilter: nf_tables: add optional user data area to rules · 0768b3b3
      Pablo Neira Ayuso 提交于
      This allows us to store user comment strings, but it could be also
      used to store any kind of information that the user application needs
      to link to the rule.
      
      Scratch 8 bits for the new ulen field that indicates the length the
      user data area. 4 bits from the handle (so it's 42 bits long, according
      to Patrick, it would last 139 years with 1000 new rules per second)
      and 4 bits from dlen (so the expression data area is 4K, which seems
      sufficient by now even considering the compatibility layer).
      Signed-off-by: NPablo Neira Ayuso <pablo@netfilter.org>
      Acked-by: NPatrick McHardy <kaber@trash.net>
      0768b3b3
    • G
      spi: spidev: Add support for Dual/Quad SPI Transfers · dc64d39b
      Geert Uytterhoeven 提交于
      Add support for Dual/Quad SPI Transfers to the spidev API.
      As this uses SPI mode bits that don't fit in a single byte, two new
      ioctls (SPI_IOC_RD_MODE32 and SPI_IOC_WR_MODE32) are introduced.
      Signed-off-by: NGeert Uytterhoeven <geert+renesas@linux-m68k.org>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      dc64d39b
    • E
      tcp: switch rtt estimations to usec resolution · 740b0f18
      Eric Dumazet 提交于
      Upcoming congestion controls for TCP require usec resolution for RTT
      estimations. Millisecond resolution is simply not enough these days.
      
      FQ/pacing in DC environments also require this change for finer control
      and removal of bimodal behavior due to the current hack in
      tcp_update_pacing_rate() for 'small rtt'
      
      TCP_CONG_RTT_STAMP is no longer needed.
      
      As Julian Anastasov pointed out, we need to keep user compatibility :
      tcp_metrics used to export RTT and RTTVAR in msec resolution,
      so we added RTT_US and RTTVAR_US. An iproute2 patch is needed
      to use the new attributes if provided by the kernel.
      
      In this example ss command displays a srtt of 32 usecs (10Gbit link)
      
      lpk51:~# ./ss -i dst lpk52
      Netid  State      Recv-Q Send-Q   Local Address:Port       Peer
      Address:Port
      tcp    ESTAB      0      1         10.246.11.51:42959
      10.246.11.52:64614
               cubic wscale:6,6 rto:201 rtt:0.032/0.001 ato:40 mss:1448
      cwnd:10 send
      3620.0Mbps pacing_rate 7240.0Mbps unacked:1 rcv_rtt:993 rcv_space:29559
      
      Updated iproute2 ip command displays :
      
      lpk51:~# ./ip tcp_metrics | grep 10.246.11.52
      10.246.11.52 age 561.914sec cwnd 10 rtt 274us rttvar 213us source
      10.246.11.51
      
      Old binary displays :
      
      lpk51:~# ip tcp_metrics | grep 10.246.11.52
      10.246.11.52 age 561.914sec cwnd 10 rtt 250us rttvar 125us source
      10.246.11.51
      
      With help from Julian Anastasov, Stephen Hemminger and Yuchung Cheng
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Acked-by: NNeal Cardwell <ncardwell@google.com>
      Cc: Stephen Hemminger <stephen@networkplumber.org>
      Cc: Yuchung Cheng <ycheng@google.com>
      Cc: Larry Brakmo <brakmo@google.com>
      Cc: Julian Anastasov <ja@ssi.bg>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      740b0f18
    • H
      ipv6: yet another new IPV6_MTU_DISCOVER option IPV6_PMTUDISC_OMIT · 0b95227a
      Hannes Frederic Sowa 提交于
      This option has the same semantic as IP_PMTUDISC_OMIT for IPv4 which
      got recently introduced. It doesn't honor the path mtu discovered by the
      host but in contrary to IPV6_PMTUDISC_INTERFACE allows the generation of
      fragments if the packet size exceeds the MTU of the outgoing interface
      MTU.
      
      Fixes: 93b36cf3 ("ipv6: support IPV6_PMTU_INTERFACE on sockets")
      Cc: Florian Weimer <fweimer@redhat.com>
      Signed-off-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0b95227a
    • H
      ipv4: yet another new IP_MTU_DISCOVER option IP_PMTUDISC_OMIT · 1b346576
      Hannes Frederic Sowa 提交于
      IP_PMTUDISC_INTERFACE has a design error: because it does not allow the
      generation of fragments if the interface mtu is exceeded, it is very
      hard to make use of this option in already deployed name server software
      for which I introduced this option.
      
      This patch adds yet another new IP_MTU_DISCOVER option to not honor any
      path mtu information and not accepting new icmp notifications destined for
      the socket this option is enabled on. But we allow outgoing fragmentation
      in case the packet size exceeds the outgoing interface mtu.
      
      As such this new option can be used as a drop-in replacement for
      IP_PMTUDISC_DONT, which is currently in use by most name server software
      making the adoption of this option very smooth and easy.
      
      The original advantage of IP_PMTUDISC_INTERFACE is still maintained:
      ignoring incoming path MTU updates and not honoring discovered path MTUs
      in the output path.
      
      Fixes: 482fc609 ("ipv4: introduce new IP_MTU_DISCOVER mode IP_PMTUDISC_INTERFACE")
      Cc: Florian Weimer <fweimer@redhat.com>
      Signed-off-by: NHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1b346576
    • F
      net: tcp: add mib counters to track zero window transitions · 8e165e20
      Florian Westphal 提交于
      Three counters are added:
      - one to track when we went from non-zero to zero window
      - one to track the reverse
      - one counter incremented when we want to announce zero window,
        but can't because we would shrink current window.
      Suggested-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NFlorian Westphal <fw@strlen.de>
      Acked-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8e165e20
    • N
      net: order MPLS ethertypes numerically · 2ebe21fd
      Neil Jerram 提交于
      All ethertypes other than ETH_P_MPLS_UC, ETH_P_MPLS_MC and
      ETH_P_ATMMPOA were already ordered numerically.  This commit moves
      those three ETH_P_... values into correct numerical order too.
      Signed-off-by: NNeil Jerram <Neil.Jerram@metaswitch.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2ebe21fd
  15. 26 2月, 2014 1 次提交
  16. 24 2月, 2014 1 次提交
    • J
      asm-generic: add sched_setattr/sched_getattr syscalls · e6cfc029
      James Hogan 提交于
      Add the sched_setattr and sched_getattr syscalls to the generic syscall
      list, which is used by the following architectures: arc, arm64, c6x,
      hexagon, metag, openrisc, score, tile, unicore32.
      Signed-off-by: NJames Hogan <james.hogan@imgtec.com>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NCatalin Marinas <catalin.marinas@arm.com>
      Cc: linux-arch@vger.kernel.org
      Cc: Vineet Gupta <vgupta@synopsys.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Aurelien Jacquiot <a-jacquiot@ti.com>
      Cc: linux-c6x-dev@linux-c6x.org
      Cc: Richard Kuo <rkuo@codeaurora.org>
      Cc: linux-hexagon@vger.kernel.org
      Cc: linux-metag@vger.kernel.org
      Cc: Jonas Bonn <jonas@southpole.se>
      Cc: linux@lists.openrisc.net
      Cc: Chen Liqin <liqin.linux@gmail.com>
      Cc: Lennox Wu <lennox.wu@gmail.com>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
      e6cfc029
  17. 21 2月, 2014 1 次提交
  18. 20 2月, 2014 1 次提交