Re: [PATCH] Delay accounting, fix incorrect delay time when constantly waiting on runqueue

Balbir Singh
2008-06-16T16:34:55Z

On Mon, Jun 16, 2008 at 3:11 PM, <bharathravi1@gmail.com> wrote:
> From: Bharath Ravi <bharathravi1@gmail.com>
>
> This patch corrects the incorrect value of per process run-queue wait time
> reported by delay statistics. The anomaly was due to the following reason.
> When a process leaves the CPU and immediately starts waiting for CPU on
> the runqueue (which means it remains in the TASK_RUNNABLE state), the time
> of re-entry into the run-queue is never recorded. Due to this, the waiting time
> on the runqueue from this point of re-entry upto the next time it hits the CPU
> is not accounted for. This is solved by recording the time of re-entry of a
> process leaving the CPU in the sched_info_depart() function IF the process will
> go back to waiting on the run-queue. This IF condition is verified by checking
> whether the process is still in the TASK_RUNNABLE state.
>
> The patch was tested on 2.6.26-rc6 using two simple CPU hog programs. The
> values noted prior to the fix did not account for the time spent on the
> runqueue waiting. After the fix, the correct values were reported back
> to user space.
>
> Signed-off-by: Bharath Ravi <bharathravi1@gmail.com>
> Signed-off-by: Madhava K R <madhavakr@gmail.com>

Looks very good to me

Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>

Balbir