Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp1992265ybe; Sat, 14 Sep 2019 05:56:16 -0700 (PDT) X-Google-Smtp-Source: APXvYqweNBHsHLlAJm3F8ikK+iCnHA4RJOoES7Ht80y0eE3SJCD27Gy6T0IR6pis0BCDmbcRIEjt X-Received: by 2002:a50:9625:: with SMTP id y34mr16027282eda.72.1568465776639; Sat, 14 Sep 2019 05:56:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568465776; cv=none; d=google.com; s=arc-20160816; b=T8m+8z5VPGg9Xlj3DSbseKPZRj9ELR+yy3amq/kcV86E833LgIBUiBo+JRTz08yKIt McZEWDFhRRyeJ0T7ayXOG5RwVPpFZePVpHFuAG4YATsnmdJs1Nj9Q6oorGYCL1ijZG0i hslEO4J+QLp0q1sj8LMUyUrNWSGEwt3B5L6cVX4zI5QVNpwZgG1wNusjfOSjVqTgvFza sGdQnMt4aiiDTMDDjyUAVp8uFEohH/ZriVV9kV9GssbLi6Ux/LvhdPfUu/OWz6j5ts4z 7eZGs/P7nmQ9e4HO2+7HLPCaRFbKyUgdD3ZzZEMV9tZHcFeeL0Tqkllv7S/RdUYGq62E OZiQ== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=ngm7w4qbHtlMJdNCG88CXh8nP0Oze5VBvf7zLp4iqzY=; b=E9pcfQgngP9zqb0g+dR9QX5/RJFc9O5BkFbuWKKejSX7ZQzj8EtZRh+KkyKy7CS9sY k8O+D9AQQzeiKzJklXF3JtaXCmYh3sHqfHmQpFvkcwIzvVgyiRMy0z2wc6jPbwnKEI6Q S+O14QsgFDEkAoGr1ndeqRraZ2x6fqrMOfWe8tlDqUTNasp/nq4llg1jTyqrKe1SGIgD 8Vfjjx83aUVzNU+0mxatk/298JKVhgRv87qk2BJ6vFpD+ciW+7/Dd5Zdl7EwHJZS7Wox Qn2ydSkgZIC/GtF8pJaFqcIPY4SvJHhC8hA6rTKKq9OX1hs9qZJKfp1gQiBvYzb0azvv LSEA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=DP53uxIj; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a9si18211962edv.158.2019.09.14.05.55.51; Sat, 14 Sep 2019 05:56:16 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=DP53uxIj; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2404097AbfIMW2S (ORCPT + 99 others); Fri, 13 Sep 2019 18:28:18 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:34631 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2404009AbfIMW2S (ORCPT ); Fri, 13 Sep 2019 18:28:18 -0400 Received: by mail-wm1-f65.google.com with SMTP id y135so2803982wmc.1; Fri, 13 Sep 2019 15:28:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ngm7w4qbHtlMJdNCG88CXh8nP0Oze5VBvf7zLp4iqzY=; b=DP53uxIj2f1aUHm3OCrqBEtN7gs1CRrFzj7FDpS9ztadgKHGf1V0+cNEfIR1pWgSIv WriydTHFQd3nCbKCk5BzXZg0Pl64lTywRmw7MUrH7yjPBFOgP5IfCVB8bY6hzrqorysi iM3J3cvizmdsOp5PZ6buV3ZNv5XbHa3Gn6UWg3xb5+Hx89VVezevfVNR8x+IT6ZwkXJo oFUTmyCDHZwVxxyfFimyyOY9slE0QVL2DwM0LHp5C/oUtP14JvnEm5wqwK7G/XmbMCjh bwVsDt1rr19lmsPtUzFUzVor1cf1zuL1MWHFjG+0hYuCZTz5vdfPvE3E6/x6kdOsB5ko FlHA== 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:mime-version :content-transfer-encoding; bh=ngm7w4qbHtlMJdNCG88CXh8nP0Oze5VBvf7zLp4iqzY=; b=TV2UfaSyngj4wrB0wQIjTD2gEaEGaR358+Nc5sron1iZuhFl2+v5jKkJm1tw3TK+il JQH1JVtWh2MPZ8dHebE7m4GiH+uJ0JCbvIFTYxj+FwqfVb8PkuOBOrU6GxsMj6VHDT9W StmSfziUIMLkCHoINcO6LLUT6E4XQUrnkhgQpaWW0d39obCqQNNj+4oYGmCsJP7L4SrE HKwyPJtwigHmlqu+SAIWsoaOG8QF+OsibZX9q0kC8Vq6ru+Ic8dav5qrfJ1g2y5lkSrs eKhBXaCeAvtigUkHVrazG1BmelA2N/x0pN0eq+A+0K9/NSdjMDjETpQ1OKY4hMHLG/7h 3c2g== X-Gm-Message-State: APjAAAXLSMmo6h73VVCTFlZe9L3kfmRVTRrm4+YlIXypUARAlHM/uHOo CqRvjI7sidHFQVl/Hsr0CI/ww/qitss= X-Received: by 2002:a05:600c:24d2:: with SMTP id 18mr5211248wmu.146.1568413696087; Fri, 13 Sep 2019 15:28:16 -0700 (PDT) Received: from localhost.localdomain ([109.126.151.137]) by smtp.gmail.com with ESMTPSA id d12sm3456107wme.33.2019.09.13.15.28.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Sep 2019 15:28:15 -0700 (PDT) From: "Pavel Begunkov (Silence)" To: Jens Axboe , Ingo Molnar , Peter Zijlstra , linux-block@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Pavel Begunkov Subject: [RFC PATCH 0/2] Optimise io_uring completion waiting Date: Sat, 14 Sep 2019 01:28:00 +0300 Message-Id: X-Mailer: git-send-email 2.22.0 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 From: Pavel Begunkov There could be a lot of overhead within generic wait_event_*() used for waiting for large number of completions. The patchset removes much of it by using custom wait event (wait_threshold). Synthetic test showed ~40% performance boost. (see patch 2) Pavel Begunkov (2): sched/wait: Add wait_threshold io_uring: Optimise cq waiting with wait_threshold fs/io_uring.c | 21 ++++++----- include/linux/wait_threshold.h | 64 ++++++++++++++++++++++++++++++++++ kernel/sched/Makefile | 2 +- kernel/sched/wait_threshold.c | 26 ++++++++++++++ 4 files changed, 103 insertions(+), 10 deletions(-) create mode 100644 include/linux/wait_threshold.h create mode 100644 kernel/sched/wait_threshold.c -- 2.22.0