Patent ID: 7529886

Claim:
A method for lockless InfiniBand™ Poll for I/O completion, comprising: providing shared access to completion queue resources for multiple concurrent threads performing Poll logic; and determining if any thread is attempting to destroy the completion queue resources and, if so, returning an error status; and synchronizing host channel adapter driver (HCAD) software with host channel adapter (HCA) hardware; wherein serialization for the mainline Poll logic is provided without using kernel services; wherein the Poll logic serializes any of the multiple concurrent threads attempting to concurrently Poll on a given query, and the Poll logic also serializes with one or more operating system functions invoked on at least one other thread that uses at least one resource that the Poll logic is attempting to access for the given query; wherein the HCAD software provides poll support invoked in a multi-threaded environment without using serialization techniques that require entry into a kernel, and the poll logic is serialized with a kernel implemented destroy completion queue and destroy completion operations such that a user mode program processes completions for work requests while in user mode with no kernel intervention, running enabled with no locks or latches.