Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2126358imm; Mon, 28 May 2018 02:05:19 -0700 (PDT) X-Google-Smtp-Source: AB8JxZrer3PGSo5+UTOLOTYRqroQUh4Ouj66R4NaHGlYXXXodhhJENQXpEsW75Fdl0lDYm/Xqc6w X-Received: by 2002:a17:902:145:: with SMTP id 63-v6mr12871979plb.332.1527498319320; Mon, 28 May 2018 02:05:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527498319; cv=none; d=google.com; s=arc-20160816; b=N8xDgHnUC0dJUV85UZ148TZGmzCg09MAOMH9huYDycaLWakjns69as8pIdgbAL6tGx 2+E7Okj6GQDgVsOfVGd8NXz+RhuVdkrCQglytN+jXDtULd1M6puzGxylztRYfSlBg8kK jOfdGNUv9kZrwh+lT/xwKkezqgHVDr6WI80TcrcHr+gRgZauHzXugIQTHYEFFnO9lHG7 2JqFuBKiM9qvIDbNqYutfg5TBxxrV8vzsPPHnPOb8WtUor8DpyEW1xV1cD44Zlaznrok 09aCMfOnB/d9z8SbvBFao639brCzK3rztuVhA9PCIIKy/VDfMDGYQTyVwFops+w2o8qu TZ1A== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=LNqySth4KqJFMNLGd2UT4ptH0DB0Uxms0NW6H997e7E=; b=ztqDRZI8cRz+WrsRBQE6cahHO0NURKMdQW3f7z6499bv8nqr4DpaJx3viYucshi/oG MQVbFtRowUn/NHrO8v/vHnARX8tyxLYxL/WcYi3Qn6al/jAlOO7qVLyayffRKOQcEY0Y EGQ7CtIcXb4BS4l9WI0eUTq4nLMzKr2lJt4WSUjLHR604qp0+BZ/2S8+232xawXirzQV wzzZ5D9vY8P86siOX+RoEx4SkJxJPOyBx/2G3ive16qcGUfdZfb+k5Nksl3keP4sYkqC /JoiahEvMky+rVWGfXiY5zaUSjOat2h7YqsOM8CjssDkN4BA38R5nY1cz0lBcvjgTFI2 FRzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@lightnvm-io.20150623.gappssmtp.com header.s=20150623 header.b=VbYo8AjN; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 134-v6si2562012pgc.116.2018.05.28.02.05.04; Mon, 28 May 2018 02:05:19 -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=@lightnvm-io.20150623.gappssmtp.com header.s=20150623 header.b=VbYo8AjN; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754363AbeE1JCt (ORCPT + 99 others); Mon, 28 May 2018 05:02:49 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:40104 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754209AbeE1I7P (ORCPT ); Mon, 28 May 2018 04:59:15 -0400 Received: by mail-wm0-f67.google.com with SMTP id x2-v6so22679740wmh.5 for ; Mon, 28 May 2018 01:59:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lightnvm-io.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=LNqySth4KqJFMNLGd2UT4ptH0DB0Uxms0NW6H997e7E=; b=VbYo8AjNyWis++7N+lHxX3ezHIVBAJtSFvEWM3ZsmDaLT4tkq4nownxRE67Muh9aTC A2bPn38YOc1SUkyQsBUuJPvr2OIct9Uka7KH9TipJWTEgjgXXoNtoZ+T0Bdod6+cdFGu X8e1jC0iox84SsXXOXLYbTnwRbPd1djA1HXYaVUPtWVyrdJohxM4unaJlp/7FhbJYdoQ 8ENv6CPMq36Q/uT98ep8MElCwrQXXA3avj563lrLw501JsrDBS2Ea4YWyUOmUSZI9gtZ XDQNZczJhhyIs08X5SMn/vGTnXTyw7KNnW01Hw0KYVhVdsoBg14zuKf+iwANxCuGIxEz QWdA== 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:mime-version:content-transfer-encoding; bh=LNqySth4KqJFMNLGd2UT4ptH0DB0Uxms0NW6H997e7E=; b=D/5ihwtwZfC9IPN5bgAFnW7OCGTO28kL0RvuT+t4NZv5y/gNucJAFe19d95mUzZ6U2 6Gc7XkAFuGwnZwZW53f/9mnPRJ73BIp9kCgGQydP5yexcSielGrndqwbfq2EDfpBCJLm M7z33UjpX1m1ky4fWA7BmuNXxd5BjBPBeT1x1SM11oW8jjlJeC+TV+wRT7ML3LBL0LdA AW0CPyWUZCvzyMxdPY9sYN3Zz3pR58DtcDhfRaAQb+tjSUEG8aMn3dtt/LBBde7aIZ99 LHqaR/lKU8DRQ9wFI4Y/5YXC6tQY+qL1N1YuJ20eMbA65KRFmBLgqjm7UXnEFnTwxGdz rhbw== X-Gm-Message-State: ALKqPwdc5cG0YfHwGjxDJvbBOGOk7xOoS6iPeAsUbXFOSO02NlnIgA76 ErnyYZbg4yb+uJUhOQWVBFeuwQ== X-Received: by 2002:a2e:92ca:: with SMTP id k10-v6mr7677389ljh.1.1527497954182; Mon, 28 May 2018 01:59:14 -0700 (PDT) Received: from Macroninja.cnexlabs.com (95-166-82-66-cable.dk.customer.tdc.net. [95.166.82.66]) by smtp.gmail.com with ESMTPSA id u2-v6sm5777848lji.4.2018.05.28.01.59.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 28 May 2018 01:59:13 -0700 (PDT) From: =?UTF-8?q?Matias=20Bj=C3=B8rling?= To: axboe@fb.com Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, Marcin Dziegielewski , Igor Konopko , =?UTF-8?q?Matias=20Bj=C3=B8rling?= Subject: [GIT PULL 19/20] lightnvm: pblk: add possibility to set write buffer size manually Date: Mon, 28 May 2018 10:58:40 +0200 Message-Id: <20180528085841.26684-20-mb@lightnvm.io> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180528085841.26684-1-mb@lightnvm.io> References: <20180528085841.26684-1-mb@lightnvm.io> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Marcin Dziegielewski In some cases, users can want set write buffer size manually, e.g. to adjust it to specific workload. This patch provides the possibility to set write buffer size via module parameter feature. Signed-off-by: Marcin Dziegielewski Signed-off-by: Igor Konopko Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk-init.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.c index 0f277744266b..25aa1e73984f 100644 --- a/drivers/lightnvm/pblk-init.c +++ b/drivers/lightnvm/pblk-init.c @@ -20,6 +20,11 @@ #include "pblk.h" +unsigned int write_buffer_size; + +module_param(write_buffer_size, uint, 0644); +MODULE_PARM_DESC(write_buffer_size, "number of entries in a write buffer"); + static struct kmem_cache *pblk_ws_cache, *pblk_rec_cache, *pblk_g_rq_cache, *pblk_w_rq_cache; static DECLARE_RWSEM(pblk_lock); @@ -172,10 +177,15 @@ static int pblk_rwb_init(struct pblk *pblk) struct nvm_tgt_dev *dev = pblk->dev; struct nvm_geo *geo = &dev->geo; struct pblk_rb_entry *entries; - unsigned long nr_entries; + unsigned long nr_entries, buffer_size; unsigned int power_size, power_seg_sz; - nr_entries = pblk_rb_calculate_size(pblk->pgs_in_buffer); + if (write_buffer_size && (write_buffer_size > pblk->pgs_in_buffer)) + buffer_size = write_buffer_size; + else + buffer_size = pblk->pgs_in_buffer; + + nr_entries = pblk_rb_calculate_size(buffer_size); entries = vzalloc(nr_entries * sizeof(struct pblk_rb_entry)); if (!entries) -- 2.11.0