Rearchitecting Linux Storage Stack for µs Latency and High Throughput