On Wed, 2012-06-20 at 14:36 +0100, Mel Gorman wrote: > The intention was to avoid any coalescing in the input path due to avoid > packets that "were held back due to TCP_CORK or attempt at coalescing > tiny packet". I recognise that it is clumsy and will take the approach > instead of having __tcp_push_pending_frames() use sk_gfp_atomic() in the > output path. But coalescing in input path needs no additional memory allocation, it can actually free some memory. And it avoids most of the time the infamous "tcp collapses" that needed extra memory allocations to group tcp payload on single pages. If you want tcp output path being safer, you should disable TSO/GSO because some drivers have special handling for skbs that cannot be mapped because of various hardware limitations. (for example, tg3 and its tg3_tso_bug() or tigon3_dma_hwbug_workaround() functions) -- 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>