public inbox for netdev@vger.kernel.org 
 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: 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

  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