netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@linux-foundation.org>
To: Michael Breuer <mbreuer@majjas.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	"Berck E. Nash" <flyboy@gmail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	netdev@vger.kernel.org
Subject: Re: sky2 panic in 2.6.32.1 under load (new oops)
Date: Tue, 29 Dec 2009 09:30:23 -0800	[thread overview]
Message-ID: <20091229093023.3ad24786@nehalam> (raw)
In-Reply-To: <4B37B7E2.5070307@majjas.com>

There could be DMA problems, either because chip isn't remembering
upper address, or because of lack of wires from chip to memory controller;
there have been problems on motherboards where I/O devices couldn't access
all of memory.

Try this, it forces each transmit to have full 64 bit address. It drops an
optimization that was done to reduce the number of transmit descriptors
used.

--- a/drivers/net/sky2.c	2009-12-29 09:23:37.114074275 -0800
+++ b/drivers/net/sky2.c	2009-12-29 09:26:38.699912035 -0800
@@ -1038,10 +1038,11 @@ static void tx_init(struct sky2_port *sk
 	sky2->tx_tcpsum = 0;
 	sky2->tx_last_mss = 0;
 
-	le = get_tx_le(sky2, &sky2->tx_prod);
-	le->addr = 0;
-	le->opcode = OP_ADDR64 | HW_OWNER;
-	sky2->tx_last_upper = 0;
+	if (sizeof(dma_addr_t) == sizeof(u32)) {
+		le = get_tx_le(sky2, &sky2->tx_prod);
+		le->addr = 0;
+		le->opcode = OP_ADDR64 | HW_OWNER;
+	}
 }
 
 /* Update chip's next pointer */
