1. 22 5月, 2012 2 次提交
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next · 9daeaa37
      Linus Torvalds 提交于
      Pull sparc updates from David Miller:
      
      1) Kill off support for sun4c and Cypress sun4m chips.
      
         And as a result we were able to also kill off that ugly btfixup thing
         that required multi-stage links of the final vmlinux image in the
         Kbuild system.  This should make the kbuild maintainers really happy.
      
         Thanks a lot to Sam Ravnborg for his tireless efforts to get this
         going.
      
      2) Convert sparc64 to nobootmem.  I suspect now with sparc32 being a lot
         cleaner, it should be able to fall in line and modernize in this area
         too.
      
      3) Make sparc32 use generic clockevents, from Tkhai Kirill.
      
      [ I fixed up the BPF rules, and tried to clean up the build rules too.
        But I don't have - or want - a sparc cross-build environment, so the
        BPF rule bug and the related build cleanup was all done with just a
        bare "make -n" pseudo-test.      - Linus ]
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next: (110 commits)
        sparc32: use flushi when run-time patching in per_cpu_patch
        sparc32: fix cpuid_patch run-time patching
        sparc32: drop unused inline functions in srmmu.c
        sparc32: drop unused functions in pgtsrmmu.h
        sparc32,leon: move leon mmu functions to leon_mm.c
        sparc32,leon: remove duplicate definitions in leon.h
        sparc32,leon: remove duplicate UART register definitions
        sparc32,leon: move leon ASI definitions to asi.h
        sparc32: move trap table to a separate file
        sparc64: renamed ttable.S to ttable_64.S
        sparc32: Remove asm/sysen.h header.
        sparc32: Delete asm/smpprim.h
        sparc32: Remove unused empty_bad_page{,_table} declarations.
        sparc32: Kill boot_cpu_id4
        sparc32: Move GET_PROCESSOR*_ID() out of asm/asmmacro.h
        sparc32: Remove completely unused code from asm/cache.h
        sparc32: Add ucmpdi2.o to obj-y instead of lib-y.
        sparc32: add ucmpdi2
        sparc: introduce arch/sparc/Kbuild
        sparc: remove obsolete documentation
        ...
      9daeaa37
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · cb62ab71
      Linus Torvalds 提交于
      Pull networking changes from David Miller:
      
       1) Get rid of the error prone NLA_PUT*() macros that used an embedded
          goto.
      
       2) Kill off the token-ring and MCA networking drivers, from Paul
          Gortmaker.
      
       3) Reduce high-order allocations made by datagram AF_UNIX sockets, from
          Eric Dumazet.
      
       4) Add PTP hardware clock support to IGB and IXGBE, from Richard
          Cochran and Jacob Keller.
      
       5) Allow users to query timestamping capabilities of a card via
          ethtool, from Richard Cochran.
      
       6) Add loadbalance mode to the teaming driver, from Jiri Pirko.  Part
          of this is that we can now have BPF filters not attached to sockets,
          and the loadbalancing function is calculated using one.
      
       7) Francois Romieu went through the network drivers removing gratuitous
          uses of netdev->base_addr, perhaps some day we can remove it
          completely but it's used for ISA probing still.
      
       8) Add a BPF JIT for sparc.  I know, who cares, right? :-)
      
       9) Move networking sysctl registry away from using the compatability
          mode interfaces in the sysctl code.  From Eric W Biederman.
      
      10) Pavel Emelyanov added a way to save and restore TCP socket state via
          TCP_REPAIR, TCP_REPAIR_QUEUE, and TCP_QUEUE_SEQ socket options as
          well as a way to forcefully bind a socket to a port via the
          sk->sk_reuse value SK_FORCE_REUSE.  There is also a
          TCP_REPAIR_OPTIONS which allows to reinstante the TCP options
          enabled on the connection.
      
      11) Several enhancements from Eric Dumazet that, in particular, can
          enhance splice performance on TCP sockets significantly.
      
           a) Reset the offset of the per-socket sendmsg page when we know
              we're the only use of the page in linear_to_page().
      
           b) Add facilities such that skb->data can be backed a page rather
              than SLAB kmalloc'd memory.  In particular devices which were
              receiving into linear RX buffers can now end up providing paged
              data.
      
          The big result is that code like splice and GRO do not have to copy
          any more.
      
      12) Allow a pure sender to more gracefully handle ACK backlogs in TCP.
          What can happen at high rates is that the sender hasn't grown his
          receive buffer limits at all (he's not receiving data so really
          doesn't need to), but the non-data ACKs consume receive buffer
          space.
      
          sk_add_backlog() is too aggressive in dropping frames in this case,
          so relax it's requirements by using the receive buffer plus the send
          buffer limit as the backlog limit instead of just the former.
      
          Also from Eric Dumazet.
      
      13) Add ipv6 support to L2TP, from Benjamin LaHaise, James Chapman, and
          Chris Elston.
      
      14) Implement TCP early retransmit (RFC 5827), from Yuchung Cheng.
          Basically, we can start fast retransmit before hiting the dupack
          threshold under certain conditions.
      
      15) New CODEL active queue management packet scheduler, from Eric
          Dumazet based upon initial work by Dave Taht.
      
          Basically, the big feature is that packets are dropped (or ECN bits
          are set) based upon how long packets live in the queue, rather than
          the queue length (which is what RED uses).
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1341 commits)
        drivers/net/stmmac: seq_file fix memory leak
        ipv6/exthdrs: strict Pad1 and PadN check
        USB: qmi_wwan: Add ZTE (Vodafone) K3520-Z
        USB: qmi_wwan: Add ZTE (Vodafone) K3765-Z
        USB: qmi_wwan: Make forced int 4 whitelist generic
        net/ipv4: replace simple_strtoul with kstrtoul
        net/ipv4/ipconfig: neaten __setup placement
        net: qmi_wwan: Add Vodafone/Huawei K5005 support
        net: cdc_ether: Add ZTE WWAN matches before generic Ethernet
        ipv6: use skb coalescing in reassembly
        ipv4: use skb coalescing in defragmentation
        net: introduce skb_try_coalesce()
        net:ipv6:fixed space issues relating to operators.
        net:ipv6:fixed a trailing white space issue.
        ipv6: disable GSO on sockets hitting dst_allfrag
        tg3: use netdev_alloc_frag() API
        net: napi_frags_skb() is static
        ppp: avoid false drop_monitor false positives
        ipv6: bool/const conversions phase2
        ipx: Remove spurious NULL checking in ipx_ioctl().
        ...
      cb62ab71
  2. 21 5月, 2012 13 次提交
    • L
      Merge branch 'dentry-cleanups' (dcache access cleanups and optimizations) · 31ed8e6f
      Linus Torvalds 提交于
      This branch simplifies and clarifies the dcache lookup, and allows us to
      do certain nice optimizations when comparing dentries.  It also cleans
      up the interface to __d_lookup_rcu(), especially around passing the
      inode information around.
      
      * dentry-cleanups:
        vfs: make it possible to access the dentry hash/len as one 64-bit entry
        vfs: move dentry name length comparison from dentry_cmp() into callers
        vfs: do the careful dentry name access for all dentry_cmp cases
        vfs: remove unnecessary d_unhashed() check from __d_lookup_rcu
        vfs: clean up __d_lookup_rcu() and dentry_cmp() interfaces
      31ed8e6f
    • L
      Merge branch 'vfs-cleanups' (random vfs cleanups) · 7e5cb5e1
      Linus Torvalds 提交于
      This teaches vfs_fstat() to use the appropriate f[get|put]_light
      functions, allowing it to avoid some unnecessary locking for the common
      case.
      
      More noticeably, it also cleans up and simplifies the "getname_flags()"
      function, which now relies on the architecture strncpy_from_user() doing
      all the user access checks properly, instead of hacking around the fact
      that on x86 it didn't use to do it right (see commit 92ae03f2: "x86:
      merge 32/64-bit versions of 'strncpy_from_user()' and speed it up").
      
      * vfs-cleanups:
        VFS: make vfs_fstat() use f[get|put]_light()
        VFS: clean up and simplify getname_flags()
        x86: make word-at-a-time strncpy_from_user clear bytes at the end
      7e5cb5e1
    • L
      Merge branch 'stat-cleanups' (clean up copying of stat info to user space) · 8c12fec9
      Linus Torvalds 提交于
      This makes cp_new_stat() a bit more readable, and avoids having to
      memset() the whole structure just to fill in a couple of padding fields.
      
      This is another result of me looking at code generation of functions
      that show up high on certain kernel profiles, and just going "Oh, let's
      just clean that up".
      
      Architectures that don't supply the #define to fill just the padding
      fields will still fall back to memset().
      
      * stat-cleanups:
        vfs: don't force a big memset of stat data just to clear padding fields
        vfs: de-crapify "cp_new_stat()" function
      8c12fec9
    • L
      Merge branch 'vm-cleanups' (unmap_vma() interface cleanup) · dddbd541
      Linus Torvalds 提交于
      This series sanitizes the interface to unmap_vma().  The crazy interface
      annoyed me no end when I was looking at unmap_single_vma(), which we can
      spend quite a lot of time in (especially with loads that have a lot of
      small fork/exec's: shell scripts etc).
      
      Moving the nr_accounted calculations to where they belong at least
      clarifies things a little.  I hope to come back to look at the
      performance of this later, but if/when I get back to it I at least don't
      have to see the crazy interfaces any more.
      
      * vm-cleanups:
        vm: remove 'nr_accounted' calculations from the unmap_vmas() interfaces
        vm: simplify unmap_vmas() calling convention
      dddbd541
    • D
      drivers/net/stmmac: seq_file fix memory leak · 74863948
      Djalal Harouni 提交于
      Use single_release() instead of seq_release() to free memory allocated
      by single_open().
      Signed-off-by: NDjalal Harouni <tixxdz@opendz.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      74863948
    • D
      17eea0df
    • L
      Linux 3.4 · 76e10d15
      Linus Torvalds 提交于
      76e10d15
    • E
      ipv6/exthdrs: strict Pad1 and PadN check · 9b905fe6
      Eldad Zack 提交于
      The following tightens the padding check from commit
      c1412fce :
      
      * Take into account combinations of consecutive Pad1 and PadN.
      
      * Catch the corner case of when only padding is present in the
        header, when the extention header length is 0 (i.e., 8 bytes).
        In this case, the header would have exactly 6 bytes of padding:
      
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      :  Next Header  : Hdr Ext Len=0 :                               :
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
      :                        Padding (Pad1 or PadN)                 :
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      Signed-off-by: NEldad Zack <eldad@fogrefinery.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9b905fe6
    • A
    • A
      USB: qmi_wwan: Add ZTE (Vodafone) K3765-Z · 8965c98f
      Andrew Bird (Sphere Systems) 提交于
      Add the ZTE (Vodafone) K3765-Z to the whitelist. This requires the
      previous patch to make the whitelist with forced interface 4 generic
      or the device fails to initialise. After applying this patch and
      loading the Option driver without usb-modeswitch's bind all
      interfaces trick, a wwan0 net interface and /dev/cdc-wdm0 device
      file were created. Using Bjorn Mork's perl connection script a
      connection was made to a mobile network using QMI and the network
      interface's IPv4 address was configured OK.
      Signed-off-by: NAndrew Bird <ajb@spheresystems.co.uk>
      Acked-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8965c98f
    • A
      USB: qmi_wwan: Make forced int 4 whitelist generic · 00001880
      Andrew Bird (Sphere Systems) 提交于
      Change the forced interface 4 whitelist to use the generic shared
      binder instead of the Gobi specific one. Certain ZTE devices
      (K3520-Z & K3765-Z) don't work with the Gobi version, but function
      quite happily with the generic. This has been tested with the following
      devices:
      K3520-Z
      K3565-Z
      K3765-Z
      K4505-Z
      It hasn't been tested with the ZTE MF820D, which is the only other
      device that uses this whitelist at present. Although Bjorn doesn't
      expect any problems, any testing with that device would be appreciated.
      Signed-off-by: NAndrew Bird <ajb@spheresystems.co.uk>
      Acked-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      00001880
    • S
      sparc32: use flushi when run-time patching in per_cpu_patch · 1edc1783
      Sam Ravnborg 提交于
      Davis S. Miller wrote:
      "
      The way we do that now is overkill.  We only needed to use the MMU
      cache ops when we had sun4c around because sun4c lacked support for
      the "flush" instruction.
      
      But all sun4m and later chips have it so we can use it
      unconditionally.
      
      So in the per_cpu_patch() code, get rid of the cache ops invocation,
      and instead execute a "flush %reg" after each of the instruction patch
      assignments, where %reg is set to the address of the instruction that
      was stored into.
      
      Perhaps take the flushi() definition from asm/cacheflush_64.h and
      place it into asm/cacheflush.h, then you can simply use that.
      "
      
      Implemented as per suggestion.
      Moved run-time patching before we call paging_init(),
      so helper methods in paging_init() may utilise run-time patching too.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1edc1783
    • S
      sparc32: fix cpuid_patch run-time patching · 9cd5f822
      Sam Ravnborg 提交于
      We hang forever when trying to do run-time patching of instructions
      identified by the cpuid_patch section
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9cd5f822
  3. 20 5月, 2012 25 次提交