Re: Implications of PG_locked and reference count in page structures....

Ignacio Vazquez-Abrams (ignacio@openservices.net)
Wed, 15 Aug 2001 12:04:34 -0400 (EDT)


On Wed, 15 Aug 2001, Michael Heinz wrote:

> I'm in the process of porting a driver to Linux. The author of the
> driver conveniently broke it into os-dependent and independent sections.
>
> One of the things in the "OS" dependent section is a routine to lock a
> section of memory presumably to be used for DMA.
>
> So, what I want to do is this: given a pointer to a previously
> kmalloc'ed block, and the length of that block, I want to (a) identify
> each page associated with the block and (b) lock each page. It appears
> that I can lock the page either by incrementing it's reference count, or
> by setting the PG_locked flag for the page.
>
> Which method is preferred? Is there another method I should be using
> instead?

Linux has seperate functionality for DMA transfers so you don't neccesarily
have to do all that. If you're _certain_ that the memory is going to be used
for DMA, then have a look at http://www.xml.com/ldd/chapter/book/ch13.html and
scroll down to the part that talks about DMA. In fact, if you're fairly new to
Linux drivers then I would suggest that you take a look at
http://www.xml.com/ldd/chapter/book/index.html.

-- 
Ignacio Vazquez-Abrams  <ignacio@openservices.net>

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