2001-11-21 05:05:43

by Douglas Gilbert

[permalink] [raw]
Subject: mmap-ing __get_free_pages(), order > 0

I'm trying to mmap a scatter gather list to the user space.
[The scatter gather list has the same lifetime as a
file descriptor to a device.] Each element of the scatter
gather list is obtained from __get_free_pages()
[typically order == 3].

In LDD2, Rubini & Corbett limit their "scullp" driver
example to order 0. There is a bit of arm waving in
the text (page 392) about some manipulation of page
counts being required when the order is > 0.

Could someone please elaborate what the rules are
(for the "nopage" callback)?
[The DEBUG_LRU_PAGE() at line 206 of page_alloc.c
disapproves of my attempts to date.]

Is there any driver out there that solves this
particular problem?

Doug Gilbert