From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756400AbcAHSRw (ORCPT ); Fri, 8 Jan 2016 13:17:52 -0500 Received: from mail-yk0-f176.google.com ([209.85.160.176]:33084 "EHLO mail-yk0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756320AbcAHSRu (ORCPT ); Fri, 8 Jan 2016 13:17:50 -0500 Date: Fri, 8 Jan 2016 13:17:48 -0500 From: Tejun Heo To: Jan Kara Cc: axboe@kernel.dk, linux-kernel@vger.kernel.org, Jeff Moyer , Jan Kara Subject: Re: [PATCH 5/5] cfq-iosched: Allow parent cgroup to preempt its child Message-ID: <20160108181748.GY1898@mtj.duckdns.org> References: <1452180496-18483-1-git-send-email-jack@suse.cz> <1452180496-18483-6-git-send-email-jack@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1452180496-18483-6-git-send-email-jack@suse.cz> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, On Thu, Jan 07, 2016 at 04:28:16PM +0100, Jan Kara wrote: > From: Jan Kara > > Currently we don't allow sync workload of one cgroup to preempt sync > workload of any other cgroup. This is because we want to achieve service > separation between cgroups. However in cases where cgroup preempting is > ancestor of the current cgroup, there is no need of separation and > idling introduces unnecessary overhead. This is hurts for example the ^^^ > case when workload is isolated within a cgroup but journalling threads > are in root cgroup. Simple way to demostrate the issue is using: > > dbench4 -c /usr/share/dbench4/client.txt -t 10 -D /mnt 1 > > on ext4 filesystem on plain SATA driver (mounted with barrier=0 to make > difference more visible). When all processes are in the root cgroup, > reported throughput is 153.132 MB/sec. When dbench process gets its own > blkio cgroup, reported throughput drops to 26.1006 MB/sec. > > Fix the problem by making check in cfq_should_preempt() more benevolent > and allow preemption by ancestor cgroup. This improves the throughput > reported by dbench4 to 48.9106 MB/sec. > > Signed-off-by: Jan Kara Acked-by: Tejun Heo Thanks. -- tejun