|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: Concensus Call on Urgent Pointer.The only useful point I can add to this discussion is that as long as there are alternatives to the URGENT mechanism, it seems to be unnecessary or even unfair, to make it mandatory. Using DRAM on the card with or without overcommittment is at least one alternative. The solution used by an Alacritech card, which may be proprietary, involves a mechanism whereby control of the offloaded TCP connection can be flipped between the card and the host stack. Who ever has control at any given time does all the TCP processing for it while it is under their control. The huge majority of the time the connection is under control of the card. If a dropped frame causes an out-of-order frame to arrive on an offloaded connection, the card handles the situation by holding the frame, flipping control of the connection to the host and forwarding the frame to the host stack as a normal dumb NIC. Then the host stack handles that frame and all subsequent frames on that connection (TCP reasembly) until the retrans occurs and the connection is back in sync. Then he flips the connection back to the card. The net result is that the card will not need to buffer much data on that connection - the frames are forwarded to the host. It also means the host will need to copy a usually-small number of frames' data to user buffers during sync-up. The point is the reassembly queue is in host memory. I just want to reiterate: regardless of what criticisms may be raised against this mechanism, it is an alternative to using the URGENT flag. This is not to say a subsequent modification would not be to use the URGENT flag and handle the OOO frame entirely on the card - if it became clear it was needed for performance. Clive Philbrick
Home Last updated: Tue Sep 04 01:06:21 2001 6315 messages in chronological order |