@@ -1669,10 +1670,9 @@ static netdev_tx_t sky2_xmit_frame(struc
 
 	/* Send high bits if needed */
 	upper = upper_32_bits(mapping);
-	if (upper != sky2->tx_last_upper) {
+	if (sizeof(mapping) > sizeof(u32)) {
 		le = get_tx_le(sky2, &slot);
 		le->addr = cpu_to_le32(upper);
-		sky2->tx_last_upper = upper;
 		le->opcode = OP_ADDR64 | HW_OWNER;
 	}
 
@@ -1762,10 +1762,9 @@ static netdev_tx_t sky2_xmit_frame(struc
 			goto mapping_unwind;
 
 		upper = upper_32_bits(mapping);
-		if (upper != sky2->tx_last_upper) {
+		if (sizeof(mapping) > sizeof(u32)) {
 			le = get_tx_le(sky2, &slot);
 			le->addr = cpu_to_le32(upper);
-			sky2->tx_last_upper = upper;
 			le->opcode = OP_ADDR64 | HW_OWNER;
 		}
 
--- a/drivers/net/sky2.h	2009-12-29 09:23:37.164072886 -0800
+++ b/drivers/net/sky2.h	2009-12-29 09:25:15.302197993 -0800
@@ -2191,7 +2191,6 @@ struct sky2_port {
 
 	u16		     tx_pending;
 	u16		     tx_last_mss;
-	u32		     tx_last_upper;
 	u32		     tx_tcpsum;
 
 	struct rx_ring_info  *rx_ring ____cacheline_aligned_in_smp;

  reply	other threads:[~2009-12-29 17:30 UTC|newest]

Thread overview: 140+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4B300A2A.8040305@gmail.com>
2009-12-24  6:58 ` sky2 panic in 2.6.32.1 under load Andrew Morton
2009-12-24 16:03   ` Berck Nash
2009-12-24 16:28     ` Daniel Hazelton
2009-12-24 22:21       ` Stephen Hemminger
2009-12-24 22:42         ` Michael Breuer
2009-12-25  0:06           ` Daniel Hazelton
2009-12-24 16:10   ` Michael Breuer
2009-12-24 16:16     ` Berck Nash
2009-12-24 16:26       ` Michael Breuer
     [not found] ` <4B300E30.9090707@majjas.com>
     [not found]   ` <4B3114E3.1070602@majjas.com>
     [not found]     ` <4B329FA3.9090904@majjas.com>
2009-12-24  7:01       ` sky2 panic in 2.6.32.1 under load (new oops) Andrew Morton
2009-12-24 19:18         ` Michael Breuer
2009-12-24 22:27           ` Stephen Hemminger
2009-12-25 16:28         ` Michael Breuer
2009-12-25 23:22           ` Stephen Hemminger
2009-12-26  3:23             ` Michael Breuer
2009-12-26 17:57               ` Stephen Hemminger
2009-12-26 20:37                 ` Michael Breuer
2009-12-26 22:05                   ` [PATCH] sky2: make sure ethernet header is in transmit skb Stephen Hemminger
2009-12-27  3:44                     ` David Miller
2009-12-27  4:11                       ` David Miller
2010-01-04  5:32                         ` David Miller
2010-01-04 16:40                           ` Stephen Hemminger
2010-01-04 17:02                             ` Michael Breuer
2010-01-05 23:07                         ` [PATCH] af_packet: Don't use skb after dev_queue_xmit() Jarek Poplawski
2010-01-05 23:16                           ` Michael Breuer
2010-01-05 23:29                             ` Jarek Poplawski
2010-01-06  2:36                           ` Michael Breuer
2010-01-06  7:22                             ` Jarek Poplawski
2010-01-06  9:15                               ` [PATCH alt.2] " Jarek Poplawski
2010-01-06 14:49                                 ` Stephen Hemminger
2010-01-06 19:40                                   ` Jarek Poplawski
2010-01-06 19:49                               ` [PATCH] " Michael Breuer
2010-01-06 20:22                                 ` Jarek Poplawski
2010-01-06 20:33                                   ` Michael Breuer
2010-01-06 21:09                                     ` Jarek Poplawski
2010-01-06 21:32                                       ` Michael Breuer
2010-01-06 21:10                                 ` Stephen Hemminger
2010-01-06 21:20                                   ` Michael Breuer
2010-01-06 23:26                                   ` Michael Breuer
2010-01-07  2:42                                     ` Michael Breuer
2010-01-07  4:00                                       ` Michael Breuer
2010-01-07  4:53                                         ` Stephen Hemminger
2010-01-07  5:10                                           ` Michael Breuer
2010-01-07  5:32                                           ` Michael Breuer
2010-01-07  5:54                                             ` Michael Breuer
2010-01-07  7:20                                               ` Michael Breuer
2010-01-07  7:47                                                 ` Jarek Poplawski
2010-01-07  7:55                                                   ` Michael Breuer
2010-01-07  8:21                                                     ` Jarek Poplawski
2010-01-07 15:03                                                       ` Michael Breuer
2010-01-07 17:56                                                         ` Jarek Poplawski
2010-01-07 18:17                                                           ` Jarek Poplawski
2010-01-07 15:05                                                     ` Michael Breuer
2010-01-07 18:01                                                       ` Jarek Poplawski
2010-01-07 18:19                                                         ` Michael Breuer
2010-01-07 18:35                                                           ` Jarek Poplawski
2010-01-07 18:40                                                             ` Michael Breuer
2010-01-07 18:43                                                             ` Michael Breuer
2010-01-07 18:50                                                               ` Jarek Poplawski
2010-01-07 19:36                                                                 ` Jarek Poplawski
2010-01-07 19:55                                                                   ` Michael Breuer
2010-01-07 20:22                                                                     ` Jarek Poplawski
2010-01-07 23:11                                                                 ` Michael Breuer
2010-01-08  7:45                                                                   ` Jarek Poplawski
2010-01-08 16:40                                                                     ` Michael Breuer
2010-01-08 21:29                                                                       ` Jarek Poplawski
2010-01-08 21:48                                                                         ` Michael Breuer
2010-01-08 22:02                                                                           ` Jarek Poplawski
2010-01-09  4:45                                                                           ` Michael Breuer
2010-01-09  5:44                                                                             ` Michael Breuer
2010-01-09 12:28                                                                             ` Jarek Poplawski
2010-01-09 18:34                                                                               ` Michael Breuer
2010-01-13 20:39                                                                                 ` Michael Breuer
2010-01-13 21:09                                                                                   ` Jarek Poplawski
2010-01-13 21:16                                                                                     ` Michael Breuer
2010-01-13 21:34                                                                                       ` Jarek Poplawski
2010-01-17 16:26                                                                                       ` Michael Breuer
2010-01-17 22:17                                                                                         ` Jarek Poplawski
2010-01-17 22:34                                                                                           ` Michael Breuer
2010-01-17 23:05                                                                                             ` Jarek Poplawski
2010-01-17 23:15                                                                                               ` Michael Breuer
2010-01-18  7:30                                                                                                 ` Jarek Poplawski
2010-01-18 16:29                                                                                                   ` Michael Breuer
2010-01-18 20:46                                                                                                     ` Jarek Poplawski
2010-01-18 20:56                                                                                                       ` Michael Breuer
2010-01-18 21:00                                                                                                         ` Stephen Hemminger
2010-01-18 21:06                                                                                                           ` Jarek Poplawski
2010-01-18 21:24                                                                                                           ` Michael Breuer
2010-01-18 21:50                                                                                                             ` Jarek Poplawski
2010-01-18 21:25                                                                                                         ` Jarek Poplawski
2010-01-18 21:39                                                                                                           ` Michael Breuer
2010-01-18 22:08                                                                                                             ` Jarek Poplawski
2010-01-18 22:17                                                                                                               ` Jarek Poplawski
2010-01-18 22:47                                                                                                                 ` Michael Breuer
2010-01-19  5:46                                                                                                                   ` Michael Breuer
2010-01-19  8:41                                                                                                                     ` Jarek Poplawski
2010-01-19 15:28                                                                                                                       ` Michael Breuer
2010-01-21 19:48                                                                                                                       ` Michael Breuer
2010-01-19 10:47                                                                                                                     ` Jarek Poplawski
2010-01-19 15:47                                                                                                                       ` Michael Breuer
2010-01-19 19:59                                                                                                                         ` Jarek Poplawski
2010-01-19 20:06                                                                                                                           ` Michael Breuer
2010-01-19 20:29                                                                                                                             ` Jarek Poplawski
2010-01-19 22:45                                                                                                                             ` Jarek Poplawski
2010-01-20  1:01                                                                                                                               ` Michael Breuer
2010-01-20  1:10                                                                                                                                 ` Stephen Hemminger
2010-01-21 16:14                                                                                                                                   ` Stefan Richter
2010-01-21 16:50                                                                                                                                     ` Stefan Richter
2010-01-18 22:25                                                                                                               ` Michael Breuer
2010-01-18 22:40                                                                                                                 ` Jarek Poplawski
2009-12-27 17:03                   ` sky2 panic in 2.6.32.1 under load (new oops) Michael Breuer
2009-12-27 18:22                     ` Stephen Hemminger
2009-12-27 19:39                       ` Michael Breuer
2009-12-29 17:30                         ` Stephen Hemminger [this message]
2009-12-29 17:39                           ` Michael Breuer
2009-12-29 18:38                           ` Michael Breuer
2009-12-29 18:54                           ` Michael Breuer
2009-12-29 19:49                             ` Stephen Hemminger
2009-12-29 20:41                               ` Michael Breuer
2009-12-30  7:23                               ` Michael Breuer
2009-12-30  7:58                                 ` Stephen Hemminger
2009-12-30 17:49                                   ` Michael Breuer
2009-12-30 19:15                                     ` audit.c skb - tty race condition - was " Michael Breuer
2009-12-30 20:44                                       ` Michael Breuer
2009-12-30 21:15                                         ` Michael Breuer
2009-12-30 21:21                                           ` Michael Breuer
2009-12-30  7:59                                 ` Stephen Hemminger
2009-12-30 15:40                                   ` Michael Breuer
2009-12-30 18:10                                     ` Stephen Hemminger
2009-12-30 18:37                                       ` Michael Breuer
2009-12-31 18:09                                       ` Michael Breuer
2009-12-31 18:24                                         ` Stephen Hemminger
2010-01-01 17:42                                         ` Michael Breuer
2010-01-01 19:26                                           ` sky2 panic in 2.6.32.1 under load (tty NULL write) Michael Breuer
2010-01-01 20:34                                             ` Michael Breuer
2010-01-02 21:42                                               ` Michael Breuer
2009-12-29 19:15           ` sky2 panic in 2.6.32.1 under load (new oops) Jarek Poplawski
2009-12-29 19:20             ` Michael Breuer
2009-12-30  8:07         ` Stephen Hemminger
2009-12-30 15:36           ` Michael Breuer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091229093023.3ad24786@nehalam \
    --to=shemminger@linux-foundation.org \
    --cc=akpm@linux-foundation.org \
    --cc=flyboy@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mbreuer@majjas.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).