1. 26 3月, 2013 12 次提交
  2. 25 3月, 2013 9 次提交
  3. 23 3月, 2013 9 次提交
  4. 22 3月, 2013 10 次提交
    • E
      tcp: preserve ACK clocking in TSO · f4541d60
      Eric Dumazet 提交于
      A long standing problem with TSO is the fact that tcp_tso_should_defer()
      rearms the deferred timer, while it should not.
      
      Current code leads to following bad bursty behavior :
      
      20:11:24.484333 IP A > B: . 297161:316921(19760) ack 1 win 119
      20:11:24.484337 IP B > A: . ack 263721 win 1117
      20:11:24.485086 IP B > A: . ack 265241 win 1117
      20:11:24.485925 IP B > A: . ack 266761 win 1117
      20:11:24.486759 IP B > A: . ack 268281 win 1117
      20:11:24.487594 IP B > A: . ack 269801 win 1117
      20:11:24.488430 IP B > A: . ack 271321 win 1117
      20:11:24.489267 IP B > A: . ack 272841 win 1117
      20:11:24.490104 IP B > A: . ack 274361 win 1117
      20:11:24.490939 IP B > A: . ack 275881 win 1117
      20:11:24.491775 IP B > A: . ack 277401 win 1117
      20:11:24.491784 IP A > B: . 316921:332881(15960) ack 1 win 119
      20:11:24.492620 IP B > A: . ack 278921 win 1117
      20:11:24.493448 IP B > A: . ack 280441 win 1117
      20:11:24.494286 IP B > A: . ack 281961 win 1117
      20:11:24.495122 IP B > A: . ack 283481 win 1117
      20:11:24.495958 IP B > A: . ack 285001 win 1117
      20:11:24.496791 IP B > A: . ack 286521 win 1117
      20:11:24.497628 IP B > A: . ack 288041 win 1117
      20:11:24.498459 IP B > A: . ack 289561 win 1117
      20:11:24.499296 IP B > A: . ack 291081 win 1117
      20:11:24.500133 IP B > A: . ack 292601 win 1117
      20:11:24.500970 IP B > A: . ack 294121 win 1117
      20:11:24.501388 IP B > A: . ack 295641 win 1117
      20:11:24.501398 IP A > B: . 332881:351881(19000) ack 1 win 119
      
      While the expected behavior is more like :
      
      20:19:49.259620 IP A > B: . 197601:202161(4560) ack 1 win 119
      20:19:49.260446 IP B > A: . ack 154281 win 1212
      20:19:49.261282 IP B > A: . ack 155801 win 1212
      20:19:49.262125 IP B > A: . ack 157321 win 1212
      20:19:49.262136 IP A > B: . 202161:206721(4560) ack 1 win 119
      20:19:49.262958 IP B > A: . ack 158841 win 1212
      20:19:49.263795 IP B > A: . ack 160361 win 1212
      20:19:49.264628 IP B > A: . ack 161881 win 1212
      20:19:49.264637 IP A > B: . 206721:211281(4560) ack 1 win 119
      20:19:49.265465 IP B > A: . ack 163401 win 1212
      20:19:49.265886 IP B > A: . ack 164921 win 1212
      20:19:49.266722 IP B > A: . ack 166441 win 1212
      20:19:49.266732 IP A > B: . 211281:215841(4560) ack 1 win 119
      20:19:49.267559 IP B > A: . ack 167961 win 1212
      20:19:49.268394 IP B > A: . ack 169481 win 1212
      20:19:49.269232 IP B > A: . ack 171001 win 1212
      20:19:49.269241 IP A > B: . 215841:221161(5320) ack 1 win 119
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Yuchung Cheng <ycheng@google.com>
      Cc: Van Jacobson <vanj@google.com>
      Cc: Neal Cardwell <ncardwell@google.com>
      Cc: Nandita Dukkipati <nanditad@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f4541d60
    • T
      rtnetlink: Remove passing of attributes into rtnl_doit functions · 661d2967
      Thomas Graf 提交于
      With decnet converted, we can finally get rid of rta_buf and its
      computations around it. It also gets rid of the minimal header
      length verification since all message handlers do that explicitly
      anyway.
      Signed-off-by: NThomas Graf <tgraf@suug.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      661d2967
    • T
      decnet: Parse netlink attributes on our own · 58d7d8f9
      Thomas Graf 提交于
      decnet is the only subsystem left that is relying on the global
      netlink attribute buffer rta_buf. It's horrible design and we
      want to get rid of it.
      
      This converts all of decnet to do implicit attribute parsing. It
      also gets rid of the error prone struct dn_kern_rta.
      
      Yes, the fib_magic() stuff is not pretty.
      
      It's compiled tested but I need someone with appropriate hardware
      to test the patch since I don't have access to it.
      
      Cc: linux-decnet-user@lists.sourceforge.net
      Signed-off-by: NThomas Graf <tgraf@suug.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      58d7d8f9
    • D
      Merge branch 'mv643xx_eth' · 9b924dbd
      David S. Miller 提交于
      Florian Fainelli says:
      
      ====================
      This patch converts the mv643xx_eth driver to use the mvmdio MDIO bus driver
      instead of rolling its own implementation. As a result, all users of this
      mv643xx_eth driver are converted to register an "orion-mdio" platform_device.
      The mvmdio driver is also updated to support an interrupt line which reports
      SMI error/completion, and to allow traditionnal platform device registration
      instead of just device tree.
      
      David, I think it makes sense for you to merge all of this, since we do
      not want the architecture files to be desynchronized from the mv643xx_eth to
      avoid runtime breakage. The potential for merge conflicts should be very small.
      ====================
      Tested-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Tested-by: NJason Cooper <jason@lakedaemon.net>
      Acked-by: NJason Cooper <jason@lakedaemon.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9b924dbd
    • F
      mv643xx_eth: convert to use the Marvell Orion MDIO driver · c3a07134
      Florian Fainelli 提交于
      This patch converts the Marvell MV643XX ethernet driver to use the
      Marvell Orion MDIO driver. As a result, PowerPC and ARM platforms
      registering the Marvell MV643XX ethernet driver are also updated to
      register a Marvell Orion MDIO driver. This driver voluntarily overlaps
      with the Marvell Ethernet shared registers because it will use a subset
      of this shared register (shared_base + 0x4 to shared_base + 0x84). The
      Ethernet driver is also updated to look up for a PHY device using the
      Orion MDIO bus driver.
      
      For ARM and PowerPC we register a single instance of the "mvmdio" driver
      in the system like it used to be done with the use of the "shared_smi"
      platform_data cookie on ARM.
      
      Note that it is safe to register the mvmdio driver only for the "ge00"
      instance of the driver because this "ge00" interface is guaranteed to
      always be explicitely registered by consumers of
      arch/arm/plat-orion/common.c and other instances (ge01, ge10 and ge11)
      were all pointing their shared_smi to ge00. For PowerPC the in-tree
      Device Tree Source files mention only one MV643XX ethernet MAC instance
      so the MDIO bus driver is registered only when id == 0.
      Signed-off-by: NFlorian Fainelli <florian@openwrt.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c3a07134
    • F
      net: mvmdio: enhance driver to support SMI error/done interrupts · 2ec98521
      Florian Fainelli 提交于
      This patch enhances the "mvmdio" to support a SMI error/done interrupt
      line which can be used along with a wait queue instead of doing
      busy-waiting on the registers. This is a feature which is available in
      the mv643xx_eth SMI code and thus reduces again the gap between the two.
      Signed-off-by: NFlorian Fainelli <florian@openwrt.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2ec98521
    • F
      net: mvmdio: rename base register cookie from smireg to regs · 3712b717
      Florian Fainelli 提交于
      This patch renames the base register cookie in the mvmdio drive from
      "smireg" to "regs" since a subsequent patch is going to use an ioremap()
      cookie whose size is larger than a single register of 4 bytes. No
      functionnal code change introduced.
      Acked-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Signed-off-by: NFlorian Fainelli <florian@openwrt.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3712b717
    • F
      net: mvmdio: allow platform device style registration · 7111b717
      Florian Fainelli 提交于
      This patch changes the mvmdio driver not to use device tree
      helper functions such as of_mdiobus_register() and of_iomap() so we can
      instantiate this driver using a classic platform_device approach. Use
      the device manager helper to ioremap() the base register cookie so we
      get automatic freeing upon error and removal. This change is harmless
      for Device Tree platforms because they will get the driver be registered
      the same way as it was before.
      Signed-off-by: NFlorian Fainelli <florian@openwrt.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7111b717
    • W
      s6gmac: fix error return code in s6gmac_probe() · 43d68690
      Wei Yongjun 提交于
      Fix to return a negative error code from the error handling
      case instead of 0, as returned elsewhere in this function.
      Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      43d68690
    • C
      udp: increase inner ip header ID during segmentation · d6a8c36d
      Cong Wang 提交于
      Similar to GRE tunnel, UDP tunnel should take care of IP header ID
      too.
      
      Cc: Pravin B Shelar <pshelar@nicira.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NCong Wang <amwang@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d6a8c36d