On Dec 9, 2005, at 2:37 PM, Hugh Dickins wrote:
On Fri, 9 Dec 2005, Mark Rustad wrote:
If hugetlbfs could be guaranteed to provide contiguous memory for
a file, that
could be used in this application. We used to use remap_pfn_range
in our
driver, but recent changes there made that not work for this
application, so I
You're not the only one to have trouble with recent remap_pfn_range
changes.
Would you let us know what you were doing, that you can no longer do?
Some of the change may need to be reverted.
Well, our driver had been allocating two 320MB and one 128MB range of
memory, each of the three being contiguous. These were allocated by
allocating lots of 1MB groups of pages until we got a contiguous
range, then the unneeded pages were freed.
These areas were then mapped into the application with
remap_pfn_range. We have been running on a SuSE kernel derived from
2.6.5 for a long time where this worked fine, even for gdb to access
during debugging. Now that we are moving to a more current kernel,
changes were needed mainly to allow gdb to access these shared memory
areas.
I had messed with simply taking the large memory by restricting the
kernel's memory range with mem=, but gdb still can't get to the pages
because it believes that they are for I/O (there would be no struct
page in that case).
Given the situation, using hugepages seemed more attractive anyway,
so I just decided to go that way and specify hugepages=192 on the
kernel command line.
We also have a single page shared between our processes and the
driver, but we now use the new insert_single_page call for that,
which works nicely. It seemed to me that calling that for the each of
the single pages in our 768M of shared memory was silly, so I went
the hugepage route, and that proved to be less trouble than I had
expected. I feel like things now are really where they should have
been all along.
--
Mark Rustad, [email protected]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]