Skip to content
  1. Dec 06, 2011
  2. Dec 05, 2011
    • Eric Dumazet's avatar
      tcp: tcp_sendmsg() page recycling · 761965ea
      Eric Dumazet authored
      
      
      If our TCP_PAGE(sk) is not shared (page_count() == 1), we can set page
      offset to 0.
      
      This permits better filling of the pages on small to medium tcp writes.
      
      "tbench 16" results on my dev server (2x4x2 machine) :
      
      Before : 3072 MB/s
      After  : 3146 MB/s  (2.4 % gain)
      
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      761965ea
    • Eric Dumazet's avatar
      tcp: take care of misalignments · 117632e6
      Eric Dumazet authored
      
      
      We discovered that TCP stack could retransmit misaligned skbs if a
      malicious peer acknowledged sub MSS frame. This currently can happen
      only if output interface is non SG enabled : If SG is enabled, tcp
      builds headless skbs (all payload is included in fragments), so the tcp
      trimming process only removes parts of skb fragments, header stay
      aligned.
      
      Some arches cant handle misalignments, so force a head reallocation and
      shrink headroom to MAX_TCP_HEADER.
      
      Dont care about misaligments on x86 and PPC (or other arches setting
      NET_IP_ALIGN to 0)
      
      This patch introduces __pskb_copy() which can specify the headroom of
      new head, and pskb_copy() becomes a wrapper on top of __pskb_copy()
      
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      117632e6
  3. Dec 04, 2011
  4. Dec 03, 2011
  5. Dec 02, 2011
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 5983fe2b
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (73 commits)
        netfilter: Remove ADVANCED dependency from NF_CONNTRACK_NETBIOS_NS
        ipv4: flush route cache after change accept_local
        sch_red: fix red_change
        Revert "udp: remove redundant variable"
        bridge: master device stuck in no-carrier state forever when in user-stp mode
        ipv4: Perform peer validation on cached route lookup.
        net/core: fix rollback handler in register_netdevice_notifier
        sch_red: fix red_calc_qavg_from_idle_time
        bonding: only use primary address for ARP
        ipv4: fix lockdep splat in rt_cache_seq_show
        sch_teql: fix lockdep splat
        net: fec: Select the FEC driver by default for i.MX SoCs
        isdn: avoid copying too long drvid
        isdn: make sure strings are null terminated
        netlabel: Fix build problems when IPv6 is not enabled
        sctp: better integer overflow check in sctp_auth_create_key()
        sctp: integer overflow in sctp_auth_create_key()
        ipv6: Set mcast_hops to IPV6_DEFAULT_MCASTHOPS when -1 was given.
        net: Fix corruption in /proc/*/net/dev_mcast
        mac80211: fix race between the AGG SM and the Tx data path
        ...
      5983fe2b
    • David S. Miller's avatar
      netfilter: Remove ADVANCED dependency from NF_CONNTRACK_NETBIOS_NS · 3ced1be5
      David S. Miller authored
      
      
      firewalld in Fedora 16 needs this.
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3ced1be5
    • David S. Miller's avatar
      efa230f2
    • David S. Miller's avatar
    • Peter Pan(潘卫平)'s avatar
      ipv4: flush route cache after change accept_local · d01ff0a0
      Peter Pan(潘卫平) authored
      
      
      After reset ipv4_devconf->data[IPV4_DEVCONF_ACCEPT_LOCAL] to 0,
      we should flush route cache, or it will continue receive packets with local
      source address, which should be dropped.
      
      Signed-off-by: default avatarWeiping Pan <panweiping3@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d01ff0a0
    • Eric Dumazet's avatar
      sch_red: fix red_change · 1ee5fa1e
      Eric Dumazet authored
      
      
      Le mercredi 30 novembre 2011 à 14:36 -0800, Stephen Hemminger a écrit :
      
      > (Almost) nobody uses RED because they can't figure it out.
      > According to Wikipedia, VJ says that:
      >  "there are not one, but two bugs in classic RED."
      
      RED is useful for high throughput routers, I doubt many linux machines
      act as such devices.
      
      I was considering adding Adaptative RED (Sally Floyd, Ramakrishna
      Gummadi, Scott Shender), August 2001
      
      In this version, maxp is dynamic (from 1% to 50%), and user only have to
      setup min_th (target average queue size)
      (max_th and wq (burst in linux RED) are automatically setup)
      
      By the way it seems we have a small bug in red_change()
      
      if (skb_queue_empty(&sch->q))
      	red_end_of_idle_period(&q->parms);
      
      First, if queue is empty, we should call
      red_start_of_idle_period(&q->parms);
      
      Second, since we dont use anymore sch->q, but q->qdisc, the test is
      meaningless.
      
      Oh well...
      
      [PATCH] sch_red: fix red_change()
      
      Now RED is classful, we must check q->qdisc->q.qlen, and if queue is empty,
      we start an idle period, not end it.
      
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1ee5fa1e
    • Linus Torvalds's avatar
      Linux 3.2-rc4 · 5611cc45
      Linus Torvalds authored
      5611cc45
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 · 0a4ebed7
      Linus Torvalds authored
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (31 commits)
        ocfs2: avoid unaligned access to dqc_bitmap
        ocfs2: Use filemap_write_and_wait() instead of write_inode_now()
        ocfs2: honor O_(D)SYNC flag in fallocate
        ocfs2: Add a missing journal credit in ocfs2_link_credits() -v2
        ocfs2: send correct UUID to cleancache initialization
        ocfs2: Commit transactions in error cases -v2
        ocfs2: make direntry invalid when deleting it
        fs/ocfs2/dlm/dlmlock.c: free kmem_cache_zalloc'd data using kmem_cache_free
        ocfs2: Avoid livelock in ocfs2_readpage()
        ocfs2: serialize unaligned aio
        ocfs2: Implement llseek()
        ocfs2: Fix ocfs2_page_mkwrite()
        ocfs2: Add comment about orphan scanning
        ocfs2: Clean up messages in the fs
        ocfs2/cluster: Cluster up now includes network connections too
        ocfs2/cluster: Add new function o2net_fill_node_map()
        ocfs2/cluster: Fix output in file elapsed_time_in_ms
        ocfs2/dlm: dlmlock_remote() needs to account for remastery
        ocfs2/dlm: Take inflight reference count for remotely mastered resources too
        ocfs2/dlm: Cleanup dlm_wait_for_node_death() and dlm_wait_for_node_recovery()
        ...
      0a4ebed7
    • Akinobu Mita's avatar
      ocfs2: avoid unaligned access to dqc_bitmap · 93925579
      Akinobu Mita authored
      
      
      The dqc_bitmap field of struct ocfs2_local_disk_chunk is 32-bit aligned,
      but not 64-bit aligned.  The dqc_bitmap is accessed by ocfs2_set_bit(),
      ocfs2_clear_bit(), ocfs2_test_bit(), or ocfs2_find_next_zero_bit().  These
      are wrapper macros for ext2_*_bit() which need to take an unsigned long
      aligned address (though some architectures are able to handle unaligned
      address correctly)
      
      So some 64bit architectures may not be able to access the dqc_bitmap
      correctly.
      
      This avoids such unaligned access by using another wrapper functions for
      ext2_*_bit().  The code is taken from fs/ext4/mballoc.c which also need to
      handle unaligned bitmap access.
      
      Signed-off-by: default avatarAkinobu Mita <akinobu.mita@gmail.com>
      Acked-by: default avatarJoel Becker <jlbec@evilplan.org>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarJoel Becker <jlbec@evilplan.org>
      93925579
    • Linus Torvalds's avatar
      Merge branch 'fixes' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm · 3b120ab7
      Linus Torvalds authored
      * 'fixes' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm:
        ARM: 7182/1: ARM cpu topology: fix warning
        ARM: 7181/1: Restrict kprobes probing SWP instructions to ARMv5 and below
        ARM: 7180/1: Change kprobes testcase with unpredictable STRD instruction
        ARM: 7177/1: GIC: avoid skipping non-existent PPIs in irq_start calculation
        ARM: 7176/1: cpu_pm: register GIC PM notifier only once
        ARM: 7175/1: add subname parameter to mfp_set_groupg callers
        ARM: 7174/1: Fix build error in kprobes test code on Thumb2 kernels
        ARM: 7172/1: dma: Drop GFP_COMP for DMA memory allocations
        ARM: 7171/1: unwind: add unwind directives to bitops assembly macros
        ARM: 7170/2: fix compilation breakage in entry-armv.S
        ARM: 7168/1: use cache type functions for arch_get_unmapped_area
        ARM: perf: check that we have a platform device when reserving PMU
        ARM: 7166/1: Use PMD_SHIFT instead of PGDIR_SHIFT in dma-consistent.c
        ARM: 7165/2: PL330: Fix typo in _prepare_ccr()
        ARM: 7163/2: PL330: Only register usable channels
        ARM: 7162/1: errata: tidy up Kconfig options for PL310 errata workarounds
        ARM: 7161/1: errata: no automatic store buffer drain
        ARM: perf: initialise used_mask for fake PMU during validation
        ARM: PMU: remove pmu_init declaration
        ARM: PMU: re-export release_pmu symbol to modules
      3b120ab7
    • David S. Miller's avatar
      dccp: Fix compile warning in probe code. · d984e619
      David S. Miller authored
      Commit 1386be55
      
       ("dccp: fix
      auto-loading of dccp(_probe)") fixed a bug but created a new
      compiler warning:
      
      net/dccp/probe.c: In function ‘dccpprobe_init’:
      net/dccp/probe.c:166:2: warning: the omitted middle operand in ?: will always be ‘true’, suggest explicit middle operand [-Wparentheses]
      
      try_then_request_module() is built for situations where the
      "existence" test is some lookup function that returns a non-NULL
      object on success, and with a reference count of some kind held.
      
      Here we're looking for a success return of zero from the jprobe
      registry.
      
      Instead of fighting the way try_then_request_module() works, simply
      open code what we want to happen in a local helper function.
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d984e619
    • David S. Miller's avatar
      net: Make ndo_neigh_destroy return void. · 65698610
      David S. Miller authored
      
      
      The return value isn't used.
      
      Suggested by Ben Hucthings.
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      65698610
    • David S. Miller's avatar
      Revert "udp: remove redundant variable" · 59c2cdae
      David S. Miller authored
      This reverts commit 81d54ec8
      
      .
      
      If we take the "try_again" goto, due to a checksum error,
      the 'len' has already been truncated.  So we won't compute
      the same values as the original code did.
      
      Reported-by: default avatarpaul bilke <fsmail@conspiracy.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      59c2cdae
    • Vitalii Demianets's avatar
      bridge: master device stuck in no-carrier state forever when in user-stp mode · b03b6dd5
      Vitalii Demianets authored
      
      
      When in user-stp mode, bridge master do not follow state of its slaves, so
      after the following sequence of events it can stuck forever in no-carrier
      state:
      1) turn stp off
      2) put all slaves down - master device will follow their state and also go in
      no-carrier state
      3) turn stp on with bridge-stp script returning 0 (go to the user-stp mode)
      Now bridge master won't follow slaves' state and will never reach running
      state.
      
      This patch solves the problem by making user-stp and kernel-stp behavior
      similar regarding master following slaves' states.
      
      Signed-off-by: default avatarVitalii Demianets <vitas@nppfactor.kiev.ua>
      Acked-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b03b6dd5