Skip to content
  1. Apr 04, 2012
    • Eric Dumazet's avatar
      af_unix: reduce high order page allocations · eb6a2481
      Eric Dumazet authored
      
      
      unix_dgram_sendmsg() currently builds linear skbs, and this can stress
      page allocator with high order page allocations. When memory gets
      fragmented, this can eventually fail.
      
      We can try to use order-2 allocations for skb head (SKB_MAX_ALLOC) plus
      up to 16 page fragments to lower pressure on buddy allocator.
      
      This patch has no effect on messages of less than 16064 bytes.
      (on 64bit arches with PAGE_SIZE=4096)
      
      For bigger messages (from 16065 to 81600 bytes), this patch brings
      reliability at the expense of performance penalty because of extra pages
      allocations.
      
      netperf -t DG_STREAM -T 0,2 -- -m 16064 -s 200000
      ->4086040 Messages / 10s
      
      netperf -t DG_STREAM -T 0,2 -- -m 16068 -s 200000
      ->3901747 Messages / 10s
      
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      eb6a2481
  2. Apr 02, 2012