×

Epoll optimisations

  • US 9,384,071 B2
  • Filed: 06/10/2011
  • Issued: 07/05/2016
  • Est. Priority Date: 03/31/2011
  • Status: Active Grant
First Claim
Patent Images

1. A method for managing I/O event notifications in a data processing system, the data processing system comprising a plurality of applications and an operating system having a kernel and an I/O event notification mechanism operable to maintain a plurality of I/O event notification objects each handling a set of file descriptors associated with one or more I/O resources, the method comprising:

  • for each of a plurality of application-level configuration calls;

    a user-level interface intercepting a configuration call from an application to the I/O event notification mechanism for configuring an I/O event notification object; and

    storing a set of parameters of the configuration call at a data structure, each set of parameters representing an operation on the set of file descriptors handled by the I/O event notification object;

    intercepting at the user-level interface a wait call from the application to the I/O event notification mechanism for causing the I/O event notification object to wait for an event associated with one or more of its file descriptors;

    subsequently, on a predetermined criterion being met, the user-level interface causing the plurality of configuration calls to be effected by making a single system call from the user level to the kernel,wherein the predetermined criterion is reception of a wait call from the application at the user-level interface, and wherein the predetermined criterion is additionally met if no wait call is received at the user-level interface but one of the following occurs;

    a predetermined time period expires;

    orstorage space required at the data structure for storing the sets of parameters representing operations to be performed on the set of file descriptors handled by the I/O event notification object exceeds a predetermined size.

View all claims
  • 12 Assignments
Timeline View
Assignment View
    ×
    ×