From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753223AbcBVIyM (ORCPT ); Mon, 22 Feb 2016 03:54:12 -0500 Received: from verein.lst.de ([213.95.11.211]:60674 "EHLO newverein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751797AbcBVIyL (ORCPT ); Mon, 22 Feb 2016 03:54:11 -0500 Date: Mon, 22 Feb 2016 09:54:09 +0100 From: Christoph Hellwig To: Dave Chinner Cc: kernel test robot , Dave Chinner , lkp@01.org, LKML , Christoph Hellwig , xfs@oss.sgi.com Subject: Re: [lkp] [xfs] fbcc025613: -5.6% fsmark.files_per_sec Message-ID: <20160222085409.GA19493@lst.de> References: <87vb5lqunb.fsf@yhuang-dev.intel.com> <20160219064932.GX14668@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160219064932.GX14668@dastard> User-Agent: Mutt/1.5.17 (2007-11-01) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Feb 19, 2016 at 05:49:32PM +1100, Dave Chinner wrote: > That doesn't really seem right. The writeback should be done as a > single ioend, with a single completion, with a single setsize > transaction, adn then all the pages are marked clean sequentially. > The above behaviour implies we are ending up doing something like: > > fsync proc io completion > wait on page 0 > end page 0 writeback > wake up page 0 > wait on page 1 > end page 1 writeback > wake up page 1 > wait on page 2 > end page 2 writeback > wake up page 2 > > Though in slightly larger batches than a single page (10 wakeups a > file, so batches of around 100 pages per wakeup?). i.e. the fsync > IO wait appears to be racing with IO completion marking pages as > done. I simply cannot see how the above change would cause that, as > it was simply a change in the IO submission code that doesn't affect > overall size or shape of the IOs being submitted. Could this be the lack of blk plugs, which will cause us to complete too early?