RE: Getting/Forcing Greater than 4KB Buffer Allocations

From: David Christensen <davidch_at_broadcom.com>
Date: Wed, 18 Jul 2007 11:30:33 -0700
> > I'm investigating a problem with my bce driver which occurs 
> when I ask
> > for a jumbo
> > mbuf cluster (through m_cljget()).  When I map the memory for DMA I
> > normally 
> > get 3 memory segments (4KB + 4KB + 1KB) on my system, but on another
> > user's 
> > system he's seeing 2 memory segments (8KB + 1KB).  Is there a
> > configuration
> > option that allows this or some other tuning variable involved?  The
> > system is a 
> > Xeon dual-core processor and has 8GB of RAM, running an 
> AMD64 version of
> > the kernel.
> 
> Is this an issue?  If it is, you need to fix your bus_dma_tag_create
> calls to set the segment size and count properly.  bus_dma will get
> you exactly what you ask for, and your driver needs to tell bus_dma
> what it can and cannot handle.
> 

I believe my code can handle this correctly but you never know for sure
until you're able to test it.  Are you saying that I can tell bus_dma 
that I can only handle 2 segments and essentially force this scenario?
Could I force more segments to test a maximum value too?

Dave
Received on Wed Jul 18 2007 - 16:30:45 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:14 UTC