Thread (4 messages) 4 messages, 2 authors, 2011-09-15

CPU usage accounting

From: Mulyadi Santosa <hidden>
Date: 2011-09-14 18:44:52

Hi .. :)

On Wed, Sep 14, 2011 at 21:04, Vimal [off-list ref] wrote:
Hi,

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.
quoted
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).
excellent thinking, however AFAIK sometimes (or most of the times
now?) data sending is done in asynchronous style..... so the counting
might be not so accurate since we don't really know how much the data
that are transmitted...
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?
excellent thinking.....  I place my bet on ksoftirqd


-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help