From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Mason Subject: Re: [PATCH] Btrfs: fix submit_worker congestion Date: Thu, 15 Dec 2011 16:12:03 -0500 Message-ID: <20111215211203.GN18252@shiny> References: <1322599256-15621-1-git-send-email-sensille@gmx.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-btrfs@vger.kernel.org To: Arne Jansen Return-path: In-Reply-To: <1322599256-15621-1-git-send-email-sensille@gmx.net> List-ID: On Tue, Nov 29, 2011 at 09:40:56PM +0100, Arne Jansen wrote: > Write bios are submitted from the submit_worker. The worker pumps down > bios into the block layer until it signals a congestion. At least this > is the theory. In pratice submit_bio just blocks before any signalling > happens. As the bios are queued per device, this can lead to a situation > where only one device is served until all bios are submitted, and only > then the next device is served. This is obviously suboptimal. > This patch just throws out the congestion detection and reschedules the > worker every 8 requests. This way, all devices can be kept busy. > This is only a temporary fix until the block layer provides a non-blocking > submit_bio. Then the whole submit_worker mechanism can be killed. Could you please try the top commit in for-linus instead? It seems to be helping here, although I wasn't able to trigger the same problems you reported. -chris