[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+scX6mv2ZZD=1vm=BeKrxPY-NvU_r6QSa+KcsMmJn=j66KJmQ@mail.gmail.com>
Date: Tue, 14 Feb 2017 20:27:36 -0500
From: Weiwei Jia <harrynjit@...il.com>
To: gregkh@...uxfoundation.org, bsingharora@...il.com
Cc: linux-kernel@...r.kernel.org
Subject: [RFC] blkio_delay_total is calculated mistakenly
Hi,
When I read Linux Kernel source codes about how "blkio_delay_total"
(delay waiting for synchronous block I/O to complete for one task) is
calculated in Linux/kernel/delayacct.c file [1], I find that
"blkio_delay_total" adds "task->delays->blkio_delay" to be the total
delay time for one task to wait for synchronous I/O dynamically but
"tsk->delays->blkio_delay" has already been calculated as the total
delay time that one task is waiting for synchronous I/O [2]
dynamically. I think "blkio_delay_total" should not add
"task->delays->blkio_delay" since "task->delays->blkio_delay" is
already the total delay time we want.
Am I missing anything?
BTW, the patch in the attachment may solve this problem if I don't
miss anything. Thank you.
[1] http://lxr.free-electrons.com/source/kernel/delayacct.c?v=4.7#L121
[2] http://lxr.free-electrons.com/source/kernel/delayacct.c?v=4.7#L52
Thanks,
Weiwei Jia
View attachment "0001-fix-the-mistake-blkio_delay_total-calculation-way.patch" of type "text/x-patch" (983 bytes)
Powered by blists - more mailing lists