RegistrationRegister/Submit ProposalContentSchedulePresentations Tutorials BOFS RelatedSponsorsVenue Travel FAQ ArchivesProceedingsPhotos 2005 2004 2003 2002 2001 2000 1999 ContactsInformationHome |
Ho Hum, yet another memory allocator. Do we need another dynamic per-cpu allocator?Ravikiran G Thirumalai (kiran.th@gmail.com)The linux kernel currently incorporates a minimalistic slab based dynamic per-cpu memory allocator. While the current allocator exists with some applications in the form of block layer statistics and network layer statistics, the current implementation has issues. Apart from the fact that it is not even guaranteed to be correct on all architectures, the current implementation is slow, fragments and does not do true node local allocation. A new per-cpu allocator has to be fast, work well with its static sibling, minimize fragmentation, co-exist with some arch specific tricks for per-cpu variables and get initialized early enough during boot up for some users like the slab subsystem. In this paper, we describe a new per-cpu allocator which addresses all issues mentioned above, along with possible uses of this allocator in cache friendly reference counters (bigrefs), slab head arrays and performance benefits due to these applications. |