Claims
- 1. A computer system, comprising:
a processor; a memory storage unit; a device driver an operating system comprising a kernel, said kernel comprising a network sub-system and a multi-data transmission system for allowing the transmission of a multi-packet application data block in a single transmission cycle in said network subsystem.
- 2. The computer system of claim 1, wherein said multi-packet application data block is a single block and comprises a contiguous block of a plurality of header information with a corresponding contiguous block of a plurality of data packets.
- 3. The computer system of claim 2, wherein said multi-data transmission system comprises multi-data copy logic for copying said multi-packet application data block between transmission modules in said network subsystem.
- 4. The computer system of claim 3, wherein said multi-data transmission system further comprises header buffer generation logic for generating said contiguous block of a plurality of header buffer information.
- 5. The computer system of claim 4, wherein said multi-data transmission system further comprises a payload buffer for generating said contiguous block of a plurality of data packets.
- 6. The computer system of claim 5, wherein said multi-data transmission system further comprises data linking logic for linking said contiguous block of a plurality of header information with said contiguous block of a plurality of data packets.
- 7. The computer system of claim 6, wherein said multi-data transmission system further comprises multi-data probe logic for determining whether said device driver handles multi-data processing.
- 8. The computer system of claim 7, wherein said multi-data transmission system further comprises segment detection logic for determining the number of packets in said contiguous block of a plurality of data packets to allocate in a buffer of said kernel.
- 9. The computer system of claim 1, wherein said device driver processes said multi-packet application data block in two input/output memory management operations to transfer said multi-packet application data block to said memory.
- 10. The computer system of claim 9, wherein said input/output memory management operations comprise a direct virtual memory access mapping operation and a flushing operation.
- 11. An operating system kernel, comprising:
a network subsystem; a transport module for processing a multi-packet data block in a single transport cycle; a network module for processing said multi-packet data block in a single network call; and a multi-data transmission module for transmitting said multi-packet data block as a single data transmission block.
- 12. The operating system kernel of claim 11, wherein said data transmission block comprises a contiguous block of a plurality of header information with a corresponding contiguous block of a plurality of data packets embodied in a single data transmit block.
- 13. The operating system kernel of claim 12, wherein said network subsystem comprises transmission modules and wherein said multi-data transmission module comprises multi-data copy logic for copying said multi-packet data block between said transmission modules.
- 14. The operating system kernel of claim 13, wherein said multi-data transmission module further comprises header buffer generation logic for generating said contiguous block of a plurality of header buffer information.
- 15. The operating system kernel of claim 14, wherein said multi-data transmission module further comprises a payload buffer for generating said contiguous block of a plurality of data packets.
- 16. The operating system kernel of claim 15, wherein said multi-data transmission module further comprises data linking logic for linking said contiguous block of a plurality of header information with said contiguous block of plurality of data packets.
- 17. The operating system kernel of claim 16, further comprising a device driver and wherein said multi-data transmission module further comprises multi-data probe logic for determining whether said device driver handles multi-data processing.
- 18. The operating system kernel of claim 17, wherein said multi-data transmission module further comprises segment detection logic for determining the number of packets in said contiguous block of a plurality of data packets to allocate in a buffer of said kernel.
- 19. The operating system kernel of claim 11, wherein said multi-data transmission module processes said multi-packet application data block in two input/output memory management operations to transfer said multi-packet applications data block to system memory.
- 20. The operating system kernel of claim 19, wherein said input/output memory management operations comprises a direct virtual memory access mapping operation and a flushing operation.
- 21. In a computer implemented multi-data kernel transmission system comprising:
data generation logic for processing a kernel subsystem data generated to network devices coupled to said computer; and a multi-data transmitter comprising a plurality of header buffers for dynamically generating a header information block of data processed by said data generation logic for transmission through data processing modules in said kernel subsystem; wherein each of a plurality of header information is generated according to data transfer parameters set by an application program for said network devices.
- 22. A system as described in claim 21 wherein said multi-data transmitter further comprises a data buffer for storing a plurality of packets of data transmitted in a single transmission cycle to said network devices.
- 23. A system as described in claim 22 wherein said data is a kernel data structure of a computer operating system.
- 24. A system as described in claim 23 wherein said application program is aware of said data buffer for said data structure.
- 25. A method of transmitting a multi-packet data block from a computer operating kernel to a network device driver, comprising:
probing whether said device driver is programmed for a multi-data transmission; determining whether said device driver is capable of processing a multi-packet data block; generating a stream of data packets in a single transmission request; generating said multi-packet data block; and transmitting said multi-packet data block to said device driver.
- 26. The method of claim 25, wherein said generating said multi-packet data block comprises generating a header buffer of header information defining a first contiguous memory block representing packets of data to be transmitted.
- 27. The method of claim 26, wherein said generating said multi-packet data block further comprises generating a data buffer defining a second contiguous memory block for storing a plurality of data packets in said multi-packet data block.
- 28. The method of claim 27, wherein said generating said multi-packet data block further comprises linking said header buffer and said data buffer to define said multi-packet data block.
CROSS REFERENCE TO RELATED APPLICATION
[0001] This is related to Masputra et al., co-filed U.S. patent application Ser. No. ______: attorney docket No.: SUN-P7825, entitled “A SYSTEM AND METHOD FOR AN EFFICIENT TRANSPORT LAYER TRANSMIT INTERFACE”. To the extent not repeated herein, the contents of Masputra et al., are incorporated herein by reference.