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

From: Balbir Singh
Date: Mon Jun 16 2008 - 12:34:56 EST


On Mon, Jun 16, 2008 at 3:11 PM, <bharathravi1@xxxxxxxxx> wrote:
> From: Bharath Ravi <bharathravi1@xxxxxxxxx>
>
> 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@xxxxxxxxx>
> Signed-off-by: Madhava K R <madhavakr@xxxxxxxxx>

Looks very good to me

Acked-by: Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx>

Balbir
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/