From: Chris Mason Date: Thu, 31 Jul 2008 19:42:53 +0000 (-0400) Subject: Btrfs: Fix streaming read performance with checksumming on X-Git-Tag: v2.6.29-rc1~27^2~9^2~55^2~56^2~30^2~78 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=61b4944018449003ac5f9757f4d125dce519cf51;p=pandora-kernel.git Btrfs: Fix streaming read performance with checksumming on Large streaming reads make for large bios, which means each entry on the list async work queues represents a large amount of data. IO congestion throttling on the device was kicking in before the async worker threads decided a single thread was busy and needed some help. The end result was that a streaming read would result in a single CPU running at 100% instead of balancing the work off to other CPUs. This patch also changes the pre-IO checksum lookup done by reads to work on a per-bio basis instead of a per-page. This results in many extra btree lookups on large streaming reads. Doing the checksum lookup right before bio submit allows us to reuse searches while processing adjacent offsets. Signed-off-by: Chris Mason --- Reading git-diff-tree failed