summaryrefslogtreecommitdiff
path: root/mm
diff options
context:
space:
mode:
authorDean Nelson <dnelson@redhat.com>2011-08-25 14:39:24 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-06-17 11:23:12 -0700
commit52f81dc563e58bfbd22f1b0e2037da855a26b995 (patch)
treead7639a67063f73d48f9a5be9e990e3c91790ac5 /mm
parent6140710c5dba509a20b26dfe38b58f40baf2a2c8 (diff)
e1000: save skb counts in TX to avoid cache misses
commit 31c15a2f24ebdab14333d9bf5df49757842ae2ec upstream. 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 <therbert@google.com> 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 <dnelson@redhat.com> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Roman Kagan <rkagan@parallels.com>
Diffstat (limited to 'mm')
0 files changed, 0 insertions, 0 deletions