Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp1437902imm; Wed, 23 May 2018 16:27:15 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpYJ2vLdhWunss8j1TdJ4jh/u8uGlBvpGiKNqRaQJY2QzJYJD62savPWH89znBl9HvocmXb X-Received: by 2002:aa7:850f:: with SMTP id v15-v6mr4762835pfn.144.1527118035468; Wed, 23 May 2018 16:27:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527118035; cv=none; d=google.com; s=arc-20160816; b=zmTTib13oe4rKFnoNKhA07Y72O+tFvFcubLfjBPWqMTBGaYHOo8mWarPfJovjKq4k/ wqNZdtI7syw0vqCrg1lNRQ3RSL5xHmrzXUNzfjnnCjSWEBZE1twMhCxeXWkq7KF3d2y4 IwFgayoNhiWrj7+hi32M602QPW+v9NIcu2aKuZmFBaC8N/ZOV+yD1jq4qnvjjjvbfue5 3+v7PlKLDJ5njdv3wp/kMoK/iGPCKf549M+iw/FsMThSQm7hJVnHZfgab0E/hJje8ERc c9rC2xMWVJKxOvCAYOy7FRAUWm3F1gsS9I7hdsOdCVXlM8zmyTL8h0GT0VKtzQNtcfal 9PIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=GU9p/baGxN3mH5SNjh9i4iHTGs0GwAsCHt599XkBN9U=; b=AvreawZPhXXlFwdbqZ90T4joW+B4Uv33fhpj83mXhsgiHH5UK3b3x4ChoKAJTxV38q bJhthVAfHkn5ICMCl4ibpnbwIQO72Ji+79LOeKmuSZ55kZzOR2D77P5cnQ3+mkC3mHpa Mvvt9bLCqNM93tRJJUkrONazDrSSfME07errDnqEJDQ9bHe7BpK47gDEqIeSMzXOgOaV oCgijaeJWGIaG70rK1OQaSR59W6foSetMxGxolxysATMFophKKjWl5wtAhzeTJ9AX4/h s0XJEYyaEYhAmxwBv/kVjHSCO9d25LL/T0239fBbTl7jHUEbGY9vclneDZX4ux/iuw00 dPQQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=tEcu6ckp; 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=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c11-v6si15083668pgu.454.2018.05.23.16.27.00; Wed, 23 May 2018 16:27:15 -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=fail header.i=@gmail.com header.s=20161025 header.b=tEcu6ckp; 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=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935076AbeEWXZO (ORCPT + 99 others); Wed, 23 May 2018 19:25:14 -0400 Received: from mail-yb0-f195.google.com ([209.85.213.195]:44284 "EHLO mail-yb0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934671AbeEWXZL (ORCPT ); Wed, 23 May 2018 19:25:11 -0400 Received: by mail-yb0-f195.google.com with SMTP id s8-v6so7022338ybp.11 for ; Wed, 23 May 2018 16:25:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=GU9p/baGxN3mH5SNjh9i4iHTGs0GwAsCHt599XkBN9U=; b=tEcu6ckpc8QsPEMLvzIOuOZbKNefs4vYp14XaS/GUQBDQJvHZlm/V1/dHc6A8XSkfw zjyKhr4COqDFwk1wQkHqexnPrsppjJ58U37nzunGtUl0xl8dH0wivyAdktq8ZIRbzyBU dpbOlgdYvhNgYqLd87eOtElXCWgDrGhCMtjZsyuHVFO1JzD6Rj/rO6YsMLQKxE7Ds4BC lUZCzOYgSAE6RLx0jzE+COiHtBzsaRZDbFxwh7Q+mVQ13F9SjqB0PqRvzl+YenKYsI2H VMjAP1yJrkdhcMX0bk9e6FgXvP7QW4vmyEzUiZLAdgG1+SQvcz/7Eoob44X20ZwcNAia KlBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to:user-agent; bh=GU9p/baGxN3mH5SNjh9i4iHTGs0GwAsCHt599XkBN9U=; b=nU97er7zu6zQ5buM7CXqPNrdpi3x1nx+sUfO+zekuv+OUVTNhqkTWtq78RSYkdyKSF aN+REgGoBQ6QpPADbXkUPlqkZI+tbesvgrmwr3FIsPZRq+Uz4RkgP7yCK3n6A6SanUaV /0CwrlItS5SYviiU6ZJc8zTDapYNkdo+0Ni0a5oCjkizV6XVnhZ0JjylF3VdQIXppsMW O6NgXlswVeO5JNE8pvjQGgcVfNd/4QT2Gk5chYqtaWcCob7KNU86G5qoHAIQirqYUkIU cFjpvOqjUOiFc21sO/LLr8myAMOvX350nV3m3KsoSizKgLyDKS84o4P3QyNxSxtLwwm1 US3w== X-Gm-Message-State: ALKqPweuCJjhKR/M3p3FNOiM8Vb1SlKbCQfkgrHXzjtvLBx3wQpV2e9z B4ydzJpzSZufn/saRWD3Q0k= X-Received: by 2002:a5b:40c:: with SMTP id m12-v6mr2807460ybp.310.1527117911136; Wed, 23 May 2018 16:25:11 -0700 (PDT) Received: from localhost ([2620:10d:c091:180::1:e98a]) by smtp.gmail.com with ESMTPSA id i206-v6sm7272875ywe.74.2018.05.23.16.25.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 23 May 2018 16:25:10 -0700 (PDT) Date: Wed, 23 May 2018 16:25:08 -0700 From: Tejun Heo To: Jens Axboe Cc: linux-kernel@vger.kernel.org, "Paul E. McKenney" , Jan Kara , Andrew Morton , kernel-team@fb.com, Rik van Riel Subject: [PATCH] bdi: Increase the concurrecy level of cgwb_release_wq Message-ID: <20180523232508.GA1351649@devbig577.frc2.facebook.com> References: <20180523175632.GO1718769@devbig577.frc2.facebook.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180523175632.GO1718769@devbig577.frc2.facebook.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org cgwb_release_wq was added to isolate and limit the concurrency level of cgwb release work items. The max concurrency was set to 1 per CPU but we do want some level of concurrency as otherwise it ends up calling, through bdi_unregister(), synchronize_sched_expedited() back-to-back for each release work item. Let's allow them to bunch up a bit. Signed-off-by: Tejun Heo Suggested-by: Rik van Riel --- mm/backing-dev.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mm/backing-dev.c b/mm/backing-dev.c index 8fe3ebd..f9a2268 100644 --- a/mm/backing-dev.c +++ b/mm/backing-dev.c @@ -790,9 +790,10 @@ static int __init cgwb_init(void) /* * There can be many concurrent release work items overwhelming * system_wq. Put them in a separate wq and limit concurrency. - * There's no point in executing many of these in parallel. + * Allow some level of concurrency so that we can batch on + * synchronize_rcu_expedited() calls in bdi_unregister(). */ - cgwb_release_wq = alloc_workqueue("cgwb_release", 0, 1); + cgwb_release_wq = alloc_workqueue("cgwb_release", 0, 16); if (!cgwb_release_wq) return -ENOMEM;