netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: poma <pomidorabelisima@gmail.com>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: David Miller <davem@davemloft.net>, netdev@vger.kernel.org
Subject: Re: [PATCH net] skge: dma_sync the whole receive buffer
Date: Mon, 19 Aug 2013 02:49:32 +0200	[thread overview]
Message-ID: <52116B9C.8050003@gmail.com> (raw)
In-Reply-To: <20130815084117.2f48fc58@nehalam.linuxnetplumber.net>

On 15.08.2013 17:41, Stephen Hemminger wrote:
> On Wed, 14 Aug 2013 20:29:06 +0200
> poma <pomidorabelisima@gmail.com> wrote:
> 
>> On 14.08.2013 18:20, Stephen Hemminger wrote:
>>> On Wed, 14 Aug 2013 12:20:03 +0200
>>> poma <pomidorabelisima@gmail.com> wrote:
>>>
>>>> On 14.08.2013 03:00, Stephen Hemminger wrote:
>>>>> On Tue, 13 Aug 2013 15:09:55 -0700 (PDT)
>>>>> David Miller <davem@davemloft.net> wrote:
>>>>>
>>>>>> From: Stephen Hemminger <stephen@networkplumber.org>
>>>>>> Date: Sat, 10 Aug 2013 15:02:07 -0700
>>>>>>
>>>>>>> The DMA sync should sync the whole receive buffer, not just
>>>>>>> part of it. Fixes log messages dma_sync_check.
>>>>>>>
>>>>>>> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>>>>>>
>>>>>> Applied, but I really suspect that your "check DMA mapping errors"
>>>>>> patch has added a serious regression.  A regression much worse than
>>>>>> the bug you were trying to fix with that change.
>>>>>
>>>>> Argh. The problem is deeper than that. Device got broken somewhere between
>>>>> 3.2 and 3.4. My old Dlink card works on 3.2 but gets DMA errors on 3.4.
>>>>> The config's are different though so checking that as well.
>>>>>
>>>>
>>>> Can I help you with debugging?
>>>> DGE-530T is rather solid device.
>>>
>>> Don't think it is a hardware problem.
>>> The failure is when the board access the Receive ring PCI memory area.
>>> This region is allocated with pci_alloc_consistent and therefore should
>>> be available. Two possible issues are driver math issues, or hardware
>>> problems with where the region is located. Some of these cards don't
>>> really have full 64 bit PCI support.
>>>
>>> My board is:
>>> 05:01.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter (rev 11)
>>> 	Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter
>>> 	Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 18
>>> 	Memory at f7d20000 (32-bit, non-prefetchable) [size=16K]
>>> 	I/O ports at c000 [size=256]
>>> 	Expansion ROM at f7d00000 [disabled] [size=128K]
>>> 	Capabilities: [48] Power Management version 2
>>> 	Capabilities: [50] Vital Product Data
>>> 	Kernel driver in use: skge
>>>
>>>
>>> What is your config?
>>>
>>
>> 01:09.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
>> (rev 11)
>> 	Subsystem: D-Link System Inc DGE-530T Gigabit Ethernet Adapter
>> 	Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 19
>> 	Memory at fbffc000 (32-bit, non-prefetchable) [size=16K]
>> 	I/O ports at b400 [size=256]
>> 	[virtual] Expansion ROM at ec000000 [disabled] [size=128K]
>> 	Capabilities: [48] Power Management version 2
>> 	Capabilities: [50] Vital Product Data
>> 	Kernel driver in use: skge
>>
>>
>> poma
>>
> 
> In the course of debugging this, I moved the card to another slot
> and all the problems went away. I suspect either card insertion or more likely
> the crap consumer motherboards don't have full PCI support on some slots.
> 
> There doesn't seem to be anyway to address this in software.
> 


DGE-530T is further tested in the 3 available slots:
01:06.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
(rev 11)
01:07.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
(rev 11)
01:08.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
(rev 11)
And the result is the same as in the slot:
01:09.0 Ethernet controller: D-Link System Inc Gigabit Ethernet Adapter
(rev 11)
warnings, oopses and kernel crashes.

However DGE-528T(RTL8110s) on the same bus runs without errors:
01:09.0 Ethernet controller: D-Link System Inc DGE-528T Gigabit Ethernet
Adapter (rev 10)
	Subsystem: D-Link System Inc DGE-528T Gigabit Ethernet Adapter
	Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 19
	I/O ports at cc00 [size=256]
	Memory at fbfff000 (32-bit, non-prefetchable) [size=256]
	[virtual] Expansion ROM at fbe00000 [disabled] [size=128K]
	Capabilities: [dc] Power Management version 2
	Kernel driver in use: r8169

Besides comparing the behavior of these two cards, e.g. NFS upload, I
noticed an obvious difference in the data flow.
Via DGE-528T transmission is steady, while via DGE-530T the traffic is
at times interrupted and unstable.
So it seems that the "WARNING: at lib/dma-debug.c:937 check_unmap…"
isn't just a fun.


poma

  parent reply	other threads:[~2013-08-19  0:49 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-05  0:22 [PATCH net] skge: add dma_mapping check Stephen Hemminger
2013-08-05  1:35 ` David Miller
2013-08-05  3:40   ` [PATCH net] skge: fix build on 32 bit Stephen Hemminger
2013-08-05  6:37     ` David Miller
2013-08-10 11:51   ` [PATCH net] skge: add dma_mapping check poma
2013-08-10 17:41     ` Stephen Hemminger
2013-08-10 20:29       ` David Miller
2013-08-10 22:02         ` [PATCH net] skge: dma_sync the whole receive buffer Stephen Hemminger
2013-08-11  4:23           ` poma
2013-08-13 22:09           ` David Miller
2013-08-13 22:20             ` Stephen Hemminger
2013-08-14  1:00             ` Stephen Hemminger
2013-08-14 10:20               ` poma
2013-08-14 16:20                 ` Stephen Hemminger
2013-08-14 18:29                   ` poma
2013-08-15 15:41                     ` Stephen Hemminger
2013-08-16 14:36                       ` poma
2013-08-19  0:49                       ` poma [this message]
2013-08-20  3:28                         ` poma
2013-08-21 16:04                           ` poma
2013-08-22  0:40                             ` Greg KH
2013-08-22  3:30                               ` poma
2013-08-22  4:00                                 ` Greg KH
2013-08-22 14:46                                   ` poma
2013-08-22  4:08                                 ` Stephen Hemminger

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=52116B9C.8050003@gmail.com \
    --to=pomidorabelisima@gmail.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    --cc=stephen@networkplumber.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).