Patent ID: 8806511

Claim:
A method, comprising: receiving, by a user space driver framework (UDF) library executing from a user space of a memory over an operating system kernel operated by a device driver executing from the user space, a kernel application programming interface (API) call from a device driver executing from the user space; determining if the operation comprises a privileged operation, wherein: if the operation is privileged: conveying, via a file descriptor, the API call to a UDF kernel module executing from a kernel space of the memory over the operating system kernel, and performing, by a kernel space emulation module, the privileged operation from the kernel space while conveying completion information back to the UDF library, and if the operation is non-privileged: performing, by the UDF library, an operation corresponding to the kernel API call, and detecting an interrupt and sending a notification of the interrupt via the file descriptor to the UDF library, wherein upon receiving the notification: scheduling, by a scheduler, execution of interrupt handling code of the device driver, wherein the interrupt handling code is a component of the device driver configured to perform each one of: receiving a notification of an incoming message from a remote network node, and receiving a notification of a failure in firmware controlling a host bus adaptor (HBA).