Systems, methods, and computer products that improve the performance of computer-implemented I/O operations for complex applications, such as a database, that are ported to target computer systems that are not tailored to support the high-performance services that may benefit applications. Complex applications, such as a database, often manage I/O access operations by a caching mechanism that is tailored to the needs of the application. When porting an application to a target computer system that does not support certain I/O access features, I/O performance of the application may be limited. The present invention may be implemented by introducing specialized I/O access features that are tailored to enhance I/O access performance for complex applications, such as a database.
A method, apparatus, and computer usable code to manage data requests in a file system. A file access request is received from a client data processing system for a file access operation on a file in the file system. A determination is made as to whether the entry is present for the client in response to receiving the file access request. An open request is sent to the file system to open the file in response to the entry being absent. A cookie is received from the file system in response to sending the open request. An entry is created for the client and file with the cookie, and the file access request is sent to the file system using the cookie. Subsequent file access requests are sent to the file system using the same cookie in response to the entry being present.
An improved interface technology is provided that may be applied to PCI (Peripheral Component Interconnect) devices connected to a southbridge. Requests are received from at least one requestor. The request require responses to be sent back to the respective requestor. The requests are placed by the respective requestor by asserting a request signal, and the request signal is deasserted by the respective requestor when a response is sent back. A retry request may be sent to the current requestor for requesting the current requestor to deassert its request signal although a response has not yet been sent back, and to reassert the request signal later. Together with the retry request, a ready signal is sent indicating whether the request could be processed. This allows the requestor to modify its request when retrying it, if the request was not yet processed.