Messages in this thread | | | Subject | Re: [PATCH 10 of 20] ipath - support for userspace apps using core driver | From | Bryan O'Sullivan <> | Date | Thu, 16 Mar 2006 08:52:30 -0800 |
| |
On Wed, 2006-03-15 at 21:38 -0800, Andrew Morton wrote:
> You need to decide who "owns" these pages. Once that's decided, it tells > you who should release them.
OK, I've made some interesting progress here.
The driver is now doing all of its allocations of DMAable memory using dma_alloc_coherent. We do a get_page right after the allocation in every case, and a put_page right before the free. In the cases where I'm allocating memory that I know or think might be greater than a page in size, I'm using __GFP_COMP.
The nopage handler always does a get_page.
We now have a rational-looking set of VM_* flags, instead of a random heap of whatever seemed to work. And we're not touching PG_reserved.
And now everything works. I have yet to examine /proc/meminfo in microscopic detail after 100,000 runs to be sure we don't have a leak of some kind, but I no longer get oopses or crashes after 20 repeated runs, where before I didn't survive even one.
Whew! What a relief.
Hugh, Andrew, Linus and Roland: thanks very much. This has been a tremendous help.
<b
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |