Method for delivering interrupts to user mode drivers

    公开(公告)号:US20060259675A1

    公开(公告)日:2006-11-16

    申请号:US11129802

    申请日:2005-05-16

    IPC分类号: G06F13/24

    CPC分类号: G06F13/24

    摘要: Systems and methods for providing a framework within which device drivers may run at a user-mode level. A platform (e.g., APIC) or bus (PCI bus) generic feature is used to take the CPU out of interrupt mode without having to wait for a user-level driver to clear the device interrupt. This allows writing the complete device driver in user space. The device driver still get notifications on interrupts but not at interrupt priority. The same scheme can be extended to shared interrupts, where multiple devices share a single interrupt line.

    System and method for message transmission between network nodes using
remote wires
    52.
    发明授权
    System and method for message transmission between network nodes using remote wires 失效
    使用远程电线的网络节点之间的消息传输系统和方法

    公开(公告)号:US6014710A

    公开(公告)日:2000-01-11

    申请号:US885153

    申请日:1997-06-30

    摘要: A first computer sends a sequence of messages to a second computer using remote write operations to directly store each message in a corresponding memory location in the second computer, without performing remote read operations to confirm storage of each message in the second computer's memory. The first computer detects message transmission errors, if any, during the transmission of each message to the second computer and when a message transmission error is detected, resends the message to the second computer. The first computer also sends trigger messages to the second computer to prompt the second computer to process messages stored in the second computer's memory. The second computer processes each received message and uses a remote write operation to store an acknowledgment message in a corresponding memory location in the first computer. The first computer, upon detecting a failure to receive the acknowledgment message corresponding to any of the previously sent messages, undertakes remedial actions to determine whether the second computer has processed each of the unacknowledged previously sent messages. When the remedial actions determine that the second computer has not processed the unacknowledged previously sent message, the first computer prompts the second computer to process the unacknowledged previously sent message. When the remedial actions determine that the second computer has already processed the unacknowledged previously sent message, the first computer stores the acknowledgment message in a corresponding location in the first computer's memory.

    摘要翻译: 第一计算机使用远程写入操作向第二计算机发送一系列消息,以将每个消息直接存储在第二计算机中的相应存储器位置中,而不执行远程读取操作以确认每个消息在第二计算机的存储器中的存储。 第一台计算机在每个消息传输到第二台计算机的同时检测到消息传输错误(如果有的话),并且当检测到消息传输错误时,将消息重新发送到第二台计算机。 第一台计算机还向第二台计算机发送触发消息,提示第二台计算机处理存储在第二台计算机内存中的消息。 第二计算机处理每个接收到的消息并且使用远程写入操作来将确认消息存储在第一计算机中的相应存储器位置中。 第一计算机在检测到不能接收与任何之前发送的消息相对应的确认消息时,进行补救动作以确定第二计算机是否已经处理了未确认的先前发送的消息中的每一个。 当补救措施确定第二计算机尚未处理未确认的先前发送的消息时,第一计算机提示第二计算机处理未确认的先前发送的消息。 当补救措施确定第二计算机已经处理了未确认的先前发送的消息时,第一计算机将确认消息存储在第一计算机的存储器中的相应位置。

    System and method for remote buffer allocation in exported memory
segments and message passing between network nodes
    53.
    发明授权
    System and method for remote buffer allocation in exported memory segments and message passing between network nodes 失效
    在导出的内存段中进行远程缓冲区分配的系统和方法以及网络节点之间的消息传递

    公开(公告)号:US5961606A

    公开(公告)日:1999-10-05

    申请号:US885056

    申请日:1997-06-30

    摘要: In a distributed computer system, a sending node prompts a receiving node to allocate and export to the sending node one or more memory "segments". Each allocated segment is sufficiently large to hold multiple receive buffers whose size fall within a predefined range of receive buffer sizes. Once a segment has been allocated and exported, the sending node allocates receive buffers within the segment, using sequentially contiguous portions for successive receive buffers, without any interaction with the receiving node. Messages are transmitted to the receiving node by remotely writing the data portion of each message to an allocated receive buffer and writing a control message with a pointer to the corresponding receive buffer to a message queue in the receiving node. The receiving node processes messages within the portions of the allocated segments specified by each control message and does not keep track of the used and/or unused portions of each segment. Only the sending node keeps track of the unused portions of each allocated segment. As a result, the computational and communication resource overhead associated with allocating receive buffers is substantially reduced. Once the sending node has exhausted a segment, it sends either a segment release message or segment recycle message to the receiving node. Recycling the segment causes the receiving node to re-enable the sending node to use the segment once the receiving node has processed all the messages previously written to receive buffers in the segment.

    摘要翻译: 在分布式计算机系统中,发送节点提示接收节点向发送节点分配和导出一个或多个存储器“段”。 每个分配的片段足够大以容纳大小落在接收缓冲器大小的预定范围内的多个接收缓冲器。 一旦已经分配并导出段,则发送节点在段内分配接收缓冲区,对于连续的接收缓冲器使用顺序连续的部分,而不与接收节点进行任何交互。 通过将每个消息的数据部分远程写入分配的接收缓冲器并将具有指向相应的接收缓冲器的指针的控制消息写入接收节点中的消息队列,将消息发送到接收节点。 接收节点处理由每个控制消息指定的分配段的部分内的消息,并且不跟踪每个段的已用和/或未使用部分。 只有发送节点跟踪每个分配段的未使用部分。 结果,与分配接收缓冲器相关联的计算和通信资源开销显着减少。 一旦发送节点已经耗尽了一个段,则它向接收节点发送段释放消息或段回收消息。 一旦接收节点已经处理了先前写入到接收段中的缓冲区的所有消息,则回收该段导致接收节点重新使能发送节点使用该段。

    Temporary computer file system implementing using anonymous storage
allocated for virtual memory
    54.
    发明授权
    Temporary computer file system implementing using anonymous storage allocated for virtual memory 失效
    使用分配给虚拟内存的匿名存储实现临时计算机文件系统

    公开(公告)号:US5953522A

    公开(公告)日:1999-09-14

    申请号:US675360

    申请日:1996-07-01

    IPC分类号: G06F17/30 G06F12/08

    摘要: A devtmp device driver provides the functionality of temporary files by representing a virtual device and including the virtual device among several devices within which a file system can store files. Rather than storing data in and retrieving data from a physical device, the devtmp device driver stores data in and retrieves data from anonymous storage through a swap file system which manages anonymous storage for a virtual memory system. A file system uses the devtmp device driver in the same manner the file system uses conventional device drivers which store data in and retrieve data from secondary storage devices. Since the devtmp device driver represents a virtual device whose data are stored in anonymous storage managed by the swap file system, the total amount of storage available for storing data of temporary files is shared among the various components of a computer process to successfully satisfy various needs of various computer processes. Temporary files can be accessed through a main file system, e.g., the UNIX file system, using a delayed-write-mode. In the delayed-write mode, the file system does not write metadata of a device to secondary storage and writes substantive data of files stored on the device only when insufficient primary storage is available to store the substantive data. Accordingly, temporary files are stored in primary storage so long as primary storage is available for such temporary files and are stored in, or moved to, secondary storage when primary storage is unavailable.

    摘要翻译: devtmp设备驱动程序通过表示虚拟设备并将虚拟设备包括在文件系统可以存储文件的多个设备之间来提供临时文件的功能。 devtmp设备驱动程序不是将数据存储在物理设备中并从物理设备中检索数据,而是通过管理虚拟内存系统的匿名存储的交换文件系统将数据存储在匿名存储器中并从中获取数据。 文件系统以与文件系统使用常规设备驱动程序相同的方式使用devtmp设备驱动程序,该驱动程序将数据存储在备用存储设备中并从中恢复数据。 由于devtmp设备驱动程序表示其数据存储在由交换文件系统管理的匿名存储器中的虚拟设备,所以可用于存储临时文件数据的可用存储空间的总量在计算机进程的各个组件之间共享以成功地满足各种需求 的各种计算机进程。 临时文件可以通过主文件系统访问,例如UNIX文件系统,使用延迟写入模式。 在延迟写入模式下,文件系统不会将设备的元数据写入辅助存储,并且只有在主存储空间不足以存储实质数据时,才能写入存储在设备上的文件的实质数据。 因此,只要主存储可用于这样的临时文件,并且当主存储不可用时存储在或存储在辅助存储器中,临时文件被存储在主存储器中。