Date: Fri, 25 Mar 2005 09:38:08 -0800 From: John-Mark Gurney <gurney_j@resnet.uoregon.edu> To: Andriy Tkachuk <andrit@ukr.net> Cc: freebsd-hackers@freebsd.org Subject: Re: contributing to fbsd Message-ID: <20050325173808.GS37984@funkthat.com> In-Reply-To: <006401c53128$e6c6d390$090210ac@BORJA> References: <006401c53128$e6c6d390$090210ac@BORJA>
next in thread | previous in thread | raw e-mail | index | archive | help
Andriy Tkachuk wrote this message on Fri, Mar 25, 2005 at 16:23 +0530: > Last time i was very interested in resource allocation stuff. > Bonwick's VMEM O(1) universal allocator appeared to be > very interesting: > http://www.usenix.org/event/usenix01/bonwick.html > as good as his cpu-wise magazines addition to > slab allocator which scales allocation on adding cpus. > Solaris use this approach. > > My question is: does folks interested in implementation > of this stuff in fbsd kernel? Yep, I am... and I have an implementation of vmem, but I haven't had much time to work on kmem_cache part of the problem.... > As I see now there is for example O(n) algorithm for > process IDs allocation... In linux it is addressed > using bit-mapping (as far as i understand). > In Oct 2003 there was topic in this list: > "Some mmap observations compared to Linux 2.6/OpenBSD" > in which allocation in mmap was discussed. > As it was appeared that fbsd use O(n) algorithm here compared > to Linux and OpenBSD. I don't know the presend state of this. > > Anyway as for me it looks very attractive to have > universal O(1) facility for allocation of any kernel resources > as well as on smp-configurations than using differend > adhoc's in different parts of kernel. > I seems to me, that Linux doesn't also use some > universal allocation approach but O(1) adhocs instead. > I may mistaken in this. > > What do you hackers thinks about this? I'm definately interested in it.. Though there is only so much time to do work, and other more immidately interesting problems keep popping up for me (locking gem, allowing ethernet packets to be unaligned, arm board for a private project, kqueue, etc.).. If you're interested, I can send you a copy of the code... It's a bare implementation with some basic regression tests performed.... It doesn't layer ontop of kmem_cache though... -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050325173808.GS37984>