On Mon, 11 Apr 2016 09:53:54 -0700 Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote: > 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... Interesting! > 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. Yes, I looked at the Intel ixgbe drivers page recycle trick. It is actually quite cool, but code wise it is a little hard to follow. I started to look at the variant in i40e, specifically function i40e_clean_rx_irq_ps() explains it a bit more explicit. > 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 ;) Definitely! Does this patch also include a page recycle trick? Else how do you get around the cost of allocating a single order-0 page? -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat Author of http://www.iptv-analyzer.org LinkedIn: http://www.linkedin.com/in/brouer -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>