A method for enabling an adjunct processor resource to be used by an application repeatedly using only one transition from ring 3 to ring 0, the method comprising: the application registering to use the adjunct processor resource by calling a ring 0 driver using a ring 3 to ring 0 transition whereupon the ring 0 driver: establishes a region in virtual memory to indicate when the application wants to use the resource, the region in virtual memory being a doorbell page; maps the doorbell page to the process address space of the application; and provides the address of the doorbell page to doorbell block registers of an adjunct processor, the adjunct processor having the adjunct processor resource and comprising the doorbell block registers and a scheduling core responsible for scheduling operations of the adjunct processor; and then enabling the application to use that resource thereafter without another ring 3 to ring 0 transition by: monitoring by the doorbell block registers the doorbell page to determine when the doorbell page is written to; and when an application wants to use the adjunct processor resource the doorbell page is written to, whereupon the doorbell block registers signal the scheduling core via an interrupt with a doorbell vector and the scheduling core schedules the job needed by the application in the adjunct processor resource. the application registering to use the adjunct processor resource by calling a ring 0 driver using a ring 3 to ring 0 transition whereupon the ring 0 driver: establishes a region in virtual memory to indicate when the application wants to use the resource, the region in virtual memory being a doorbell page; maps the doorbell page to the process address space of the application; and provides the address of the doorbell page to doorbell block registers of an adjunct processor, the adjunct processor having the adjunct processor resource and comprising the doorbell block registers and a scheduling core responsible for scheduling operations of the adjunct processor; and establishes a region in virtual memory to indicate when the application wants to use the resource, the region in virtual memory being a doorbell page; maps the doorbell page to the process address space of the application; and provides the address of the doorbell page to doorbell block registers of an adjunct processor, the adjunct processor having the adjunct processor resource and comprising the doorbell block registers and a scheduling core responsible for scheduling operations of the adjunct processor; and then enabling the application to use that resource thereafter without another ring 3 to ring 0 transition by: monitoring by the doorbell block registers the doorbell page to determine when the doorbell page is written to; and when an application wants to use the adjunct processor resource the doorbell page is written to, whereupon the doorbell block registers signal the scheduling core via an interrupt with a doorbell vector and the scheduling core schedules the job needed by the application in the adjunct processor resource. monitoring by the doorbell block registers the doorbell page to determine when the doorbell page is written to; and when an application wants to use the adjunct processor resource the doorbell page is written to, whereupon the doorbell block registers signal the scheduling core via an interrupt with a doorbell vector and the scheduling core schedules the job needed by the application in the adjunct processor resource.