Re: Is the TCP code threaded?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi...
Hello,

I have been looking quite deeply into the TCP-code, but there is one thing I simply dont manage to understand. Can the code process more than one skb on a socket at the time, or is it strictly one and one?
Maybe I didn't do the exploration as deep as you are, but since I read that all those packets are handled in soft irq context and there is one soft irq handler (ksoftirqd) per CPU, it is possible to handle more than one packet *at the very same time* in multi core/multi processor machine


E.g say that you are going to send something (an skb), and you recieve an ack at the same time. Will the kernel finish whatever of the two comes first (say, finish sending) or can it, in the middle of treating the new packet to send, process the ack?
I think somewhere it can preempted, but that's really depends on where and when it gets interrupted. AFAIK all those operations comprised of interruptible and non interruptible part e.g packet ack-ing and copying from NIC buffer into RAM are non- interruptible, the rest are interruptible. So again, it depends where and when the competing event kicks in.

I am welcome for any corrections..

regards,

Mulyadi


--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux