FreeBSD cache memory allocation

icantthinkofone icantthinkofone at charter.net
Wed Nov 14 13:43:21 PST 2007


On Wednesday 14 November 2007 11:11:41 am Rob Belics wrote:
 > > Someone I can't stand said this about FreeBSD.  Though I know C, I 
don't
 > > know anything about this and would love to respond. My first 
thought was
 > > 'contigmalloc' but I'm not sure it's equivalent.
 > > [QUOTE]The kernel is really lacking some features. They need a 
method to
 > > set precise type of memory cache but BSD doesn't provide way to 
specify
 > > memory cache.
 > >
 > > For that reason MS has the beautiful
 > > MmAllocateContigousMemorySpecifyCache()[/QUOTE]

For kernel memory on i386 and amd64 in 6.3 and later you can use
pmap_change_attr() to adjust the caching mode of memory after you have
allocated it.   It is best used only with allocations that are a 
multiple of
the page size.

-- John Baldwin

I posted using the wrong email address above.

Apparently the person I was referring to was probably talking about he 
nvidia issue and I see you, John, are working on that pmap function.  
One question I have is whether nvidia got themselves into a bind (for 
lack of a better word) because they wrote their drive using Windows 
functions but now want FreeBSD to create kernel functions "just like 
Windows" rather than rewriting their own code.  Or is all this truly a 
lacking feature in FreeBSD?


More information about the freebsd-hackers mailing list