1. 30 Oct, 2014 2 commits
    • Roman Gushchin's avatar
      igb: don't reuse pages with pfmemalloc flag · bc16e47f
      Roman Gushchin authored
      Incoming packet is dropped silently by sk_filter(), if the skb was
      allocated from pfmemalloc reserves and the corresponding socket is
      not marked with the SOCK_MEMALLOC flag.
      
      Igb driver allocates pages for DMA with __skb_alloc_page(), which
      calls alloc_pages_node() with the __GFP_MEMALLOC flag. So, in case
      of OOM condition, igb can get pages with pfmemalloc flag set.
      
      If an incoming packet hits the pfmemalloc page and is large enough
      (small packets are copying into the memory, allocated with
      netdev_alloc_skb_ip_align(), so they are not affected), it will be
      dropped.
      
      This behavior is ok under high memory pressure, but the problem is
      that the igb driver reuses these mapped pages. So, packets are still
      dropping even if all memory issues are gone and there is a plenty
      of free memory.
      
      In my case, some TCP sessions hang on a small percentage (< 0.1%)
      of machines days after OOMs.
      
      Fix this by avoiding reuse of such pages.
      Signed-off-by: default avatarRoman Gushchin <klamm@yandex-team.ru>
      Tested-by: Aaron Brown "aaron.f.brown@intel.com"
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      bc16e47f
    • Francesco Ruggeri's avatar
      e1000: unset IFF_UNICAST_FLT on WMware 82545EM · a22bb0b9
      Francesco Ruggeri authored
      VMWare's e1000 implementation does not seem to support unicast filtering.
      This can be observed by configuring a macvlan interface on eth0 in a VM in
      VMWare Fusion 5.0.5, and trying to use that interface instead of eth0.
      Tested on 3.16.
      Signed-off-by: default avatarFrancesco Ruggeri <fruggeri@arista.com>
      Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      a22bb0b9
  2. 29 Oct, 2014 6 commits
  3. 28 Oct, 2014 14 commits
  4. 27 Oct, 2014 12 commits
  5. 25 Oct, 2014 6 commits