1. A method of handling interrupts from a set of devices, the method being performed by a computing device, the method including: at each of a set of interrupt servicing routines (ISRs) operating in a kernel of the computing device, routing a hardware device interrupt with an interrupt channel associated with that ISR to an event queue of a set of event queues by adding an event to a particular event queue of the set of event queues to which that ISR is registered, the event notating the interrupt channel of the hardware device interrupt; and operating a set of user helper threads in user space of the computing device, each user helper thread being registered to a particular event queue of the set of event queues, each user helper thread being configured to dequeue events from its respective event queue by consecutively dequeuing a top event of the event queue to be handled by a user space interrupt servicing handler (ISH) uniquely associated with both an interrupt channel of the top event and the event queue, the user space ISH operating in user space of the computing device; wherein adding the event to the particular event queue of the set of event queues to which that ISR is registered is performed at least one time directly by the ISR operating in the kernel; and wherein each event queue is uniquely associated with both a processing core of the computing device and a container application running on the computing device, each user space ISH respectively operating on the processing core associated with that user space ISH's associated event queue in support of the container application associated with that user space ISH's associated event queue.