lkml.org 
[lkml]   [2007]   [Nov]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: 2.6.24-rc2: Network commit causes SLUB performance regression with tbench
    Date
    On Wednesday 14 November 2007 22:48, Herbert Xu wrote:
    > On Wed, Nov 14, 2007 at 03:10:22AM -0800, David Miller wrote:
    > > So the thing that's being effected here in TCP is
    > > net/ipv4/tcp.c:select_size(), specifically the else branch:
    >
    > Thanks for the pointer. Indeed there is a bug in that area.
    > I'm not sure whether it's causing the problem at hand but it's
    > certainly suboptimal.
    >
    > [TCP]: Fix size calculation in sk_stream_alloc_pskb

    This looks like it fixes the problem!

    Still interested to know why SLAB didn't see the same thing...


    > We round up the header size in sk_stream_alloc_pskb so that
    > TSO packets get zero tail room. Unfortunately this rounding
    > up is not coordinated with the select_size() function used by
    > TCP to calculate the second parameter of sk_stream_alloc_pskb.
    >
    > As a result, we may allocate more than a page of data in the
    > non-TSO case when exactly one page is desired.
    >
    > In fact, rounding up the head room is detrimental in the non-TSO
    > case because it makes memory that would otherwise be available to
    > the payload head room. TSO doesn't need this either, all it wants
    > is the guarantee that there is no tail room.
    >
    > So this patch fixes this by adjusting the skb_reserve call so that
    > exactly the requested amount (which all callers have calculated in
    > a precise way) is made available as tail room.
    >
    > Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    >
    > Cheers,
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-11-14 13:07    [W:3.011 / U:0.332 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site