On 06/07/2012 05:49 AM, Roman Kagan wrote:
> [Upstream commit 31c15a2f24ebdab14333d9bf5df49757842ae2ec with paths
> adjusted to compensate for the drivers/net/ethernet/intel reorg in
> dee1ad47f2ee75f5146d83ca757c1b7861c34c3b]
>
> Author: Dean Nelson <[email protected]>
> Date:   Thu Aug 25 14:39:24 2011 +0000
>
>     e1000: save skb counts in TX to avoid cache misses
>
>     Virtual Machines with emulated e1000 network adapter running on Parallels'
>     server were seeing kernel panics due to the e1000 driver dereferencing an
>     unexpected NULL pointer retrieved from buffer_info->skb.
>
>     The problem has been addressed for the e1000e driver, but not for the 
> e1000.
>     Since the two drivers share similar code in the affected area, a port of 
> the
>     following e1000e driver commit solves the issue for the e1000 driver:
>
>     commit 9ed318d546a29d7a591dbe648fd1a2efe3be1180
>     Author: Tom Herbert <[email protected]>
>     Date:   Wed May 5 14:02:27 2010 +0000
>
>         e1000e: save skb counts in TX to avoid cache misses
>
>         In e1000_tx_map, precompute number of segements and bytecounts which
>         are derived from fields in skb; these are stored in buffer_info.  When
>         cleaning tx in e1000_clean_tx_irq use the values in the associated
>         buffer_info for statistics counting, this eliminates cache misses
>         on skb fields.
>
>     Signed-off-by: Dean Nelson <[email protected]>
>     Acked-by: Jeff Kirsher <[email protected]>
>     Signed-off-by: David S. Miller <[email protected]>
> Signed-off-by: Roman Kagan <[email protected]>
> ---
>  drivers/net/e1000/e1000.h      |    2 ++
>  drivers/net/e1000/e1000_main.c |   18 +++++++++---------
>  2 files changed, 11 insertions(+), 9 deletions(-)
Thanks! I have applied the patch to my queue

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to