From: Mel Gorman <mgorman@suse.de>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Linux-MM <linux-mm@kvack.org>,
Linux-Netdev <netdev@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
David Miller <davem@davemloft.net>, Neil Brown <neilb@suse.de>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Mike Christie <michaelc@cs.wisc.edu>,
Eric B Munson <emunson@mgebm.net>,
Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Subject: Re: [PATCH 08/17] net: Do not coalesce skbs belonging to PFMEMALLOC sockets
Date: Wed, 20 Jun 2012 15:18:33 +0100 [thread overview]
Message-ID: <20120620141833.GI4011@suse.de> (raw)
In-Reply-To: <1340200312.4604.1008.camel@edumazet-glaptop>
On Wed, Jun 20, 2012 at 03:51:52PM +0200, Eric Dumazet wrote:
> 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.
>
When I wrote it I thought the timing of the transmission of pending frames
was the problem rather than the actual memory usage. My intention was that
any data related to swapping be handled immediately without delay instead of
deferring until a time when GFP_ATOMIC allocations might fail. I arrived
at this patch because tcp_input.c does call tcp_push_pending_frames()
on the receive path and that led me to believe that coalescing was a
factor.
> 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.
>
Understood. Thanks for the explanation.
--
Mel Gorman
SUSE Labs
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2012-06-20 14:18 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-20 11:43 [PATCH 00/17] Swap-over-NBD without deadlocking V12 (resend) Mel Gorman
2012-06-20 11:43 ` [PATCH 01/17] mm: sl[au]b: Add knowledge of PFMEMALLOC reserve pages Mel Gorman
2012-06-21 21:30 ` Rik van Riel
2012-06-22 9:34 ` Mel Gorman
2012-06-20 11:43 ` [PATCH 02/17] mm: slub: Optimise the SLUB fast path to avoid pfmemalloc checks Mel Gorman
2012-06-20 11:43 ` [PATCH 03/17] mm: Introduce __GFP_MEMALLOC to allow access to emergency reserves Mel Gorman
2012-06-20 11:43 ` [PATCH 04/17] mm: allow PF_MEMALLOC from softirq context Mel Gorman
2012-06-20 11:44 ` [PATCH 05/17] mm: Only set page->pfmemalloc when ALLOC_NO_WATERMARKS was used Mel Gorman
2012-06-20 11:44 ` [PATCH 06/17] mm: Ignore mempolicies when using ALLOC_NO_WATERMARK Mel Gorman
2012-06-20 11:44 ` [PATCH 07/17] net: Introduce sk_gfp_atomic() to allow addition of GFP flags depending on the individual socket Mel Gorman
2012-06-20 12:06 ` Eric Dumazet
2012-06-20 14:20 ` Mel Gorman
2012-06-20 11:44 ` [PATCH 08/17] net: Do not coalesce skbs belonging to PFMEMALLOC sockets Mel Gorman
2012-06-20 12:04 ` Eric Dumazet
2012-06-20 13:36 ` Mel Gorman
2012-06-20 13:51 ` Eric Dumazet
2012-06-20 14:18 ` Mel Gorman [this message]
2012-06-20 11:44 ` [PATCH 09/17] netvm: Allow the use of __GFP_MEMALLOC by specific sockets Mel Gorman
2012-06-20 11:44 ` [PATCH 10/17] netvm: Allow skb allocation to use PFMEMALLOC reserves Mel Gorman
2012-06-21 16:09 ` Sebastian Andrzej Siewior
2012-06-22 10:00 ` Mel Gorman
2012-06-21 16:30 ` Sebastian Andrzej Siewior
2012-06-21 16:38 ` Eric Dumazet
2012-06-21 16:43 ` Sebastian Andrzej Siewior
2012-06-22 10:54 ` Mel Gorman
2012-06-22 11:27 ` Sebastian Andrzej Siewior
2012-06-20 11:44 ` [PATCH 11/17] netvm: Propagate page->pfmemalloc to skb Mel Gorman
2012-06-20 11:44 ` [PATCH 12/17] netvm: Propagate page->pfmemalloc from skb_alloc_page " Mel Gorman
2012-06-20 11:44 ` [PATCH 13/17] netvm: Set PF_MEMALLOC as appropriate during SKB processing Mel Gorman
2012-06-20 11:44 ` [PATCH 14/17] mm: Micro-optimise slab to avoid a function call Mel Gorman
2012-06-20 11:44 ` [PATCH 15/17] nbd: Set SOCK_MEMALLOC for access to PFMEMALLOC reserves Mel Gorman
2012-06-20 11:44 ` [PATCH 16/17] mm: Throttle direct reclaimers if PF_MEMALLOC reserves are low and swap is backed by network storage Mel Gorman
2012-06-20 11:44 ` [PATCH 17/17] mm: Account for the number of times direct reclaimers get throttled Mel Gorman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120620141833.GI4011@suse.de \
--to=mgorman@suse.de \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=davem@davemloft.net \
--cc=emunson@mgebm.net \
--cc=eric.dumazet@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=michaelc@cs.wisc.edu \
--cc=neilb@suse.de \
--cc=netdev@vger.kernel.org \
--cc=sebastian@breakpoint.cc \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).