Drawback in linked list is that to malloc() a chunk ,memory allocator has to search the link list and then if that address is found, return it.. So why not use a binary tree to reduce the search-time ?
One of the questions asked by NVIDIA
http://www.careercup.com/question?id=9765724
Found a relevant article that discusses it here
If I’m understanding you correctly, check this link out:
Time complexity of memory allocation
Heap allocation can be done by representing free memory as a linked list, but any reasonably sophisticated memory manager will use something faster, such as the AVL tree mentioned in an answer in the question I posted. There is even an O(1) solution called TLSF (Two Level Segregated Fit), also mentioned in the answer.