Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp1470602pxb; Fri, 13 Nov 2020 13:39:09 -0800 (PST) X-Google-Smtp-Source: ABdhPJwPLaA5TiVZw2aj020wg4mkYx+4o4TbiRX0GYlhFiNjEea8fN0lxJ4TpuqGzQsHbRg5VjWC X-Received: by 2002:a50:ff05:: with SMTP id a5mr4764886edu.43.1605303549684; Fri, 13 Nov 2020 13:39:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605303549; cv=none; d=google.com; s=arc-20160816; b=xGC7y/LzgdmLwoFxo9IjEQGC7quXuJjp8l1X1MRhHu2cPjD5MJ4GXsbnCwhXmPV15Z BxcXr+XpFgQN4BfLRIlGA2XAGozyouJPv9+o/kOnTdlwNHScMLeMNF3Hl7JA3KBZKbqy HNMShaO6zl7YNiFiTZLhWx7ksh42X3oUVcrliw7vKe4GrHd85EYSj2rn3O0UoeKytXxB HzzpBsLqNcv9TtGoKbOoNCuLHJznrsFSke27qY7OyGxg0g+K4/2FAMqz/CW2GbA/6Jly qZ+tRVHcvCNu9eBO1vFfYK00QYJ9T4rVpqxpD0vDeXQKjFdaW7nPMbbN422t6eZR1tGW E+3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=7J5Rp08GL5X3H15jor7CE7t4jnfk1M9RUzFFtD2jiKs=; b=uFVKEwG5G3P5HmeeHWGdkgVZldeV8o8t7RB79njnf/iFuCl531uKZAPzpvi15/CEoV RF8loC5jdQAwxm91EKUFZDILYQUMLz+4TMV9RE1X7f2ufSfrashs/UjgzxKuVBCTTxRV GKcp6nRv9/MIc84iX7W/gJ1RgElFiWek/VQZQrJQL6xW9QVUsM34YLxXVy9Z4/Mro/oh ePnYX7lyOTYLepZ705vUKMwx3kaGk7xz370hsPl1Atx8Yoa5GsPGWm4obYGC9EHhFrDT F8+bac0eq8nkOwltJBQFE96zBWtGID3uk/d8b0oUM82yGRFPy7Gcu0nmzn4PH0vEDaKy xDbQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=Xce78mtO; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q14si6842605edb.353.2020.11.13.13.38.47; Fri, 13 Nov 2020 13:39:09 -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=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=Xce78mtO; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726774AbgKMVgx (ORCPT + 99 others); Fri, 13 Nov 2020 16:36:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42090 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726791AbgKMVgw (ORCPT ); Fri, 13 Nov 2020 16:36:52 -0500 Received: from mail-pg1-x543.google.com (mail-pg1-x543.google.com [IPv6:2607:f8b0:4864:20::543]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 66666C08C5F2 for ; Fri, 13 Nov 2020 13:26:53 -0800 (PST) Received: by mail-pg1-x543.google.com with SMTP id h16so4055148pgb.7 for ; Fri, 13 Nov 2020 13:26:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=7J5Rp08GL5X3H15jor7CE7t4jnfk1M9RUzFFtD2jiKs=; b=Xce78mtOzxG3MZwuIJ6qhBt9FLVIM6ylEG2N7m9qPfAKeCBzNXnKXpIoT7S1oqAebk DPc5vJTliZWgA1EnHQA+6VAoEKQN/NITCCn0yOx30u7w1/xl99+Clk/8pZnXBLBcqP4E 47uqMIb1Av42Km/ps04jAlp1BSHPz8mOl++EklM0DZKonYVsT0Eay+eRAM5QE5u5ll2W 5HlsDWzXXdsN88Z59eLHWxkHZrNT4urZnIXC/4BoRNFDKA/30Sh+xw5FgzPIuD3lULJK piJ/IsnPtsMeFjBPoggYPMc9bkvL7GyZroxnzvz61jvC198xGTGQ+u5s1Fexm6dmRbGZ GjzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=7J5Rp08GL5X3H15jor7CE7t4jnfk1M9RUzFFtD2jiKs=; b=USZi8EbWdy0iF9/dhjKXvi+1V4Pl8jaWqjIMTB5nQt1MRVGLGEgc+FBeZfLsU2bdn1 G04Lyxw2IESzlJq7wLtB4vrkiGw2CmI2Tpsml1tCAE3bnoYgzWc5Y0e0v/2YPwAngeNa dcRHvvuDkhxgCyIS0Tgr2RIiPaAgbO4vCjUa5zCv4TfQbuTg8BVXw1K3TS6v2g2JRdin VGMJeyKZMxEHb0PJYtDUu5UdQSbtDo6ouComt0aWSwgTkqdrF9AOMDZpl89jPVE9sibG ocg7ueiHs9ERC6pvAsHFL4+sEegfyUkRrcg6jiPpIRjxBmh+qYlhG3c7qF1j+bAuVaxS Y7NA== X-Gm-Message-State: AOAM533+nc6EqY8ripxJHQ6WO2qWhl0Jd77nukCEh61JLcYQEU2v1In2 oKa5FDSg4DdbHSHAzh2JO7U93w== X-Received: by 2002:a17:90b:4683:: with SMTP id ir3mr5040531pjb.212.1605302812924; Fri, 13 Nov 2020 13:26:52 -0800 (PST) Received: from [192.168.1.134] ([66.219.217.173]) by smtp.gmail.com with ESMTPSA id e22sm11517673pjh.45.2020.11.13.13.26.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 13 Nov 2020 13:26:52 -0800 (PST) Subject: Re: [PATCH] iosched: Add i10 I/O Scheduler To: Sagi Grimberg , Rachit Agarwal , Christoph Hellwig Cc: linux-block@vger.kernel.org, linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org, Keith Busch , Ming Lei , Jaehyun Hwang , Qizhe Cai , Midhul Vuppalapati , Rachit Agarwal , Sagi Grimberg , Rachit Agarwal References: <20201112140752.1554-1-rach4x0r@gmail.com> <5a954c4e-aa84-834d-7d04-0ce3545d45c9@kernel.dk> <10993ce4-7048-a369-ea44-adf445acfca7@grimberg.me> From: Jens Axboe Message-ID: Date: Fri, 13 Nov 2020 14:26:50 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <10993ce4-7048-a369-ea44-adf445acfca7@grimberg.me> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/13/20 2:23 PM, Sagi Grimberg wrote: > >>>> I haven't taken a close look at the code yet so far, but one quick note >>>> that patches like this should be against the branches for 5.11. In fact, >>>> this one doesn't even compile against current -git, as >>>> blk_mq_bio_list_merge is now called blk_bio_list_merge. >>> >>> Ugh, I guess that Jaehyun had this patch bottled up and didn't rebase >>> before submitting.. Sorry about that. >>> >>>> In any case, I did run this through some quick peak testing as I was >>>> curious, and I'm seeing about 20% drop in peak IOPS over none running >>>> this. Perf diff: >>>> >>>> 10.71% -2.44% [kernel.vmlinux] [k] read_tsc >>>> 2.33% -1.99% [kernel.vmlinux] [k] _raw_spin_lock >>> >>> You ran this with nvme? or null_blk? I guess neither would benefit >>> from this because if the underlying device will not benefit from >>> batching (at least enough for the extra cost of accounting for it) it >>> will be counter productive to use this scheduler. >> >> This is nvme, actual device. The initial posting could be a bit more >> explicit on the use case, it says: >> >> "For NVMe SSDs, the i10 I/O scheduler achieves ~60% improvements in >> terms of IOPS per core over "noop" I/O scheduler." >> >> which made me very skeptical, as it sounds like it's raw device claims. > > You are absolutely right, that needs to be fixed. > >> Does beg the question of why this is a new scheduler then. It's pretty >> basic stuff, something that could trivially just be added a side effect >> of the core (and in fact we have much of it already). Doesn't really seem >> to warrant a new scheduler at all. There isn't really much in there. > > Not saying it absolutely warrants a new one, and it could I guess sit in > the core, but this attempts to optimize for a specific metric while > trading-off others, which is exactly what I/O schedulers are for, > optimizing for a specific metric. > > Not sure we want to build something biases towards throughput on the > expense of latency into the block core. And, as mentioned this is not > well suited to all device types... > > 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. -- Jens Axboe