1. A computer-implemented method, comprising: receiving, by a kernel executing in a computing device, an input/output (I/O) request from an application thread executing using a first stack; allocating a second stack in kernel space of the computing device; switching execution of the thread to the second stack; and processing the I/O request synchronously using the second stack.