David Mansfield
2002-Apr-30 17:52 UTC
writing processes are blocking in log_wait_common with data=ordered
I have a system with many processes writing to a common data file using pwrite. These processes are each writing to existing blocks in the file, not changing the file size, and the file has no holes. When the processes get going, they seem to bottleneck at log_wait_common (according to ps alnx). That is, one process is uninterruptible in log_wait_common, the rest are uninterruptible in down. kjournald itself seems to be oftern blocked at 'wait_o', which I unfortunately didn't get as numeric, but I assume is wait_on_buffer or something like that. Is there a reason the data writes should be waiting on the log in ordered mode? I thought that log commits were postponed until the completion of data, but not vice-versa. I assume that data=writeback would alleviate this bottleneck, right? David -- /==============================\ | David Mansfield | | david@cobite.com | \==============================/
David Mansfield
2002-Apr-30 18:58 UTC
Re: writing processes are blocking in log_wait_common with data=ordered
I hate when this happens, but I have to reply to myself. Of course, the subject line should read: log_wait_commit. And I should mention that the file is opened with O_SYNC. This info should help. David -- /==============================\ | David Mansfield | | david@cobite.com | \==============================/
Andreas Dilger
2002-Apr-30 19:11 UTC
Re: writing processes are blocking in log_wait_common with data=ordered
On Apr 30, 2002 14:58 -0400, David Mansfield wrote:> I hate when this happens, but I have to reply to myself. Of course, the > subject line should read: log_wait_commit. And I should mention that the > file is opened with O_SYNC.Well, if you are using O_SYNC, you are probably better off having a large journal and using data=journal mode. Otherwise I would have suggested data=writeback because this is best for databases. Cheers, Andreas -- Andreas Dilger http://www-mddsp.enel.ucalgary.ca/People/adilger/ http://sourceforge.net/projects/ext2resize/