Re: locking user memory and kiobuf

Jeff Garzik (jgarzik@mandrakesoft.com)
Mon, 08 Nov 1999 11:27:26 -0500


"Tony E. Bennett" wrote:
> kiobuf sounds perfect for a problem we have. Currently I use mmap() to map
> pages from __get_free_pages() into user space for dma. This is not totally
> satisfactory, tho, in part because the resulting group of pages is not mapped
> contiguously into kernel.

This is a question I still have unanswered: Does map_user_kiobuf indeed
map the VM into a _contiguous_ region of physical memory?

Note struct kiobuf includes an array of pages which causes some of my
confusion. Is it legal/possible to do:

/* maps in four pages for read/write access */
err = map_user_kiobuf (WRITE, iobuf, (ulong) vmaddr, PAGE_SIZE * 4);

/* manipulate data in chunks greater than PAGE_SIZE */
phys = page_address(iobuf->maplist[0]);
memcpy (foo, phys, PAGE_SIZE * 4);

> Since we're going to ship a driver to customers, we can't use kiobuf unless
> it is standard part of the kernel.
>
> So, has kiobuf been accepted into the kernel proper or will it be a patch
> for the forseeable future?

Yes, it is in the current 2.3.x series

-- 
Jeff Garzik              | Just once, I wish we would encounter
Building 1024            | an alien menace that wasn't immune to
MandrakeSoft, Inc.       | bullets.   -- The Brigadier, "Dr. Who"

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/