Bug ID 1030310
Summary Regression in WAL and COMMIT times for pgioperf-bench on ext3
Classification openSUSE
Product openSUSE Tumbleweed
Version Current
Hardware Other
OS Other
Status NEW
Severity Normal
Priority P5 - None
Component Kernel
Assignee kernel-maintainers@forge.provo.novell.com
Reporter jack@suse.com
QA Contact qa-bugs@suse.de
Found By ---
Blocker ---

Commit 06bd3c36a733ac27962fea7d6f47168841376824 "ext4: fix data exposure after
a crash" regressed WAL times of pgioperf-bench on ext3 filesystem ~100x for
balada.arch.suse.de. COMMIT times regressed ~10x.

The benchmark is doing random 8k writes into a large datafile (2*memsize)
calling fsync after 800MB written and cycling 8k writes into wal file, fsyncing
it every 5 writes. In parallel there are lots of random reads going on.

The regression is caused by the fact that before above mentioned commit
datafile inode was always attached to transaction in ext4_write_end() and thus
random writes were continuously trickled to the filesystem using WRITE_SYNC
writes. After the patch this does not happen and writes are written back by
flush worker using async writes. Likely these get starved by parallel readers
and as a result WAL writer gets stuck in write(2) for extended periods of time.


You are receiving this mail because: