Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp2933838pxb; Mon, 16 Nov 2020 00:45:29 -0800 (PST) X-Google-Smtp-Source: ABdhPJyQow6jPm71UxDc4fCpGUBwE2JugPKDsSV/lhSuMiwQs+LiR0uzMXDk0CATcUcQ0RjNd8QU X-Received: by 2002:a17:907:2175:: with SMTP id rl21mr14242916ejb.59.1605516328984; Mon, 16 Nov 2020 00:45:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605516328; cv=none; d=google.com; s=arc-20160816; b=fkhZ8erQN0XTrNIpjX+tBy2WbRfw8LHrYSUMp6X7sHuik94dng3KQTuUFMHbeSRhsO jLE7ZsQgb7wTClsdGTb5s2O69THiF97QKH1j4l+mtHuvA8umkPrTLFoeIi6WLGe3qZxZ 5mK6zYcUW1vRIUnI7qpjJphQBbMVA64APeIs52p3mlDqg/su/dN8t7UFVC5QjfBIKkXh ysQUVpN1gvhXYnIe0QhqB/7W+t6rtkSXGikHubyiNnxXpn93tJDaKG8ZYCFcOdjcnyT7 K/BDHAL3HnpYvEioijlG4VPhir9KuI+TtnAgvP0DMPz2oBXfCfK8rASf9iPLi43gyyfH KSfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=efmyc1CuOVg4ojQNr6kjjyi068x2OkeNRQvY6Ycc68k=; b=HCG7Z7LZxsoyuBlRcqaHQqv7NqND/mfQ4ChiWkmMtAJj+GnBsLcou1IqIqW6EbAznT mhAf4gxtyRu6MLF09XsCFg3FmFjRdIy4hMP5vxBhHZSiVELhd8433PRN/+kEiZZRbrlf pt1O/lAVtb8/gLDYo/bcQe9xmh10lgX0dDnU/yOV5AzxGHCO6vfiEIWKSo/QvqV8pgCk O3rbzslarNQIZtrXnCTNMzX+rasQs3F0udyzs7ZgJ0P38rGn4h/sHsDsQ0D57Ijg+8IZ MND4hWpWsEGcKHtlljTQ1AVctFLJ2jPNmSBCjHvDamj9wVgFzdzTuoYIKEm43qIhLJSA hC+A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=dVZkjDs6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dt15si11092004ejc.661.2020.11.16.00.45.06; Mon, 16 Nov 2020 00:45:28 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=dVZkjDs6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728138AbgKPIlj (ORCPT + 99 others); Mon, 16 Nov 2020 03:41:39 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:43611 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726620AbgKPIlj (ORCPT ); Mon, 16 Nov 2020 03:41:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1605516097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=efmyc1CuOVg4ojQNr6kjjyi068x2OkeNRQvY6Ycc68k=; b=dVZkjDs6Qyp4Q/jvS6xe4/EOQ0YD+1LeJ/lq8F6Q9Xu40j/eXyPNyeYmuXnYC6n4gNphlI 5Gz5G3ldRGLRe7nY/weXaB1lFJAqNBoSiGxNN208v7SnZDBnV1J8Lftt1PZrcfMsYxthSZ HT4+2u7P/Hl7D+6LYwDHFoXgJ4X3K1o= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-152-ZVE8-tV0M4Shj7XumfnGwA-1; Mon, 16 Nov 2020 03:41:33 -0500 X-MC-Unique: ZVE8-tV0M4Shj7XumfnGwA-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 44DD0809DD3; Mon, 16 Nov 2020 08:41:30 +0000 (UTC) Received: from T590 (ovpn-13-166.pek2.redhat.com [10.72.13.166]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 158BE5C5AF; Mon, 16 Nov 2020 08:41:18 +0000 (UTC) Date: Mon, 16 Nov 2020 16:41:13 +0800 From: Ming Lei To: Sagi Grimberg Cc: Jens Axboe , Rachit Agarwal , Christoph Hellwig , linux-block@vger.kernel.org, linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org, Keith Busch , Jaehyun Hwang , Qizhe Cai , Midhul Vuppalapati , Rachit Agarwal , Sagi Grimberg , Rachit Agarwal Subject: Re: [PATCH] iosched: Add i10 I/O Scheduler Message-ID: <20201116084113.GA40246@T590> References: <20201112140752.1554-1-rach4x0r@gmail.com> <5a954c4e-aa84-834d-7d04-0ce3545d45c9@kernel.dk> <10993ce4-7048-a369-ea44-adf445acfca7@grimberg.me> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Nov 13, 2020 at 01:36:16PM -0800, Sagi Grimberg wrote: > > > > But if you think this has a better home, I'm assuming that the guys > > > will be open to that. > > > > Also see the reply from Ming. It's a balancing act - don't want to add > > extra overhead to the core, but also don't want to carry an extra > > scheduler if the main change is really just variable dispatch batching. > > And since we already have a notion of that, seems worthwhile to explore > > that venue. > > I agree, > > The main difference is that this balancing is not driven from device > resource pressure, but rather from an assumption of device specific > optimization (and also with a specific optimization target), hence a > scheduler a user would need to opt-in seemed like a good compromise. > > But maybe Ming has some good ideas on a different way to add it.. Not yet, :-( It is one very good work to show that IO is improved with batching. One big question I am still not clear is that how NVMe-TCP performance( should be throughput according to 'Introduction' part of paper[1]) is improved much when batching IO is applied. Is it because network stack performs much well for transporting big chunk data? Or context switch overhead is reduced because 'Ringing the doorbell' implies worker queue scheduling, according to '2.4 Delayed Doorbells' of [1]. Or both? Or others? Do we have data wrt. how much improvement from each factor? Another question is that 'Introduction' of [1] part mentions that i10 is more for 'throughput-bound applications'. And 'at low loads, latencies may be high(within 1.7? of NVMe-over-RDMA latency over storage devices))', so i10 scheduler is primarily for throughput-bound applications? If yes, I'd suggest to add the words to commit log for helping people to review. Then we can avoid to consider IO latency sensitive usages(such as iopoll). [1] https://www.usenix.org/conference/nsdi20/presentation/hwang Thanks, Ming