Print some more interesting timing info for the page writer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27245 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
4352fc9187
commit
fd49e6b35a
@ -1137,6 +1137,8 @@ page_writer(void* /*unused*/)
|
|||||||
const uint32 kNumPages = 256;
|
const uint32 kNumPages = 256;
|
||||||
uint32 writtenPages = 0;
|
uint32 writtenPages = 0;
|
||||||
bigtime_t lastWrittenTime = 0;
|
bigtime_t lastWrittenTime = 0;
|
||||||
|
bigtime_t pageCollectionTime = 0;
|
||||||
|
bigtime_t pageWritingTime = 0;
|
||||||
|
|
||||||
PageWriterRun run;
|
PageWriterRun run;
|
||||||
if (run.Init(kNumPages) != B_OK) {
|
if (run.Init(kNumPages) != B_OK) {
|
||||||
@ -1173,6 +1175,8 @@ page_writer(void* /*unused*/)
|
|||||||
!= B_NO_LOW_RESOURCE;
|
!= B_NO_LOW_RESOURCE;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
pageCollectionTime -= system_time();
|
||||||
|
|
||||||
while (numPages < kNumPages) {
|
while (numPages < kNumPages) {
|
||||||
vm_page *page = next_modified_page(marker);
|
vm_page *page = next_modified_page(marker);
|
||||||
if (page == NULL)
|
if (page == NULL)
|
||||||
@ -1226,20 +1230,28 @@ page_writer(void* /*unused*/)
|
|||||||
numPages++;
|
numPages++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pageCollectionTime += system_time();
|
||||||
|
|
||||||
if (numPages == 0)
|
if (numPages == 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// write pages to disk and do all the cleanup
|
// write pages to disk and do all the cleanup
|
||||||
|
pageWritingTime -= system_time();
|
||||||
run.Go();
|
run.Go();
|
||||||
|
pageWritingTime += system_time();
|
||||||
|
|
||||||
// debug output only...
|
// debug output only...
|
||||||
writtenPages += numPages;
|
writtenPages += numPages;
|
||||||
if (writtenPages >= 1024) {
|
if (writtenPages >= 1024) {
|
||||||
bigtime_t now = system_time();
|
bigtime_t now = system_time();
|
||||||
dprintf("page writer: wrote 1024 pages (%llu ms)\n",
|
dprintf("page writer: wrote 1024 pages (total: %llu ms, "
|
||||||
(now - lastWrittenTime) / 1000);
|
"collect: %llu ms, write: %llu ms)\n",
|
||||||
|
(now - lastWrittenTime) / 1000,
|
||||||
|
pageCollectionTime / 1000, pageWritingTime / 1000);
|
||||||
writtenPages -= 1024;
|
writtenPages -= 1024;
|
||||||
lastWrittenTime = now;
|
lastWrittenTime = now;
|
||||||
|
pageCollectionTime = 0;
|
||||||
|
pageWritingTime = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user