From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff Garzik Subject: chunkd thread work Date: Sun, 01 Nov 2009 23:21:55 -0500 Message-ID: <4AEE5E63.4030101@garzik.org> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: Sender: hail-devel-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii"; format="flowed" To: Project Hail I removed libevent support from chunkd, because I felt it was blocking the multi-threading of chunkd to an unfortunate degree. libevent does not provide any protection for multiple threads adding and removing themselves to a single poll-set. Multi-threading chunkd should enable us to reach our full I/O throughput potential through parallelization. It will also enable useful administrative tasks such as background checksum verification. Jeff commit 47a916242eb795b27ca86cb68a25135a14741b5f Author: Jeff Garzik Date: Sun Nov 1 23:11:18 2009 -0500 chunkd: drop libevent support, due to lack of thread-friendliness libevent does not support a single poll-set being manipulated simultaneously by multiple threads, so it is replaced with a poll(2)-based mechanism highly similar to cld's. An epoll mechanism would be a logical next-step. Signed-off-by: Jeff Garzik commit 441eb192ef5d68e6d563f045a3c061d9bc403684 Author: Jeff Garzik Date: Sun Nov 1 20:39:09 2009 -0500 chunkd: add cli_wr_set_poll() to isolate libevent usage Signed-off-by: Jeff Garzik