Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp1395769ybt; Thu, 18 Jun 2020 07:46:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJze27WcGHklzS9rVUjgj1aE8k1XRfSxWpcd2JqnkPXT4x+SILt+3iqZbL8fS5axkiM8w0dl X-Received: by 2002:a05:6402:1776:: with SMTP id da22mr4549257edb.84.1592491600250; Thu, 18 Jun 2020 07:46:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592491600; cv=none; d=google.com; s=arc-20160816; b=X5JO/vn0WgCGXvvALbR0/y4FrHAHGC4FI61zQPurKX121b+VJRQPjFvQmLha40cAYb 22bPTOOhuyBtObsbdG+qPVBWE9i3D4xKTo+1fsp3u1uOCDs7HWD0OV8Qhy+kh8GS6Hbn ueCwINckJD7FMqmQYQVIupIrR5hDlnao0m3k/C0t7STXX/np4+J9Kr+1h2Ew9xWnd4hW GMjAk2sEy0kaTZQ3c89ZreRW+OvP0PCLBmLDS1+c3HxT8aFYZiuMyBHiucgHdow1IlzO 2LkxE+GscXLLMSLAZMQDldWGQaabz4ASNF2sxeBj3y/7gclfDKDXm8wlRUBGHLAN3h7y rfFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :reply-to:references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=aZaDFCszZJWwvw+YU15551W6DS/tp5Q0zZ/e2mzcPKg=; b=FtAk0JDll5uksyurEGIETg1Mv41TSfNhGfmTnlYhZC6fBAVJ8f/uNEK8c+FdZrQA/+ YV8PFB4lB76lHQhUQKZUE7ffFOYRRlGF6ZSQp7UNpfKQQwHU1RriNV7WQe9f0SNVyref WCIaLjDqONiBiCKRJAZtnYupWxU5Qm6lXQeQEVRXaufGSN15TadFveG109fEgVcPs5Om uSD11MXQ8gInJlTyhhsTdTbCEikpxXRoaHBehb0OR2K1LfiTbkw5Joswdi+xn4T0G1xE oTYVwWjnK6ZR52psp3RJxEQDujO4CQayIQyTknjUvSuunJiW1fvsph094QssiNztSacs gfnQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=yzp2+WvV; 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 j11si2169486ejv.117.2020.06.18.07.46.17; Thu, 18 Jun 2020 07:46:40 -0700 (PDT) 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=fail header.i=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=yzp2+WvV; 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 S1730972AbgFROoP (ORCPT + 99 others); Thu, 18 Jun 2020 10:44:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57348 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730938AbgFROoE (ORCPT ); Thu, 18 Jun 2020 10:44:04 -0400 Received: from mail-pl1-x643.google.com (mail-pl1-x643.google.com [IPv6:2607:f8b0:4864:20::643]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 16C1BC0613ED for ; Thu, 18 Jun 2020 07:44:03 -0700 (PDT) Received: by mail-pl1-x643.google.com with SMTP id j4so2530037plk.3 for ; Thu, 18 Jun 2020 07:44:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references:reply-to :mime-version:content-transfer-encoding; bh=aZaDFCszZJWwvw+YU15551W6DS/tp5Q0zZ/e2mzcPKg=; b=yzp2+WvVYDYAjxYEzGcL7PkavHxDy3cpr9qzW1IWcotTTR9f4VhesgN5dhZI94+PsU D9XrCxqsfO+3+KrzN5/i59EGbZklLXhJ8EEfRkcKjS+RSy9l3JJAAb3DNGy49QESvyup y+54KKaMpJCnfzL+F+KC8Nq7RiZ+0vIr9IiDsumf++0aVkCJenAnaKTtA3JP5ygXQhYB 2HbmH52rlEtjDxPlJY6OwsA0PBg77wgg7/2VGxIMl44vnzaycw7+hUNxlA6Vq9Gzvp1p BDytFguC2D8/8IQpvQ3NiTjxRjsGSXn+74N6mA5zAWSn0EOSGif2RsltVaUOkZ/y9GnI oyUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:reply-to:mime-version:content-transfer-encoding; bh=aZaDFCszZJWwvw+YU15551W6DS/tp5Q0zZ/e2mzcPKg=; b=oVnqlCB1l4aSWCFgH9+VJR0pixuq+QU1zsQlF6/61IQpQStIGNXcJaGetuLNRmpWOu 1KemfaVW0v0h1qI/AW6lqDm1Hby1ga4+fuiw9Vpuon9FpfI1aaM4GkH4N+6Q7On8m8CJ KCb6rdW75qkLhX7aSe5nUVP8nzs3+Rih5jaJJ6MiS/XDircMMMozSHmhTn1s2fbz4iwE YwKghemZIhp0BQRDcS+vqXkZympkSC750j2byTOzxsUPMsqrUTR0MMnOdp5o2eav4Ecy NMDuUh5VF9OJw+cPILH8nFUHa1Pmg1ViyvjeJYMI2zfO2n4CZf4fH191RQlDi/m/Vn/+ 6A5Q== X-Gm-Message-State: AOAM531HWSjDMJ/EduuZeFUshYaf4TiskfV1+9fpf60sur9xULRt1FJ3 DhovO3qeWX3pNlkQ6xXEMJ3s0g== X-Received: by 2002:a17:90b:915:: with SMTP id bo21mr4702163pjb.52.1592491442581; Thu, 18 Jun 2020 07:44:02 -0700 (PDT) Received: from x1.localdomain ([65.144.74.34]) by smtp.gmail.com with ESMTPSA id g9sm3127197pfm.151.2020.06.18.07.44.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Jun 2020 07:44:01 -0700 (PDT) From: Jens Axboe To: io-uring@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, akpm@linux-foundation.org, Jens Axboe Subject: [PATCH 02/15] io_uring: always plug for any number of IOs Date: Thu, 18 Jun 2020 08:43:42 -0600 Message-Id: <20200618144355.17324-3-axboe@kernel.dk> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200618144355.17324-1-axboe@kernel.dk> References: <20200618144355.17324-1-axboe@kernel.dk> Reply-To: "[PATCHSET v7 0/15]"@vger.kernel.org, Add@vger.kernel.org, support@vger.kernel.org, for@vger.kernel.org, async@vger.kernel.org, buffered@vger.kernel.org, reads@vger.kernel.org MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently we only plug if we're doing more than two request. We're going to be relying on always having the plug there to pass down information, so plug unconditionally. Signed-off-by: Jens Axboe --- fs/io_uring.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/fs/io_uring.c b/fs/io_uring.c index b14a8e6a0e15..ca78dd7c79da 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -676,7 +676,6 @@ struct io_kiocb { }; }; -#define IO_PLUG_THRESHOLD 2 #define IO_IOPOLL_BATCH 8 struct io_submit_state { @@ -5914,7 +5913,7 @@ static int io_init_req(struct io_ring_ctx *ctx, struct io_kiocb *req, static int io_submit_sqes(struct io_ring_ctx *ctx, unsigned int nr, struct file *ring_file, int ring_fd) { - struct io_submit_state state, *statep = NULL; + struct io_submit_state state; struct io_kiocb *link = NULL; int i, submitted = 0; @@ -5931,10 +5930,7 @@ static int io_submit_sqes(struct io_ring_ctx *ctx, unsigned int nr, if (!percpu_ref_tryget_many(&ctx->refs, nr)) return -EAGAIN; - if (nr > IO_PLUG_THRESHOLD) { - io_submit_state_start(&state, nr); - statep = &state; - } + io_submit_state_start(&state, nr); ctx->ring_fd = ring_fd; ctx->ring_file = ring_file; @@ -5949,14 +5945,14 @@ static int io_submit_sqes(struct io_ring_ctx *ctx, unsigned int nr, io_consume_sqe(ctx); break; } - req = io_alloc_req(ctx, statep); + req = io_alloc_req(ctx, &state); if (unlikely(!req)) { if (!submitted) submitted = -EAGAIN; break; } - err = io_init_req(ctx, req, sqe, statep); + err = io_init_req(ctx, req, sqe, &state); io_consume_sqe(ctx); /* will complete beyond this point, count as submitted */ submitted++; @@ -5982,8 +5978,7 @@ static int io_submit_sqes(struct io_ring_ctx *ctx, unsigned int nr, } if (link) io_queue_link_head(link); - if (statep) - io_submit_state_end(&state); + io_submit_state_end(&state); /* Commit SQ ring head once we've consumed and submitted all SQEs */ io_commit_sqring(ctx); -- 2.27.0