Commit Graph

81 Commits

Author SHA1 Message Date
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 1189a3ef82 initialize members in cache_status 2010-03-04 03:43:50 +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 238f7e38f5 improve disk stats logging to include cache hits 2010-01-31 21:13:52 +00:00
Arvid Norberg 5b747f58f7 add guided read cache and update tuning docs 2010-01-31 19:14:00 +00:00
Arvid Norberg a4ff3cdf87 fix new disk cache implementation 2010-01-30 02:36:41 +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 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 da48f026b6 fixed disk_io_thread header 2009-12-17 08:46:51 +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 bd881ac154 fixed more link issues on windows. examples build with shared linking on windows 2009-12-02 17:46:25 +00:00
Arvid Norberg 6343fe6a6d optimized header dependencies to lower build time 2009-11-23 08:38:50 +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 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 7933132cd9 fixed assert when built with disk stats 2009-08-05 19:02:51 +00:00
Arvid Norberg ecdd7231b8 removed redundant code in disk_io_thread 2009-07-21 04:32:27 +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 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
Arvid Norberg 2f627a4b00 attempt to mitigate read cache thrashing 2009-05-24 16:49:01 +00:00
Arvid Norberg 29d56f9a8b improved read cache memory utilization 2009-05-24 15:32:14 +00:00
Arvid Norberg a89d6cced1 clean up some disk cache duplication of logic and added another memory usage optimization for the write cache 2009-05-24 00:12:53 +00:00
Arvid Norberg e322b318ae improved handling of out-of-memory conditions in disk I/O thread 2009-05-23 18:39:55 +00:00
Arvid Norberg 5211badc1e fixed syntax error 2009-05-23 16:19:04 +00:00
Arvid Norberg f9c12ef589 added more disk io asserts 2009-05-23 15:50:38 +00:00
Arvid Norberg c1d9198dc3 added largest_contiguous cache flush algorithm 2009-05-23 07:35:45 +00:00
Arvid Norberg e36ea4ba5d added instrumentation for disk access. Useful to benchmark disk cache performance 2009-05-23 03:03:52 +00:00
Arvid Norberg 0127edac14 added disk-checking delay, to leave room for other disk operations while checking a torrent 2009-05-22 06:32:39 +00:00
Arvid Norberg c047f66454 improved disk buffer logging and added extra asserts when logging disk buffer stats 2009-05-19 07:00:05 +00:00
Arvid Norberg 062e1796c0 fixed crash when shutting down while checking a torrent 2009-05-13 17:17:33 +00:00
Arvid Norberg cf6dc377c9 define fixes for disk stats build configurations 2009-05-04 06:42:24 +00:00
Arvid Norberg 807c1fc397 added validation check to disk_buffer_pool (and disk_io_thread in 0.14). This should catch any reference to the disk_io_thread after it has been destructed 2009-05-03 03:16:15 +00:00
Arvid Norberg e4ddb13b6f made the cache_size setting include send and receive buffers 2009-05-02 06:52:57 +00:00
Arvid Norberg 033fd5bd22 count send and receive buffers against the cache size limit 2009-05-01 08:00:58 +00:00
Arvid Norberg dce0e1bb58 fixed disk stat build 2009-04-30 01:42:30 +00:00
Arvid Norberg c6017f9366 reverted bug introduced a few check-ins ago. Fixed case when recursive_copy fails (don't remove the original files). Cleaned up callback dispatching in disk_io_thread in trunk. Improved unit tests for move_storage 2009-03-31 08:05:46 +00:00
Arvid Norberg e2ac32e7cf remove unused members and fix warning 2009-03-14 09:25:26 +00:00
Arvid Norberg 41ff39605b removed unused member variable 2009-02-08 20:26:25 +00:00
Arvid Norberg 5c12db28d2 added option to lock disk cache in physical memory 2009-02-06 09:46:13 +00:00
Arvid Norberg 1ac8f806fa added seed mode support (lazy hash checking) 2009-02-03 07:46:24 +00:00
Arvid Norberg b3a17b1787 added disk buffer instrumentation and log parser 2009-01-23 09:13:31 +00:00
Arvid Norberg 00808473e7 factor out disk_buffer_pool from disk_io_thread. refactored the file open modes to be platform independent. gave the disk_io_thread its own copy of session_settings that it shares with storage. added an unaligned_read implementation to storage. Added options to session_settings on when to open files in unbuffered mode. Added unit tests for unaligned reads 2009-01-21 07:31:49 +00:00
Arvid Norberg 113d1f3557 moved page_aligned_allocator to its own file and uses it in set_piece_hashes to not pass in unaligned buffers to storage read 2009-01-15 17:09:36 +00:00
Arvid Norberg 7592ad4aee updated disk IO to support unbuffered files 2009-01-11 02:02:34 +00:00
Arvid Norberg cfd116ffad made disk_io_settings be synchronized through the job queue 2009-01-10 05:46:02 +00:00