On Mon, 2016-04-11 at 18:19 +0200, Jesper Dangaard Brouer wrote: > Drivers also do tricks where they fallback to smaller order pages. E.g. > lookup function mlx4_alloc_pages(). I've tried to simulate that > function here: > https://github.com/netoptimizer/prototype-kernel/blob/91d323fc53/kernel/mm/bench/page_bench01.c#L69
We use order-0 pages on mlx4 at Google, as order-3 pages are very dangerous for some kind of attacks... An out of order TCP packet can hold an order-3 pages, while claiming to use 1.5 KBvia skb->truesize. order-0 only pages allow the page recycle trick used by Intel driver, and we hardly see any page allocations in typical workloads. While order-3 pages are 'nice' for friendly datacenter kind of traffic, they also are a higher risk on hosts connected to the wild Internet. Maybe I should upstream this patch ;)