CFT: msk(4) 64bit DMA support

David Schultz das at FreeBSD.ORG
Sun Jun 5 18:59:03 UTC 2011

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.
> 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.

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

Note that I have MSI disabled to work around some issues with the
card becoming wedged:

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
  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
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