Date: Sun, 22 Nov 2015 19:22:53 -0800 From: Mark Johnston <markj@FreeBSD.org> To: Svatopluk Kraus <skra@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r291142 - in head/sys: arm/arm arm64/arm64 mips/mips powerpc/powerpc x86/x86 Message-ID: <20151123032253.GA2084@raichu> In-Reply-To: <201511211955.tALJt18a052565@repo.freebsd.org> References: <201511211955.tALJt18a052565@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Nov 21, 2015 at 07:55:01PM +0000, Svatopluk Kraus wrote: > Author: skra > Date: Sat Nov 21 19:55:01 2015 > New Revision: 291142 > URL: https://svnweb.freebsd.org/changeset/base/291142 > > Log: > Fix BUS_DMA_MIN_ALLOC_COMP flag logic. When bus_dmamap_t map is being > created for bus_dma_tag_t tag, bounce pages should be allocated > only if needed. > > Before the fix, they were allocated always if BUS_DMA_COULD_BOUNCE flag > was set but BUS_DMA_MIN_ALLOC_COMP not. As bounce pages are never freed, > it could cause memory exhaustion when a lot of such tags together with > their maps were created. > > Note that there could be more maps in one tag by current design. > However BUS_DMA_MIN_ALLOC_COMP flag is tag's flag. It's set after > bounce pages are allocated. Thus, they are allocated only for first > tag's map which needs them. This appears to cause a hang with one of the re(4) interfaces in my workstation. I can use it to start an ssh session, but it quickly hits a point where it stops transmitting or receiving packets, and I need to reboot the system to recover. Interestingly, the other re(4) interface in this system works fine, but it drives a different card: working: re0@pci0:3:0:0: class=0x020000 card=0x85051043 chip=0x816810ec rev=0x09 hdr=0x00 vendor = 'Realtek Semiconductor Co., Ltd.' device = 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller' class = network subclass = ethernet non-working: re1@pci0:5:0:0: class=0x020000 card=0x816910ec chip=0x816910ec rev=0x10 hdr=0x00 vendor = 'Realtek Semiconductor Co., Ltd.' device = 'RTL8169 PCI Gigabit Ethernet Controller' class = network subclass = ethernet
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20151123032253.GA2084>