From 2877eddd58ff01d362b9fbf075040385c9283792 Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Fri, 10 Apr 2009 00:58:26 +0000 Subject: [PATCH] (trunk libT) experimental commit to reduce IO lag during fast downloads --- libtransmission/fdlimit.c | 14 -------------- libtransmission/session.c | 3 ++- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/libtransmission/fdlimit.c b/libtransmission/fdlimit.c index 70100a1a6..f9f548ede 100644 --- a/libtransmission/fdlimit.c +++ b/libtransmission/fdlimit.c @@ -83,9 +83,6 @@ enum { NOFILE_BUFFER = 512, /* the process' number of open files is globalMaxPeers + NOFILE_BUFFER */ - - SYNC_INTERVAL = 15 /* (arbitrary number) how many seconds to go - between fsync calls for files in heavy use */ }; struct tr_openfile @@ -96,7 +93,6 @@ struct tr_openfile char filename[MAX_PATH_LENGTH]; int fd; uint64_t date; - time_t syncAt; }; struct tr_fd_s @@ -462,7 +458,6 @@ tr_fdFileCheckout( const char * folder, doWrite ? 'y' : 'n' ); tr_strlcpy( o->filename, filename, sizeof( o->filename ) ); o->isWritable = doWrite; - o->syncAt = time( NULL ) + SYNC_INTERVAL; } dbgmsg( "checking out '%s' in slot %d", filename, winner ); @@ -490,15 +485,6 @@ tr_fdFileReturn( int fd ) o->isCheckedOut = 0; if( o->closeWhenDone ) TrCloseFile( i ); - else if( o->syncAt <= time( NULL ) ) { - dbgmsg( "fsync()ing file '%s' in slot #%d", o->filename, i ); - //fsync( o->fd ); -#ifdef HAVE_POSIX_FADVISE - /* TODO: test performance with and without this */ - posix_fadvise( o->fd, 0, 0, POSIX_FADV_DONTNEED ); -#endif - o->syncAt = time( NULL ) + SYNC_INTERVAL; - } break; } diff --git a/libtransmission/session.c b/libtransmission/session.c index a58b910e9..93913ff3b 100644 --- a/libtransmission/session.c +++ b/libtransmission/session.c @@ -268,7 +268,8 @@ tr_sessionGetDefaultSettings( tr_benc * d ) tr_bencDictAddInt ( d, TR_PREFS_KEY_PEER_SOCKET_TOS, atoi( TR_DEFAULT_PEER_SOCKET_TOS_STR ) ); tr_bencDictAddBool( d, TR_PREFS_KEY_PEX_ENABLED, TRUE ); tr_bencDictAddBool( d, TR_PREFS_KEY_PORT_FORWARDING, TRUE ); - tr_bencDictAddInt ( d, TR_PREFS_KEY_PREALLOCATION, TR_PREALLOCATE_SPARSE ); + tr_bencDictAddInt ( d, TR_PREFS_KEY_PREALLOCATION, TR_PREALLOCATE_FULL ); + /* tr_bencDictAddInt ( d, TR_PREFS_KEY_PREALLOCATION, TR_PREALLOCATE_SPARSE ); */ tr_bencDictAddStr ( d, TR_PREFS_KEY_PROXY, "" ); tr_bencDictAddBool( d, TR_PREFS_KEY_PROXY_AUTH_ENABLED, FALSE ); tr_bencDictAddBool( d, TR_PREFS_KEY_PROXY_ENABLED, FALSE ); -- 2.40.0