Code

This patch allows for multiple RRD writer threads to service the queue.
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Tue, 11 Nov 2008 16:36:13 +0000 (16:36 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Tue, 11 Nov 2008 16:36:13 +0000 (16:36 +0000)
commit81a4855348243f6c4df18e4532ee0baf4bfa1e8b
tree6aba964468d1c586c2ae1fc4b8c2521d04589bca
parent9f86e162bdc8cc8ea8cc40f8c73be9a3ab698fa5
This patch allows for multiple RRD writer threads to service the queue.

Now, rrdcached can have more simultaneous I/O requests into the kernel.
This may allow the kernel to re-order disk writes, resulting in better
disk throughput.  In practice, throughput is increased by 2-3x.

The flush (-f) timer maintenance has been moved from queue_thread_main
into its own thread.

Be more careful about when to use pthread_cond_signal vs _broadcast, since
multiple threads may be waiting on &queue_cond.

--kevin

git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk@1665 a5681a0c-68f1-0310-ab6d-d61299d08faa
program/doc/rrdcached.pod
program/src/rrd_daemon.c