On 09/05/2012 01:20 PM, Pekka Enberg wrote: > On Wed, Sep 5, 2012 at 2:06 AM, Christoph Lameter <cl@xxxxxxxxx> wrote: >> This is a series of patches that extracts common functionality from >> slab allocators into a common code base. The intend is to standardize >> as much as possible of the allocator behavior while keeping the >> distinctive features of each allocator which are mostly due to their >> storage format and serialization approaches. >> >> This patchset makes a beginning by extracting common functionality in >> kmem_cache_create() and kmem_cache_destroy(). However, there are >> numerous other areas where such work could be beneficial: >> >> 1. Extract the sysfs support from SLUB and make it common. That way >> all allocators have a common sysfs API and are handleable in the same >> way regardless of the allocator chose. >> >> 2. Extract the error reporting and checking from SLUB and make >> it available for all allocators. This means that all allocators >> will gain the resiliency and error handling capabilties. >> >> 3. Extract the memory hotplug and cpu hotplug handling. It seems that >> SLAB may be more sophisticated here. Having common code here will >> make it easier to maintain the special code. >> >> 4. Extract the aliasing capability of SLUB. This will enable fast >> slab creation without creating too many additional slab caches. >> The arrays of caches of varying sizes in numerous subsystems >> do not cause the creation of numerous slab caches. Storage >> density is increased and the cache footprint is reduced. >> >> Ultimately it is to be hoped that the special code for each allocator >> shrinks to a mininum. This will also make it easier to make modification >> to allocators. >> >> In the far future one could envision that the current allocators will >> just become storage algorithms that can be chosen based on the need of >> the subsystem. F.e. >> >> Cpu cache dependend performance = Bonwick allocator (SLAB) >> Minimal cycle count and cache footprint = SLUB >> Maximum storage density = K&R allocator (SLOB) > > I've created a 'slab/common-for-groups' branch for this and queued it > for linux-next. I had to revert the sysfs patch because it caused > warnings during boot: > > https://github.com/penberg/linux/commit/aac3a1664aba429f47c70edfc76ee10fcd808471 > > I'd like to keep it append-only from now on please send incremental > patches on top of the branch. > Michal, Would you merge this branch into your memcg-devel tree? Thanks. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>