Messages in this thread | | | Date | Mon, 13 Feb 2012 10:57:37 +0100 | Subject | Re: ixgbe truesize underestimation fix missing? | From | Christian Brunner <> |
| |
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() ?
Thanks, Christian -- 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/
| |