/[Apache-SVN]
ViewVC logotype

Revision 1685985


Jump to revision: Previous Next
Author: stefan2
Date: Wed Jun 17 10:09:12 2015 UTC (9 years, 5 months ago)
Changed paths: 6
Log Message:
On the fsx-1.10 branch:
Introduce a new infrastructure to FSX that allows us to do efficient fsyncs.

It basically uses a thread pool to execute multiple fsyncs concurrently.
Interestingly, this generic implementation is faster on Linux than even the
POSIX-provided aio_fsync functionality on the same system. As a centralized
mechanism for scheduling fsyncs it also takes care of preventing redundant
flushes.

With this commit, FSX does not actually use the new capabilities. That will
be in the following commits.

* subversion/include/private/svn_mutex.h
  (svn_mutex__get): Declare new utility function.

* subversion/libsvn_subr/mutex.c
  (svn_mutex__get): Implement.

* subversion/libsvn_fs_x/batch_fsync.h
  (): New file with new internal API.

* subversion/libsvn_fs_x/batch_fsync.c
  (): New file with implementing the new internal API.

* subversion/libsvn_fs_x/fs.c
  (svn_fs_x__init): Trigger the initialization of the new infrastructure. 

* subversion/tests/libsvn_fs_x/fs-x-pack-test.c
  (test_batch_fsync): New test covering some basic state of the new code.
  (test_funcs): Register new test.


Changed paths

Path Details
Directorysubversion/branches/fsx-1.10/subversion/include/private/svn_mutex.h modified , text changed
Directorysubversion/branches/fsx-1.10/subversion/libsvn_fs_x/batch_fsync.c added
Directorysubversion/branches/fsx-1.10/subversion/libsvn_fs_x/batch_fsync.h added
Directorysubversion/branches/fsx-1.10/subversion/libsvn_fs_x/fs.c modified , text changed
Directorysubversion/branches/fsx-1.10/subversion/libsvn_subr/mutex.c modified , text changed
Directorysubversion/branches/fsx-1.10/subversion/tests/libsvn_fs_x/fs-x-pack-test.c modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26