Commit Graph

298 Commits

Author SHA1 Message Date
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