lkml.org 
[lkml]   [2012]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: ixgbe truesize underestimation fix missing?
    From
    Date
    Le lundi 13 février 2012 à 10:57 +0100, Christian Brunner a écrit :
    > 2012/2/13 Eric Dumazet <eric.dumazet@gmail.com>:
    > > Le lundi 13 février 2012 à 09:45 +0100, Christian Brunner a écrit :
    > >> Back in Oktober, there was a patch by Eric Dumazet for the ixgbe
    > >> driver to fix the skb truesize underestimation (commit
    > >> 98130646770db42cd14c44ba0d7f2d0eb8078820). It changed only one line in
    > >> ixgbe_main.c:
    > >>
    > >> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
    > >> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
    > >> @@ -1326,7 +1326,7 @@ static bool ixgbe_clean_rx_irq(struct
    > >> ixgbe_q_vector *q_vector,
    > >> skb->len += upper_len;
    > >> skb->data_len += upper_len;
    > >> - skb->truesize += upper_len;
    > >> + skb->truesize += PAGE_SIZE / 2;
    > >> } i++;
    > >>
    > >>
    > >> But when I look at the current code (3.2.5 or 3.3rc), skb->truesize is
    > >> still increased by the same value as skb->data_len.
    > >>
    > >> 1228 skb->data_len += frag_list_size;
    > >> 1229 skb->truesize += frag_list_size;
    > >>
    > >> Is it posible that there was a merge conflict, or am I missing something here?
    > >
    > > Maybe a problem in your local tree ?
    > >
    > > I can see proper fix in current tree.
    >
    > Ahh... Sorry. I Was looking at the wrong place -
    > ixgbe_transform_rsc_queue() has code that is quite similar.
    >
    > This however makes me wonder, why we are using "skb->len" for
    > increasing the frag_list_size, as skb->len might be smaller than
    > skb->truesize.
    >
    > Shouldn't we add a frag_list_truesize counter in ixgbe_transform_rsc_queue() ?

    Probably, but you should raise this discussion on netdev, not lkml, and
    based on net-next tree, as ixgbe_transform_rsc_queue() doesnt exist
    anymore ;)

    Note that in this case (RSC) truesize underestimation is small since
    typical segment size is very close to PAGE_SIZE/2



    --
    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: 2012-02-13 11:49    [W:0.024 / U:2.068 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site