FreeBSD cache memory allocation

John Baldwin jhb at freebsd.org
Thu Nov 15 07:41:50 PST 2007


On Wednesday 14 November 2007 04:02:05 pm icantthinkofone wrote:
> 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?

It's a lacking feature in FreeBSD.

-- 
John Baldwin


More information about the freebsd-hackers mailing list