CPU usage accounting

Vimal j.vimal at gmail.com
Wed Sep 14 10:04:41 EDT 2011


In the following cases, how does the CPU work done by the kernel on
behalf of the application get accounted for?

1. When an application writes to a TCP/UDP socket, the networking
stack does transmit side processing.
2. When an application receives data on a TCP/UDP socket, the
networking stack does receive side processing.

>From what I understand: In case (1), the kernel code executes in the
context of the application, so the CPU cycles are accounted directly
to process that called write() (or send/sendto).  But in case (2),
unless some processing is done, it is impossible to know which
application is going to receive this packet.  Whom do these cycles get
charged to?


More information about the Kernelnewbies mailing list