Arvid Norberg
|
f6a42863e3
|
try to optimize disk write performance by raising the low watermark (for disk thread queue) to start reading from sockets and also post the start-reading event earlier. Also implement fair round-robin of which peers get to start downloading on this event
|
2011-03-27 20:35:38 +00:00 |
Arvid Norberg
|
346a6fb175
|
another read job starvation fix + some more logging
|
2011-03-27 08:21:26 +00:00 |
Arvid Norberg
|
41bc60c36a
|
fixed bug in avoid_readback disk cache algorithm
|
2011-03-26 19:06:58 +00:00 |
Arvid Norberg
|
aabb862400
|
fixed windows build
|
2011-03-21 06:31:48 +00:00 |
Arvid Norberg
|
2dfd1a972b
|
prevent read jobs from starving in the disk I/O thread
|
2011-03-20 19:17:59 +00:00 |
Arvid Norberg
|
836de5d338
|
fixed infinite loop when using avoid_readback cache eviction algorithm
|
2011-03-20 17:08:18 +00:00 |
Arvid Norberg
|
3d63cb98b7
|
log read job queue size
|
2011-03-20 09:04:03 +00:00 |
Arvid Norberg
|
5c26294c29
|
fixed typo
|
2011-03-20 08:29:18 +00:00 |
Arvid Norberg
|
2525b8b457
|
sorting counts as job time in disk I/O thread timing
|
2011-03-20 07:44:25 +00:00 |
Arvid Norberg
|
c1620de8d8
|
sorting needs to count as part of the disk job to get proper proportions of disk thread time metrics
|
2011-03-20 06:37:19 +00:00 |
Arvid Norberg
|
e4df633157
|
added another disk cache flush algorithm to minimize readback when hashing pieces
|
2011-03-20 05:47:27 +00:00 |
Arvid Norberg
|
1b6227ad31
|
report disk read-back when verifying piece hashes
|
2011-03-20 01:19:14 +00:00 |
Arvid Norberg
|
afc9806319
|
hash timing change
|
2011-03-19 22:52:29 +00:00 |
Arvid Norberg
|
c015e28792
|
more disk thread timing
|
2011-03-19 22:23:58 +00:00 |
Arvid Norberg
|
68c3faaad1
|
fixed bug in disk job timer
|
2011-03-18 03:52:25 +00:00 |
Arvid Norberg
|
782bc974a1
|
log average disk job time instead of cache time
|
2011-03-18 03:07:10 +00:00 |
Arvid Norberg
|
6db11079c8
|
add performance warning when disk write queue exceeds half of the write cache size
|
2011-03-16 07:45:51 +00:00 |
Arvid Norberg
|
7e3f69ecbf
|
optimized disk cache flushing a bit
|
2011-03-16 07:21:58 +00:00 |
Arvid Norberg
|
5e273aff34
|
fix bug in read cache expiration logic
|
2011-03-15 02:54:41 +00:00 |
Arvid Norberg
|
d6fbff13df
|
measure disk sort time (phys_offset)
|
2011-03-15 02:21:28 +00:00 |
Arvid Norberg
|
7dde47b98a
|
measure disk cache flush times
|
2011-03-15 01:44:32 +00:00 |
Arvid Norberg
|
a08bcf7459
|
change semantics of disk read time and add disk hash time
|
2011-03-14 05:21:46 +00:00 |
Arvid Norberg
|
a18f047311
|
minor storage fix
|
2011-03-13 21:07:46 +00:00 |
Arvid Norberg
|
03a7442532
|
add disk cache stats to session stats
|
2011-03-11 07:37:12 +00:00 |
Arvid Norberg
|
44fe8c160a
|
fix no-exceptions build
|
2011-03-10 05:01:36 +00:00 |
Arvid Norberg
|
56937edf56
|
cleaned up some exception handling and introduced macros like BOOST_TRY/BOOST_CATCH to make the optional exception handling nicer
|
2011-02-25 17:00:36 +00:00 |
Arvid Norberg
|
97a40a45cd
|
fully support unbuffered I/O
|
2011-02-22 02:53:26 +00:00 |
Arvid Norberg
|
141ada013f
|
fixed a whole bunch of build warnings on gcc and msvc, along with some fixes discovered along the way
|
2011-02-21 05:24:41 +00:00 |
Arvid Norberg
|
8bb71da401
|
disk write queue watermark fix
|
2011-02-13 22:27:02 +00:00 |
Arvid Norberg
|
aa116cd1d1
|
fix race condition when initializing the disk thread
|
2011-02-11 07:20:11 +00:00 |
Arvid Norberg
|
9efd739cf5
|
fixed typo
|
2011-02-10 06:06:56 +00:00 |
Arvid Norberg
|
19d6c53ad4
|
increase low watermark for disk write queue. log payload rates in session stats
|
2011-02-04 06:33:47 +00:00 |
Arvid Norberg
|
4ed6b1a067
|
introduce a low watermark for disk io blocking connections
|
2011-02-04 03:02:23 +00:00 |
Arvid Norberg
|
6663f527da
|
fixed error handling in torrent_info constructor
|
2011-01-19 10:07:51 +00:00 |
Arvid Norberg
|
00efc31bf6
|
various smaller fixes
|
2010-12-30 03:46:11 +00:00 |
Arvid Norberg
|
daea6d507e
|
fixed uninitialized variable in utp MTU logic. Fixed array overrun in disk cache
|
2010-12-24 22:53:00 +00:00 |
Arvid Norberg
|
27f84d1618
|
fixed minor error handling logging and assert issue in disk io thread
|
2010-11-26 20:38:31 +00:00 |
Arvid Norberg
|
6ba977aa9b
|
fixed bug in session_settings::disable_hash_checks
|
2010-11-07 21:41:03 +00:00 |
Arvid Norberg
|
4b6a73417d
|
fixed error reporting issue in disk I/O thread
|
2010-10-18 07:38:14 +00:00 |
Arvid Norberg
|
aa1da121bc
|
attempt to support disk IO priority on linux
|
2010-07-24 02:54:42 +00:00 |
Arvid Norberg
|
c6a6fe1c07
|
fixed typo
|
2010-07-23 19:11:00 +00:00 |
Arvid Norberg
|
9109af0ce1
|
fix for disk job queue size measurement
|
2010-07-23 16:15:14 +00:00 |
Arvid Norberg
|
4e576f93fd
|
removed the session mutex for improved performance
|
2010-07-14 04:16:38 +00:00 |
Arvid Norberg
|
996c68dfa7
|
timer fix
|
2010-06-21 05:45:45 +00:00 |
Arvid Norberg
|
f9ec9180ff
|
more disk cache cleanup optimizations
|
2010-05-16 23:14:47 +00:00 |
Arvid Norberg
|
e07bad0686
|
optimized disk I/O cache clearing
|
2010-05-13 15:01:20 +00:00 |
Arvid Norberg
|
85824b1924
|
fixed bug in the disk thread that could get triggered under heavy load
|
2010-05-05 05:44:45 +00:00 |
Arvid Norberg
|
24a3bbb985
|
optimize disk thread teardown for large read caches
|
2010-05-04 02:58:23 +00:00 |
Arvid Norberg
|
dce2edb6cc
|
fixed vs 2010 build
|
2010-04-30 19:08:16 +00:00 |
Arvid Norberg
|
fb28835452
|
slight performance fix in disk elevator algorithm
|
2010-04-24 21:53:45 +00:00 |
Arvid Norberg
|
225232906a
|
fixed disk I/O iterator bug
|
2010-04-14 22:02:49 +00:00 |
Arvid Norberg
|
1ee414f4b9
|
fixed iterator bug in disk I/O thread
|
2010-04-14 06:26:38 +00:00 |
Arvid Norberg
|
6975f4b350
|
fixed typo in asking for available amount of memory
|
2010-04-10 04:58:43 +00:00 |
Arvid Norberg
|
116c3f3c45
|
fix linux build
|
2010-03-12 03:17:25 +00:00 |
Arvid Norberg
|
79bd8fcd52
|
made the default cache size depend on the amount of physical RAM. and fixed disk thread settings update when loading through load_state
|
2010-03-10 07:14:10 +00:00 |
Arvid Norberg
|
9edb348093
|
read time is only cache misses
|
2010-03-04 03:49:06 +00:00 |
Arvid Norberg
|
a942890e8d
|
added more detailed instrumentation of the disk I/O thread
|
2010-03-03 07:09:04 +00:00 |
Arvid Norberg
|
fdb68ab784
|
attempt to not make m_buffer_queue_size to ever get negative
|
2010-03-03 04:32:06 +00:00 |
Arvid Norberg
|
053d11ea3e
|
fixed mutex lock typo
|
2010-02-24 00:04:28 +00:00 |
Arvid Norberg
|
278c1f91c0
|
fix typo in previous check-in
|
2010-02-21 09:03:56 +00:00 |
Arvid Norberg
|
59deff7a44
|
fixed issue with disk read cache not being cleared when removing torrents
|
2010-02-21 08:52:26 +00:00 |
Arvid Norberg
|
c263f8daf7
|
volatile cache improvement
|
2010-02-06 17:56:58 +00:00 |
Arvid Norberg
|
7b0555ae45
|
fixed disk cache bug
|
2010-02-05 04:30:57 +00:00 |
Arvid Norberg
|
c1b8124d20
|
volatile cache tuning
|
2010-02-01 01:11:10 +00:00 |
Arvid Norberg
|
238f7e38f5
|
improve disk stats logging to include cache hits
|
2010-01-31 21:13:52 +00:00 |
Arvid Norberg
|
ca20d2d600
|
fixed broken build
|
2010-01-31 20:22:35 +00:00 |
Arvid Norberg
|
5b747f58f7
|
add guided read cache and update tuning docs
|
2010-01-31 19:14:00 +00:00 |
Arvid Norberg
|
53144f6f14
|
fixes to the new disk cache and the volatile cache feature
|
2010-01-31 16:29:52 +00:00 |
Arvid Norberg
|
ccf8b0278a
|
added volatile read cache option
|
2010-01-30 03:50:17 +00:00 |
Arvid Norberg
|
f6c0d5af35
|
optimized disk cache to work with large caches
|
2010-01-27 04:25:45 +00:00 |
Arvid Norberg
|
a046850130
|
support disk I/O priority setting
|
2010-01-23 03:02:32 +00:00 |
Arvid Norberg
|
c9b594fde1
|
support sending suggest messages based on what's in the read cache. support 'explicit read cache'
|
2010-01-15 16:45:42 +00:00 |
Arvid Norberg
|
2948b3b375
|
fixed file checking bug introduced by fancy disk IO optimizations
|
2010-01-13 23:37:23 +00:00 |
Arvid Norberg
|
a1299c3a10
|
optimize disk I/O elevator algorithm to spend less time picking job
|
2010-01-12 01:56:48 +00:00 |
Arvid Norberg
|
d498c129ab
|
clear sparse flag on files that complete on windows
|
2010-01-09 18:40:05 +00:00 |
Arvid Norberg
|
ecb770eca7
|
always unlock while waiting for disk-IO
|
2009-12-25 16:13:35 +00:00 |
Arvid Norberg
|
6298322b1d
|
service disk-read requests that hit the cache immediately and circumvent the elevator ordering
|
2009-12-16 10:49:15 +00:00 |
Arvid Norberg
|
1f5859d31f
|
error_code fix. added is_error_code_enum template specialization and using the abbreviated syntax to build error_codes
|
2009-11-29 07:06:38 +00:00 |
Arvid Norberg
|
ab4b7f99ad
|
fixed error handling in read_into_piece
|
2009-11-28 03:14:08 +00:00 |
Arvid Norberg
|
a5586d154d
|
more header dependency optimizations
|
2009-11-25 06:55:34 +00:00 |
Arvid Norberg
|
6343fe6a6d
|
optimized header dependencies to lower build time
|
2009-11-23 08:38:50 +00:00 |
Arvid Norberg
|
562e2512b9
|
some vs2010 fixes
|
2009-11-22 23:55:54 +00:00 |
Arvid Norberg
|
c418165e07
|
replaced boost.filesystem with custom functions (improves efficiency and drops unnecessary dependencies and improves libtorrent portability)
|
2009-10-26 01:29:39 +00:00 |
Arvid Norberg
|
8a5b7d5d36
|
got rid of the last recursive mutexes. abstracted the threading primitives (and switched over to use asio's internal ones).
|
2009-10-20 02:49:56 +00:00 |
Arvid Norberg
|
6d01cb475c
|
msvc build fixes
|
2009-09-06 00:57:01 +00:00 |
Arvid Norberg
|
bec481acdf
|
improved disk read performance and fixed bug in storage_interface's backwards compatibility functions
|
2009-09-05 07:21:10 +00:00 |
Arvid Norberg
|
49f54a6f7f
|
file alignment and disk_io_thread bug fixes
|
2009-09-02 16:42:33 +00:00 |
Arvid Norberg
|
7933132cd9
|
fixed assert when built with disk stats
|
2009-08-05 19:02:51 +00:00 |
Arvid Norberg
|
63368c1383
|
added dummy storage class to disable disk I/O and an option to disable hash checking (for performance testing and simulation)
|
2009-08-02 06:40:45 +00:00 |
Arvid Norberg
|
838a246f6b
|
disk stats fix
|
2009-08-01 22:47:07 +00:00 |
Arvid Norberg
|
73a8673cfc
|
queued disk bytes fix
|
2009-07-26 19:54:16 +00:00 |
Arvid Norberg
|
ecdd7231b8
|
removed redundant code in disk_io_thread
|
2009-07-21 04:32:27 +00:00 |
Arvid Norberg
|
e9bd8f6e1f
|
turned fast-resume errors into error_codes. fixed typo in documentation
|
2009-06-28 00:36:41 +00:00 |
Arvid Norberg
|
306b75e6b1
|
boost 1.35 fixes
|
2009-06-19 16:42:33 +00:00 |
Arvid Norberg
|
3df15ad39e
|
fixed memory leak in disk io thread when not using the cache
|
2009-06-14 22:48:07 +00:00 |
Arvid Norberg
|
62a7946968
|
disk stats fix
|
2009-06-14 22:20:23 +00:00 |
Arvid Norberg
|
f0134c1b11
|
improved disk error handling and expanded use of error_code in error reporting
|
2009-06-10 08:30:55 +00:00 |
Arvid Norberg
|
e438a3ccfc
|
more boost-1.34.1 fixes
|
2009-06-03 07:46:50 +00:00 |
Arvid Norberg
|
a9a12a2391
|
fix build with boost-1.34.1
|
2009-06-03 07:22:43 +00:00 |
Arvid Norberg
|
bd33814376
|
improve disk error handling
|
2009-05-31 22:41:53 +00:00 |