Messages in this thread | | | Date | Thu, 14 Sep 2000 23:21:43 +0200 | From | Henner Eisen <> | Subject | Re: Q: sock output serialization |
| |
Hi,
>>>>> "kuznet" == kuznet <kuznet@ms2.inr.ac.ru> writes:
>> when sk->lock.users!=0. Is there a particular reason why such >> task queue does not exist?
kuznet> Because it appeared to be useless overhead. I also kuznet> believed that it will be required in tcp, but one day I kuznet> understood that all the problems of these kind kuznet> dissolved. 8)
Yes, probably, this should also hold for other protocols. I need to study the protocol specs for further details.
But I realized another problem X.25 related SMP problem -- this time related to input. The protocol design assumes that the transmission path preserves the packet ordering. It seems that with 2.4.0 SMP, the ordering of the packets when received from the wire is not necessarily the same as when delivered to the protocolŽs receive method. Is this true?
LAPB should be able to recover from such sequence errors. But the X.25 packet layer can only detect such problem (and reset the connection). It cannot recover from such errors transparently. Unfortunatly, the current design assumes that the LAPB layer is performed below the network interface.
Although this allows to support controllers which implement LAPB in firmware, this seems to break the assumptions made by upper layers. The upper layer assumes that LAPB devices provide a reliable datalink service. But the Linux network interfaces do not preserve such reliable semantics. (Network interfaces may drop frames, e.g. when NET_RX input queue overruns, and and on SMP packet sequencing might change),
Henner
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |