Arvid Norberg
|
6ef1b98717
|
merged compiler warning fixes from RC_1_0
|
2014-07-05 14:10:25 +00:00 |
Arvid Norberg
|
6c6fe4dfe2
|
merged fixes of warnings from RC_1_0
|
2014-07-04 23:40:31 +00:00 |
Arvid Norberg
|
18c52fe7cd
|
fix bug in patch to introduce file_priority disk job
|
2014-03-01 09:05:53 +00:00 |
Arvid Norberg
|
a0a41b6c5e
|
merged file priority fix from RC_0_16 and keep the disk thread's file priorities up to date
|
2014-02-28 10:19:29 +00:00 |
Arvid Norberg
|
a943fec777
|
update copyright
|
2014-02-23 19:12:25 +00:00 |
Arvid Norberg
|
b3de578fe7
|
merge invalid assert fix from RC_0_16
|
2014-02-07 09:35:08 +00:00 |
Arvid Norberg
|
6597eaf09a
|
there doesn't seem to be any point in exporting piece_block_progress, so don't do that. Introduce magic number check in disk_io_thread (mysterious crash/corruption happens in storage unit test on mac, but not very often and hard to reproduce).
|
2014-02-03 01:55:26 +00:00 |
Arvid Norberg
|
36c9add067
|
don't print stuff to stdout in debug builds. when waking up from completing a connection attempt, exit immediately if the connection is disconnecting, or disconnect if we're in graceful pause mode. some test cleanups
|
2014-01-26 08:18:13 +00:00 |
Arvid Norberg
|
e0644ce8f5
|
invariant check macro fixes
|
2014-01-21 19:26:09 +00:00 |
Arvid Norberg
|
36889a1524
|
asserts and logging in SSL test
|
2014-01-17 01:00:49 +00:00 |
Arvid Norberg
|
4e6b1cfbfb
|
update copyright
|
2013-12-25 17:07:16 +00:00 |
Arvid Norberg
|
89c3db477d
|
merge build fix with C++11 from RC_0_16
|
2013-09-25 19:44:29 +00:00 |
Arvid Norberg
|
f2e16c36b3
|
merged fix from RC_0_16
|
2013-09-12 07:10:52 +00:00 |
Arvid Norberg
|
75789e3958
|
fix uninitialized variable in disk_io_thread
|
2013-09-04 04:09:33 +00:00 |
Arvid Norberg
|
01c8c8543b
|
fix typo in move_storage
|
2013-05-11 21:32:18 +00:00 |
Arvid Norberg
|
4607e36c6f
|
fix move_storage bug when using fail_if_exist as well as use the boost::system::errc::file_exists as error code for that case
|
2013-05-11 03:54:18 +00:00 |
Arvid Norberg
|
982a14c2e9
|
extend move_storage functionality to have more flexible behavior
|
2013-05-09 02:50:16 +00:00 |
Arvid Norberg
|
431efc6157
|
merge storage fix from RC_0_16
|
2013-03-03 04:47:19 +00:00 |
Arvid Norberg
|
a0caa0f4b2
|
disable invariant_check functions when invariant checks are disabled
|
2013-02-25 04:13:46 +00:00 |
Arvid Norberg
|
e45c71dd30
|
merged sparse file fix from RC_0_16
|
2013-02-16 08:26:55 +00:00 |
Arvid Norberg
|
bff648a89e
|
update copyright dates and add tool to do so
|
2012-10-02 03:16:33 +00:00 |
Arvid Norberg
|
24186f219a
|
fix write cache flush issue
|
2012-05-23 14:59:56 +00:00 |
Arvid Norberg
|
19e7546968
|
fixed low_prio_disk support on linux
|
2012-05-15 14:13:35 +00:00 |
Arvid Norberg
|
ba4c77e7e5
|
merged FreeBSD fix from RC_0_16
|
2012-04-15 00:48:44 +00:00 |
Arvid Norberg
|
a5a9006014
|
merged fixes from RC_0_16 into trunk
|
2012-04-07 00:35:25 +00:00 |
Arvid Norberg
|
9024209d51
|
merged set_settings race condition fix into trunk
|
2012-04-06 03:02:50 +00:00 |
Arvid Norberg
|
7f3aac3959
|
fix issue with unchoke_slots_limit not preserving its value correctly
|
2011-12-19 05:53:11 +00:00 |
Arvid Norberg
|
cc6bc5ba17
|
back-out attempt to make disk cache hits faster. it corrupts data
|
2011-11-28 17:51:14 +00:00 |
Arvid Norberg
|
85ef2528c6
|
serve cache hits without a round-trip to the disk thread for improved seeding performance
|
2011-11-16 07:09:12 +00:00 |
Arvid Norberg
|
b430152174
|
post disk job completions in batches to save CPU in the network thread
|
2011-10-19 05:46:49 +00:00 |
Arvid Norberg
|
ef1ee13d58
|
fix bug in flush_cache_blocks
|
2011-10-13 02:19:55 +00:00 |
Arvid Norberg
|
b078f908f0
|
one more attempt to fix no-readback cache algorithm
|
2011-09-27 10:46:56 +00:00 |
Arvid Norberg
|
b3d2877274
|
more no-readback fixes
|
2011-09-27 07:50:58 +00:00 |
Arvid Norberg
|
d8641705e3
|
commented out expensive invariant check in disk cache
|
2011-09-27 04:56:57 +00:00 |
Arvid Norberg
|
f6b6b57c0e
|
fix avoid-readback cache algorithm
|
2011-09-27 04:05:05 +00:00 |
Arvid Norberg
|
6271ee58f6
|
fix overflow issue in default disk write queue size limit
|
2011-09-14 06:22:45 +00:00 |
Arvid Norberg
|
ecba902ff1
|
fix cache eviction issue in seed_mode
|
2011-08-07 07:27:38 +00:00 |
Arvid Norberg
|
bc2f0c8c5e
|
move disk_buffer_pool out to its own file
|
2011-07-31 02:24:36 +00:00 |
Arvid Norberg
|
209b9e4186
|
make disk timing be average over the last second. fixed some other bugs in previous changes
|
2011-06-26 19:45:33 +00:00 |
Arvid Norberg
|
3e5b165a91
|
fix invariant check defines
|
2011-06-21 07:10:54 +00:00 |
Arvid Norberg
|
b9e754d14d
|
mark some invariant checks in disk_io_thread as expensive
|
2011-06-21 05:10:32 +00:00 |
Arvid Norberg
|
f6f516bed0
|
fix file_storage copy constructor (would break python bindings)
|
2011-06-06 07:47:29 +00:00 |
Arvid Norberg
|
a73960aa5a
|
support release asserts
|
2011-05-08 09:04:59 +00:00 |
Arvid Norberg
|
e389f5963d
|
added support for fadvise/F_RDADVISE for improved disk read performance
|
2011-04-26 07:03:05 +00:00 |
Arvid Norberg
|
8e92cad2db
|
fixed bug in avoid_readback disk cache eviction algorithm
|
2011-04-17 05:33:33 +00:00 |
Arvid Norberg
|
0c28a3e3ca
|
fixed bug in session::delete_files option to remove_torrent
|
2011-04-10 20:35:45 +00:00 |
Arvid Norberg
|
f3a7d567a4
|
fix bug in disk thread and torrent abort functions
|
2011-04-04 02:57:19 +00:00 |
Arvid Norberg
|
74ccff22be
|
use a deque instead of list for disk io jobs queue
|
2011-03-28 06:01:24 +00:00 |
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 |
Arvid Norberg
|
0283f07aed
|
more buffer categories to help debugging
|
2009-05-31 22:38:49 +00:00 |
Arvid Norberg
|
b2c5d8a563
|
include the piece index that failed in disk errors
|
2009-05-31 19:44:56 +00:00 |