Attached is a forward port of my arbitrary-align patch from 2.4.something. Only partially tested. And a small correction: rmap needs alignment to it's own object size, it crashes immediately if this is not provided by slab. Probably it's a good idea to use the new API to decouple the pte_chain size from the L1_CACHE_SIZE: I'd bet that 32-byte for a pIII is too small. I'm still thinking how to implement kmem_cache_alloc_forcpu() without having to change too much in slab - it's not as simple as I assumed initially -- Manfred