1. 07 Mar, 2016 12 commits
  2. 05 Mar, 2016 5 commits
  3. 04 Mar, 2016 20 commits
  4. 03 Mar, 2016 3 commits
    • Eric Dumazet's avatar
      net: sched: use pfifo_fast for non real queues · 1f27cde3
      Eric Dumazet authored
      Some devices declare a high number of TX queues, then set a much
      lower real_num_tx_queues
      
      This cause setups using fq_codel, sfq or fq as the default qdisc to consume
      more memory than really needed.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1f27cde3
    • David Ahern's avatar
      net: ipv6: Fix refcnt on host routes · 799977d9
      David Ahern authored
      Andrew and Ying Huang's test robot both reported usage count problems that
      trace back to the 'keep address on ifdown' patch.
      
      >From Andrew:
      We execute CRIU test on linux-next. On the current linux-next kernel
      they hangs on creating a network namespace.
      
      The kernel log contains many massages like this:
      [ 1036.122108] unregister_netdevice: waiting for lo to become free.
      Usage count = 2
      [ 1046.165156] unregister_netdevice: waiting for lo to become free.
      Usage count = 2
      [ 1056.210287] unregister_netdevice: waiting for lo to become free.
      Usage count = 2
      
      I tried to revert this patch and the bug disappeared.
      
      Here is a set of commands to reproduce this bug:
      
      [root@linux-next-test linux-next]# uname -a
      Linux linux-next-test 4.5.0-rc6-next-20160301+ #3 SMP Wed Mar 2
      17:32:18 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
      
      [root@linux-next-test ~]# unshare -n
      [root@linux-next-test ~]# ip link set up dev lo
      [root@linux-next-test ~]# ip a
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
      group default qlen 1
          link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
          inet 127.0.0.1/8 scope host lo
             valid_lft forever preferred_lft forever
          inet6 ::1/128 scope host
             valid_lft forever preferred_lft forever
      [root@linux-next-test ~]# logout
      [root@linux-next-test ~]# unshare -n
      
       -----
      
      The problem is a change made to RTM_DELADDR case in __ipv6_ifa_notify that
      was added in an early version of the offending patch and is no longer
      needed.
      
      Fixes: f1705ec1 ("net: ipv6: Make address flushing on ifdown optional")
      Cc: Andrey Wagin <avagin@gmail.com>
      Cc: Ying Huang <ying.huang@linux.intel.com>
      Signed-off-by: default avatarDavid Ahern <dsa@cumulusnetworks.com>
      Tested-by: default avatarJeremiah Mahler <jmmahler@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      799977d9
    • Lada Trimasova's avatar
      net: ezchip: adapt driver to little endian architecture · b54b8c2d
      Lada Trimasova authored
      Since ezchip network driver is written with big endian EZChip platform it
      is necessary to add support for little endian architecture.
      
      The first issue is that the order of the bits in a bit field is
      implementation specific. So all the bit fields are removed.
      Named constants are used to access necessary fields.
      
      And the second one is that network byte order is big endian.
      For example, data on ethernet is transmitted with most-significant
      octet (byte) first. So in case of little endian architecture
      it is important to swap data byte order when we read it from
      register. In case of unaligned access we can use "get_unaligned_be32"
      and in other case we can use function "ioread32_rep" which reads all
      data from register and works either with little endian or big endian
      architecture.
      
      And then when we are going to write data to register we need to restore
      byte order using the function "put_unaligned_be32" in case of
      unaligned access and in other case "iowrite32_rep".
      
      The last little fix is a space between type and pointer to observe
      coding style.
      Signed-off-by: default avatarLada Trimasova <ltrimas@synopsys.com>
      Cc: Alexey Brodkin <abrodkin@synopsys.com>
      Cc: Noam Camus <noamc@ezchip.com>
      Cc: Tal Zilcer <talz@ezchip.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b54b8c2d