CFT: msk(4) 64bit DMA support

YongHyeon PYUN pyunyh at gmail.com
Wed Jun 22 02:41:39 UTC 2011


On Sun, Jun 05, 2011 at 02:23:57PM -0400, David Schultz wrote:
> 85;95;0cOn Thu, May 26, 2011, YongHyeon PYUN wrote:
> > Here is a patch that implements 64bit DMA on msk(4). If you use
> > msk(4) on a system that has more than 4GB memory, please try the
> > patch at the following URL and let me know whether it works or not.
> > You need latest msk(4) in HEAD to apply the patch.
> > http://people.freebsd.org/~yongari/msk/msk.64bit.dma.diff
> > 
> > Previously msk(4) may have used bounce buffers on systems that have
> > more than 4GB memory. You can verify whether msk(4) is using bounce
> > buffers by checking the output of "sysctl hw.busdma". For instance,
> > hw.busdma.zone0.total_bounced counter would increase while network
> > operation is in progress.  If patch above works you wouldn't see
> > the counter change anymore and it would also enhance network
> > performance since it wouldn't have to copy from or to bounce
> > buffers.
> 

Sorry for late reply.

> After applying this patch, I still see total_bounced increasing:
> 	hw.busdma.zone0.total_bounced: 441
> 

Hmm, I guess it could be caused by other drivers in the system. Can
you verify whether all other drivers in the system use 64bit DMA?
I think just testing msk(4) with netperf/iperf will make it clear
(i.e. no disk access).

> Note that I have MSI disabled to work around some issues with the
> card becoming wedged:
> 	hw.pci.enable_msix=0
> 	hw.pci.enable_msi=0
> 

MSI has nothing to do with 64bit DMA.

> Possibly relevant bits of dmesg:
> 
> FreeBSD 9.0-CURRENT #4 r222717M: Sun Jun  5 12:27:07 EDT 2011
> CPU: Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz (3000.06-MHz K8-class CPU)
>   Origin = "GenuineIntel"  Id = 0x10676  Family = 6  Model = 17  Stepping = 6
>   Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
>   Features2=0x8e3fd<SSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1>
>   AMD Features=0x20100800<SYSCALL,NX,LM>
>   AMD Features2=0x1<LAHF>
>   TSC: P-state invariant, performance statistics
> real memory  = 8589934592 (8192 MB)
> avail memory = 8246677504 (7864 MB)
> Event timer "LAPIC" quality 400
> ACPI APIC Table: <IntelR AWRDACPI>
> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
> FreeBSD/SMP: 1 package(s) x 2 core(s)
> ioapic0: Changing APIC ID to 4
> ioapic0 <Version 2.0> irqs 0-23 on motherboard
> mskc0: <Marvell Yukon 88E8053 Gigabit Ethernet> port 0xae00-0xaeff mem 0xfdefc000-0xfdefffff irq 17 at device 0.0 on pci4
> msk0: <Marvell Technology Group Ltd. Yukon EC Id 0xb6 Rev 0x02> on mskc0
> msk0: Ethernet address: 00:01:29:a3:3c:a3
> miibus0: <MII bus> on msk0
> e1000phy0: <Marvell 88E1111 Gigabit PHY> PHY 0 on miibus0
> e1000phy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto, auto-flow
> msk0: link state changed to UP


More information about the freebsd-current mailing list