Mark Johnson writes:
 > 
 > 
 > Andrew Gallatin wrote:
 > > Mark Johnson writes:
 > >  > 
 > >  > 
 > >  > Andrew Gallatin wrote:
 > >  > > Masa Murayama writes:
 > >  > >  > Does anyone know whether large pages are available for solaris 
 > > x86? 
 > >  > >  > 
 > >  > >  > masa
 > >  > > 
 > >  > > On amd64, pagesize -a shows 4KB and 2MB pages are available.
 > >  > > Hey, 2MB pages might solve some problems for me! :)
 > >  > > 
 > >  > > How do I tell the kernel to use 2MB pages for things like kmem_alloc
 > >  > > and ddi_umem_alloc?  Or will I run into the same apparent
 > >  > > fragmentation problem that I have with allocating DMAable memory?
 > >  > 
 > >  > There isn't a way to allocate large pages from the
 > >  > kernel today, only from user applications.
 > > 
 > > Large pages are physically contiguous, though, right?  
 > 
 > Yes,  they have to be :-)
 > 
 > 
 > > I guess I'll
 > > need to see if I have more luck allocating them than allocating contig
 > > memory via ddi_dma_mem_alloc() on x86.  If so, I suppose I could
 > > allocate the memory in userspace, and then pin it via an ioctl.
 > 
 > a 512MB system is going to be a lot harder since memory
 > will fragment pretty fast.

This is sort of a small scale test case for what we expect the
customer to actually use (many gigs of ram, many gigs - epsilon 
used by these buffers).  

How can I help the kernel defrag it?  I've tried icky stuff like
kmem_alloc()'ing as much memory as I can get my hands on, sorting
it by physical address and freeing it.  No dice.

Drew

_______________________________________________
driver-discuss mailing list
driver-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to