Messages in this thread | | | From | Al Boldi <> | Subject | Re: [RFC] ext3: per-process soft-syncing data=ordered mode | Date | Sat, 26 Jan 2008 08:27:59 +0300 |
| |
Jan Kara wrote: > > Greetings! > > > > data=ordered mode has proven reliable over the years, and it does this > > by ordering filedata flushes before metadata flushes. But this > > sometimes causes contention in the order of a 10x slowdown for certain > > apps, either due to the misuse of fsync or due to inherent behaviour > > like db's, as well as inherent starvation issues exposed by the > > data=ordered mode. > > > > data=writeback mode alleviates data=order mode slowdowns, but only works > > per-mount and is too dangerous to run as a default mode. > > > > This RFC proposes to introduce a tunable which allows to disable fsync > > and changes ordered into writeback writeout on a per-process basis like > > this: > > > > echo 1 > /proc/`pidof process`/softsync > > I guess disabling fsync() was already commented on enough. Regarding > switching to writeback mode on per-process basis - not easily possible > because sometimes data is not written out by the process which stored > them (think of mmaped file).
Do you mean there is a locking problem?
> And in case of DB, they use direct-io > anyway most of the time so they don't care about journaling mode anyway.
Testing with sqlite3 and mysql4 shows that performance drastically improves with writeback writeout.
> But as Diego wrote, there is definitely some room for improvement in > current data=ordered mode so the difference shouldn't be as big in the > end.
Yes, it would be nice to get to the bottom of this starvation problem, but even then, the proposed tunable remains useful for misbehaving apps.
Thanks!
-- Al
| |