Skip to content

unstable test: general/memory/config failed with proc_sysctl dirty_page on 90z [moved to RHELTEST-171]

This issue has been closed and moved to JIRA: https://issues.redhat.com/browse/RHELTEST-171

Please continue with your actions and comments in the linked Jira ticket.


Snippet of test failure

https://beaker.engineering.redhat.com/recipes/16313871#task178877007
ibm-p10-01-lp15.build.eng.rdu2.redhat.com (ppc64le)
kernel-5.14.0-70.104.1.el9_0

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::   proc_sysctl dirty_page
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:: [ 19:28:42 ] :: [   LOG    ] :: Runnning eval dirty_page, with 3600 seconds timeout
:: [ 19:28:42 ] :: [  BEGIN   ] :: Running 'sysctl -w vm.dirty_writeback_centisecs=0'
vm.dirty_writeback_centisecs = 0
:: [ 19:28:42 ] :: [   PASS   ] :: Command 'sysctl -w vm.dirty_writeback_centisecs=0' (Expected 0, got 0)
:: [ 19:28:42 ] :: [   LOG    ] :: Start test_dirty_bytes1
:: [ 19:28:42 ] :: [  BEGIN   ] :: Running 'sysctl -w vm.dirty_background_bytes=500000000'
vm.dirty_background_bytes = 500000000
:: [ 19:28:42 ] :: [   PASS   ] :: Command 'sysctl -w vm.dirty_background_bytes=500000000' (Expected 0, got 0)
:: [ 19:28:42 ] :: [  BEGIN   ] :: Running 'sysctl -w vm.dirty_bytes=500000000'
vm.dirty_bytes = 500000000
:: [ 19:28:42 ] :: [   PASS   ] :: Command 'sysctl -w vm.dirty_bytes=500000000' (Expected 0, got 0)
:: [ 19:28:42 ] :: [   PASS   ] :: dirty_background_ratio (Assert: expected 0, got 0)
:: [ 19:28:42 ] :: [   PASS   ] :: dirty_ratio (Assert: expected 0, got 0)
:: [ 19:28:43 ] :: [  BEGIN   ] :: Running 'sync && sysctl -w vm.drop_caches=3'
vm.drop_caches = 3
:: [ 19:28:43 ] :: [   PASS   ] :: Command 'sync && sysctl -w vm.drop_caches=3' (Expected 0, got 0)
:: [ 19:28:43 ] :: [  BEGIN   ] :: Running 'dd if=/dev/zero of=./testfile bs=1M count=200'
200+0 records in
200+0 records out
209715200 bytes (210 MB, 200 MiB) copied, 0.0162158 s, 12.9 GB/s
:: [ 19:28:43 ] :: [   PASS   ] :: Command 'dd if=/dev/zero of=./testfile bs=1M count=200' (Expected 0, got 0)
:: [ 19:28:53 ] :: [   FAIL   ] :: 200M should not trigger flush since dirty_bytes are set to 500M (Assert: "155584" should be >= "163840")

Test logs on DataWarehouse

https://datawarehouse.cki-project.org/kcidb/tests/12837938

DataWarehouse issue

If the problem is already tracked on DataWarehouse, please include a link to the DataWarehouse issue, e.g. https://datawarehouse.cki-project.org/issue/12345.

Additional details

Code in question :

rlAssertGreaterOrEqual "200M should not trigger flush since dirty_bytes are set to 500M" "$(awk '/Dirty/ {print $2}' /proc/meminfo)" "$((204800/10*8))"

Appears a 20% excess is allowed to be flushed, in this particular case a 24% of dirtied pages were flushed (assuming nothing else dirtied pages on a relevant number)

it is not clear to me why this 20% is allowed, is it related to some _ratio parameters ?

Edited by Dominika Veselá
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information