summaryrefslogtreecommitdiffstats
path: root/net/unix/diag.c
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2012-04-03 05:28:28 +0000
committerDavid S. Miller <davem@davemloft.net>2012-04-03 16:43:18 -0400
commiteb6a24816b247c0be6b2e97e68933072874bbe54 (patch)
treec815981e955e9e32d1b9bd279bd18a358038e031 /net/unix/diag.c
parentedbc0bb3fb72ec4645a242520cf1d0b9b6b02261 (diff)
af_unix: reduce high order page allocations
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: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/unix/diag.c')
0 files changed, 0 insertions, 0 deletions