On Thursday, July 15, 2010 6:28:53 am kalash nainwal wrote: > Hi, > > I want to allocate one (or more) pages in kernel space. > I'm not sure what is the api in freebsd (something which > is similar to __get_free_pages() of linux). > > Would malloc(4096, ...) guarantee that the returned > address is aligned on page boundary?
Well, malloc(PAGE_SIZE) will align it on a page boundary. :) malloc(4096) will be aligned on a 4096-byte boundary if PAGE_SIZE is >= 4096. My understanding is that objects returned from malloc() are aligned to the smallest power-of-2 value >= the requested size up to a page. Allocations larger than a page are page aligned. So a malloc of 24 bytes or 32 bytes is 32-byte aligned for example. -- John Baldwin _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"