lkml.org 
[lkml]   [2012]   [Jun]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 08/17] net: Do not coalesce skbs belonging to PFMEMALLOC sockets
    On Wed, Jun 20, 2012 at 02:04:52PM +0200, Eric Dumazet wrote:
    > On Wed, 2012-06-20 at 12:44 +0100, Mel Gorman wrote:
    > > Commit [bad43ca8: net: introduce skb_try_coalesce()] introduced an
    > > optimisation to coalesce skbs to reduce memory usage and cache line
    > > misses. In the case where the socket is used for swapping this can result
    > > in a warning like the following.
    > >
    > > [ 110.476565] nbd0: page allocation failure: order:0, mode:0x20
    > > [ 110.476568] Pid: 2714, comm: nbd0 Not tainted 3.5.0-rc2-swapnbd-v12r2-slab #3
    > > [ 110.476569] Call Trace:
    > > [ 110.476573] [<ffffffff811042d3>] warn_alloc_failed+0xf3/0x160
    > > [ 110.476578] [<ffffffff81107c92>] __alloc_pages_nodemask+0x6e2/0x930
    > >
    > > <SNIP
    > >
    >
    >
    > This makes absolutely no sense to me.
    >
    > This patch changes input path, while your stack trace is about output
    > path and a packet being fragmented.
    >

    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.

    Thanks.

    --
    Mel Gorman
    SUSE Labs


    \
     
     \ /
      Last update: 2012-06-20 16:21    [W:0.023 / U:62.520 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site