From: Avi Kivity Date: Tue, 1 Mar 2016 17:47:04 +0000 (+0200) Subject: Add check for data in page cache X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=586d31d2ed469a60661f682cfb7ceeca62447446;p=users%2Fhch%2Ffsqual.git Add check for data in page cache --- diff --git a/fsqual.cc b/fsqual.cc index e51d90b..acf9913 100644 --- a/fsqual.cc +++ b/fsqual.cc @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -14,6 +15,7 @@ #include #include #include +#include template typename std::result_of::type @@ -67,6 +69,12 @@ void test_concurrent_append(io_context_t ioctx, int fd, unsigned iodepth) { auto verdict = rate < 0.1 ? "GOOD" : "BAD"; std::cout << "context switch per appending io (iodepth " << iodepth << "): " << rate << " (" << verdict << ")\n"; + auto ptr = mmap(nullptr, nr * 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); + auto incore = std::vector(nr); + mincore(ptr, nr * 4096, incore.data()); + if (std::any_of(incore.begin(), incore.end(), [] (uint8_t m) { return m & 1; })) { + std::cout << "Seen data in page cache (BAD)\n"; + } } void test_append(io_context_t ioctx, int fd) {