On Fri, Aug 05, 2016 at 09:15:33AM +0200, Eric Dumazet wrote: > On Thu, 2016-08-04 at 18:19 +0200, Jesper Dangaard Brouer wrote: > > > I actually agree, that we should switch to order-0 allocations. > > > > *BUT* this will cause performance regressions on platforms with > > expensive DMA operations (as they no longer amortize the cost of > > mapping a larger page). > > > We much prefer reliable behavior, even it it is ~1 % slower than the > super-optimized thing that opens highways for attackers. +1 It's more important to have deterministic performance at fresh boot and after long uptime when high order-N are gone. > Anyway, in most cases pages are re-used, so we only call > dma_sync_single_range_for_cpu(), and there is no way to avoid this. > > Using order-0 pages [1] is actually faster, since when we use high-order > pages (multiple frames per 'page') we can not reuse the pages. > > [1] I had a local patch to allocate these pages using a very simple > allocator allocating max order (order-10) pages and splitting them into > order-0 ages, in order to lower TLB footprint. But I could not measure a > gain doing so on x86, at least on my lab machines. Which driver was that? I suspect that should indeed be the case for any driver that uses build_skb and <256 copybreak. Saeed, could you please share the performance numbers for mlx5 order-0 vs order-N ? You mentioned that there was some performance improvement. We need to know how much we'll lose when we turn off order-N. Thanks! -- 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>