On Thu, 7 Feb 2008 17:40:57 -0800 (PST) bugme-daemon@xxxxxxxxxxxxxxxxxxx wrote: > http://bugzilla.kernel.org/show_bug.cgi?id=9911 > > Summary: fsync blocks concurrent writes to file > Product: File System > Version: 2.5 > KernelVersion: 2.6.23.8 > Platform: All > OS/Version: Linux > Tree: Mainline > Status: NEW > Severity: normal > Priority: P1 > Component: ext3 > AssignedTo: akpm@xxxxxxxx > ReportedBy: llowrey@xxxxxxxxxxxxxxxxx > > > Latest working kernel version: none > Earliest failing kernel version: 2.6.18 > Distribution: RHEL 4 & Fedora 8 > Hardware Environment: Dual Xeon & dual-core Athlon > Software Environment: Java 1.5.0_14 > Problem Description: Multiple threads append transactions to a single file. > When fsyncs are issued, no writes complete until the fsync completes. This has > the effect of yielding the same write rate regardless of how many threads are > writing to the file. Solaris 10 does not exhibit this problem and scales well > as additional threads are added. > > I have confirmed this by running strace and witnessing that writes block until > immediately after the fsync completes. > > When using truss on Solaris I have witnessed multiple writes completing while > an fsync was in progress. > > Steps to reproduce: > > Open a file for writing. > Launch multiple threads with each one writing data and followed by an fsync, > but only if data has been written since the last fsync. > > > I have googled this issue substantially and have found no answers. > I supposing teaching java about sync_file_range() would be all too hard. - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html