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: Tue, 20 Aug 2013 05:28:09 +0200 [thread overview]
Message-ID: <5212E249.2050203@gmail.com> (raw)
In-Reply-To: <52116B9C.8050003@gmail.com>
On 19.08.2013 02:49, poma wrote:
> 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.
>
In support of the validity of the device I made a test with the
2.6.32-358.14.1.el6.x86_64.debug kernel.
And everything worked as it should.
01:08.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 18
Memory at fbff8000 (32-bit, non-prefetchable) [size=16K]
I/O ports at cc00 [size=256]
[virtual] Expansion ROM at fbe00000 [disabled] [size=128K]
Capabilities: [48] Power Management version 2
Capabilities: [50] Vital Product Data
Kernel driver in use: skge
Kernel modules: skge
filename:
/lib/modules/2.6.32-358.14.1.el6.x86_64.debug/kernel/drivers/net/skge.ko
version: 1.13
license: GPL
author: Stephen Hemminger <shemminger@linux-foundation•org>
description: SysKonnect Gigabit Ethernet driver
srcversion: ADF6781C2E0D2D895F86279
alias: pci:v00001737d00001032sv*sd00000015bc*sc*i*
alias: pci:v00001737d00001064sv*sd*bc*sc*i*
alias: pci:v00001371d0000434Esv*sd*bc*sc*i*
alias: pci:v000011ABd00005005sv*sd*bc*sc*i*
alias: pci:v000011ABd00004320sv*sd*bc*sc*i*
alias: pci:v00001186d00004B01sv*sd*bc*sc*i*
alias: pci:v00001186d00004C00sv*sd*bc*sc*i*
alias: pci:v00001148d00004320sv*sd*bc*sc*i*
alias: pci:v00001148d00004300sv*sd*bc*sc*i*
alias: pci:v000010B7d000080EBsv*sd*bc*sc*i*
alias: pci:v000010B7d00001700sv*sd*bc*sc*i*
depends:
vermagic: 2.6.32-358.14.1.el6.x86_64.debug SMP mod_unload modversions
parm: debug:Debug level (0=none,...,16=all) (int)
Given all the tests and all written, something isn't right, at all.
Should I quote Shakespeare. :)
poma
next prev parent reply other threads:[~2013-08-20 3:28 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
2013-08-20 3:28 ` poma [this message]
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=5212E249.2050203@gmail.com \
--to=pomidorabelisima@gmail$(echo .)com \
--cc=davem@davemloft$(echo .)net \
--cc=netdev@vger$(echo .)kernel.org \
--cc=stephen@networkplumber$(echo .)org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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