rework shmem.c slab implementation