Added preemptible and IRQ-safe versions of salloc