diff -r 56f325a607ea -r 0173bcd7697c kerneltest/e32test/demandpaging/t_datapaging.cpp --- a/kerneltest/e32test/demandpaging/t_datapaging.cpp Wed Dec 23 11:43:31 2009 +0000 +++ b/kerneltest/e32test/demandpaging/t_datapaging.cpp Thu Jan 07 13:38:45 2010 +0200 @@ -1200,12 +1200,12 @@ if (gDataPagingSupported) { + test.Next(_L("Test reading and writing to a single page")); + TestOnePage(); + test.Next(_L("Test 64-bit atomic operations are atomic with paged out data")); TestAtomic64(); - test.Next(_L("Test reading and writing to a single page")); - TestOnePage(); - test.Next(_L("Test interaction between decommit and steal")); TestDecommitAndStealInteraction(10); @@ -1220,6 +1220,17 @@ test.Next(_L("Soak tests")); DPTest::FlushCache(); + + test.Next(_L("Soak test: change maximum cache size to minimal")); + TUint cacheOriginalMin = 0; + TUint cacheOriginalMax = 0; + TUint cacheCurrentSize = 0; + //store original values + DPTest::CacheSize(cacheOriginalMin, cacheOriginalMax, cacheCurrentSize); + gMaxCacheSize = 256; + gMinCacheSize = 64; + test_KErrNone(DPTest::SetCacheSize(gMinCacheSize * gPageSize, gMaxCacheSize * gPageSize)); + for (TUint totalThreads = 1 ; totalThreads <= 64 ; totalThreads *= 4) { for (TUint processes = 1 ; processes <= 16 && processes <= totalThreads ; processes *= 4) @@ -1229,12 +1240,16 @@ { for (TUint pin = 0 ; pin <= 1 ; ++pin) { - test.Printf(_L("processes=%d threads=%d pages=%d pin=%d\r\n"),processes, threads, pages, pin); + test.Printf(_L("processes=%d threads=%d pages=%d maxcachesize=%d pin=%d\r\n"),processes, threads, pages, gMaxCacheSize,pin); SoakTest(processes, threads, pages, pin, 3); } } } } + + //Reset the cache size to normal + test.Next(_L("Soak test: Reset cache size to normal")); + test_KErrNone(DPTest::SetCacheSize(cacheOriginalMin, cacheOriginalMax)); } test.End();