Contigmalloc regression seen on latest 7.x and 8.x branches

Hans Petter Selasky hselasky at freebsd.org
Mon Jun 29 17:55:03 UTC 2009


Hi,

I know there has been some changes in the contigmalloc area this year. It 
appears to me like if a bug has sneaked in. My PCI driver is trying to 
allocate 32K aligned to 32K. I've added some debug prints to isolate the 
failing case:

contigmalloc: size=0x00008000, flag=2, low=0x00000000 high=0xffffffff 
alignment=0x00008000 boundary=0x00000000
contigmalloc: ret=0xe5af2000
bus_dmamem_alloc failed to align memory properly.

> uname -a
FreeBSD xxxx 8.0-CURRENT FreeBSD 8.0-CURRENT #3: Mon Jun 29 18:43:03 CEST 2009     
xxx at xxx:/usr/obj/usr/8-current/src/sys/custom  i386

It should be quite trivial to reproduce. Simply make a KLD that calls 
contigmalloc() with the parameters given above.

Anyone have any patches?

--HPS


More information about the freebsd-current mailing list